diff options
1015 files changed, 10803 insertions, 3425 deletions
diff --git a/doc/haskell-users-guide.md b/doc/haskell-users-guide.md index ce61295e5674..b981466bf2e0 100644 --- a/doc/haskell-users-guide.md +++ b/doc/haskell-users-guide.md @@ -647,6 +647,30 @@ command, i.e. by running: rm /nix/var/nix/manifests/* rm /nix/var/nix/channel-cache/* +### How to use the Haste Haskell-to-Javascript transpiler + +Open a shell with `haste-compiler` and `haste-cabal-install` (you don't actually need +`node`, but it can be useful to test stuff): + + $ nix-shell -p "haskellPackages.ghcWithPackages (self: with self; [haste-cabal-install haste-compiler])" -p nodejs + +You may not need the following step but if `haste-boot` fails to compile all the +packages it needs, this might do the trick + + $ haste-cabal update + +`haste-boot` builds a set of core libraries so that they can be used from Javascript +transpiled programs: + + $ haste-boot + +Transpile and run a "Hello world" program: + + $ echo 'module Main where main = putStrLn "Hello world"' > hello-world.hs + $ hastec --onexec hello-world.hs + $ node hello-world.js + Hello world + ### Builds on Darwin fail with `math.h` not found Users of GHC on Darwin have occasionally reported that builds fail, because the diff --git a/doc/manual.xml b/doc/manual.xml index 2b4f47aff1c8..de663fcd5b64 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -12,6 +12,7 @@ <xi:include href="introduction.xml" /> <xi:include href="quick-start.xml" /> <xi:include href="stdenv.xml" /> + <xi:include href="multiple-output.xml" /> <xi:include href="configuration.xml" /> <xi:include href="functions.xml" /> <xi:include href="meta.xml" /> diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml new file mode 100644 index 000000000000..1821861adf71 --- /dev/null +++ b/doc/multiple-output.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE chapter [ + <!ENTITY ndash "–"> <!-- @vcunat likes to use this one ;-) --> +]> +<chapter xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xml:id="chap-multiple-output"> + +<title>Multiple-output packages</title> + +<section><title>Introduction</title> + <para>The Nix language allows a derivation to produce multiple outputs, which is similar to what is utilized by other Linux distribution packaging systems. The outputs reside in separate nix store paths, so they can be mostly handled independently of each other, including passing to build inputs, garbage collection or binary substitution. The exception is that building from source always produces all the outputs.</para> + <para>The main motivation is to save disk space by reducing runtime closure sizes; consequently also sizes of substituted binaries get reduced. Splitting can be used to have more granular runtime dependencies, for example the typical reduction is to split away development-only files, as those are typically not needed during runtime. As a result, closure sizes of many packages can get reduced to a half or even much less.</para> + <note><para>The reduction effects could be instead achieved by building the parts in completely separate derivations. That would often additionally reduce build-time closures, but it tends to be much harder to write such derivations, as build systems typically assume all parts are being built at once. This compromise approach of single source package producing multiple binary packages is also utilized often by rpm and deb.</para></note> +</section> + +<section><title>Installing a split package</title> + <para>When installing a package via <varname>systemPackages</varname> or <command>nix-env</command> you have several options:</para> + <warning><para>Currently <command>nix-env</command> almost always installs all outputs until https://github.com/NixOS/nix/pull/815 gets merged.</para></warning> + <itemizedlist> + <listitem><para>You can install particular outputs explicitly, as each is available in the Nix language as an attribute of the package. The <varname>outputs</varname> attribute contains a list of output names.</para></listitem> + <listitem><para>You can let it use the default outputs. These are handled by <varname>meta.outputsToInstall</varname> attribute that contains a list of output names.</para> + <para>TODO: more about tweaking the attribute, etc.</para></listitem> + <listitem><para>NixOS provides configuration option <varname>environment.extraOutputsToInstall</varname> that allows adding extra outputs of <varname>environment.systemPackages</varname> atop the default ones. It's mainly meant for documentation and debug symbols, and it's also modified by specific options.</para> + <note><para>At this moment there is no similar configurability for packages installed by <command>nix-env</command>. You can still use approach from <xref linkend="sec-modify-via-packageOverrides" /> to override <varname>meta.outputsToInstall</varname> attributes, but that's a rather inconvenient way.</para></note> + </listitem> + </itemizedlist> +</section> + +<section><title>Using a split package</title> + <para>In the Nix language the individual outputs can be reached explicitly as attributes, e.g. <varname>coreutils.info</varname>, but the typical case is just using packages as build inputs.</para> + <para>When a multiple-output derivation gets into a build input of another derivation, the first output is added (<varname>.dev</varname> by convention) and also <varname>propagatedBuildOutputs</varname> of that package which by default contain <varname>$outputBin</varname> and <varname>$outputLib</varname>. (See <xref linkend="multiple-output-file-type-groups" />.)</para> +</section> + + +<section><title>Writing a split derivation</title> + <para>Here you find how to write a derivation that produces multiple outputs.</para> + <para>In nixpkgs there is a framework supporting multiple-output derivations. It tries to cover most cases by default behavior. You can find the source separated in <<filename>nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh</filename>>; it's relatively well-readable. The whole machinery is triggered by defining the <varname>outputs</varname> attribute to contain the list of desired output names (strings).</para> + <programlisting>outputs = [ "dev" "out" "bin" "doc" ];</programlisting> + <para>Often such a single line is enough. For each output an equally named environment variable is passed to the builder and contains the path in nix store for that output. By convention, the first output should usually be <varname>dev</varname>; typically you also want to have the main <varname>out</varname> output, as it catches any files that didn't get elsewhere.</para> + + <note><para>There is a special handling of the <varname>debug</varname> output, described at <xref linkend="stdenv-separateDebugInfo" />.</para></note> + + <section xml:id="multiple-output-file-type-groups"> + <title>File type groups</title> + <para>The support code currently recognizes some particular kinds of outputs and either instructs the build system of the package to put files into their desired outputs or it moves the files during the fixup phase. Each group of file types has an <varname>outputFoo</varname> variable specifying the output name where they should go. If that variable isn't defined by the derivation writer, it is guessed – a default output name is defined, falling back to other possibilities if the output isn't defined.</para> + <variablelist> + <varlistentry><term><varname> + $outputDev</varname></term><listitem><para> + is for development-only files. These include C(++) headers, pkg-config, cmake and aclocal files. They go to <varname>dev</varname> or <varname>out</varname> by default. + </para></listitem></varlistentry> + <varlistentry><term><varname> + $outputBin</varname></term><listitem><para> + is meant for user-facing binaries, typically residing in bin/. They go to <varname>bin</varname> or <varname>out</varname> by default. + </para></listitem></varlistentry> + <varlistentry><term><varname> + $outputLib</varname></term><listitem><para> + is meant for libraries, typically residing in <filename>lib/</filename> and <filename>libexec/</filename>. They go to <varname>lib</varname> or <varname>out</varname> by default. + </para></listitem></varlistentry> + <varlistentry><term><varname> + $outputDoc</varname></term><listitem><para> + is for user documentation, typically residing in <filename>share/doc/</filename>. It goes to <varname>doc</varname> or <varname>out</varname> by default. + </para></listitem></varlistentry> + <varlistentry><term><varname> + $outputDocdev</varname></term><listitem><para> + is for <emphasis>developer</emphasis> documentation. Currently we count gtk-doc and man3 pages in there. It goes to <varname>docdev</varname> or is removed (!) by default. This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users. + </para></listitem></varlistentry> + <varlistentry><term><varname> + $outputMan</varname></term><listitem><para> + is for man pages (except for section 3). They go to <varname>man</varname> or <varname>doc</varname> or <varname>$outputBin</varname> by default. + </para></listitem></varlistentry> + <varlistentry><term><varname> + $outputInfo</varname></term><listitem><para> + is for info pages. They go to <varname>info</varname> or <varname>doc</varname> or <varname>$outputMan</varname> by default. + </para></listitem></varlistentry> + </variablelist> + </section> + + <section><title>Common caveats</title> + <itemizedlist> + <listitem><para>Some configure scripts don't like some of the parameters passed by default by the framework, e.g. <literal>--docdir=/foo/bar</literal>. You can disable this by setting <literal>setOutputFlags = false;</literal>.</para></listitem> + <listitem><para>The outputs of a single derivation can retain references to each other, but note that circular references are not allowed. (And each strongly-connected component would act as a single output anyway.)</para></listitem> + <listitem><para>Most of split packages contain their core functionality in libraries. These libraries tend to refer to various kind of data that typically gets into <varname>out</varname>, e.g. locale strings, so there is often no advantage in separating the libraries into <varname>lib</varname>, as keeping them in <varname>out</varname> is easier.</para></listitem> + <listitem><para>Some packages have hidden assumptions on install paths, which complicates splitting.</para></listitem> + </itemizedlist> + </section> + +</section><!--Writing a split derivation--> + +</chapter> + diff --git a/doc/stdenv.xml b/doc/stdenv.xml index f8d9acb2fb0c..136e83ee0cda 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -956,7 +956,7 @@ following: phase.</para></listitem> </varlistentry> - <varlistentry> + <varlistentry xml:id="stdenv-separateDebugInfo"> <term><varname>separateDebugInfo</varname></term> <listitem><para>If set to <literal>true</literal>, the standard environment will enable debug information in C/C++ builds. After diff --git a/lib/customisation.nix b/lib/customisation.nix index 585495469b24..efe82d786600 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -129,7 +129,7 @@ rec { }; outputsList = map outputToAttrListElement outputs; - in commonAttrs.${drv.outputName}; + in commonAttrs // { outputUnspecified = true; }; /* Strip a derivation of all non-essential attributes, returning diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 9937912ec3e5..34f36a6b5163 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -81,6 +81,7 @@ copumpkin = "Dan Peebles <pumpkingod@gmail.com>"; coroa = "Jonas Hörsch <jonas@chaoflow.net>"; couchemar = "Andrey Pavlov <couchemar@yandex.ru>"; + cransom = "Casey Ransom <cransom@hubns.net>"; CrystalGamma = "Jona Stubbe <nixos@crystalgamma.de>"; cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>"; cwoac = "Oliver Matthews <oliver@codersoffortune.net>"; @@ -139,7 +140,6 @@ garrison = "Jim Garrison <jim@garrison.cc>"; gavin = "Gavin Rogers <gavin@praxeology.co.uk>"; gebner = "Gabriel Ebner <gebner@gebner.org>"; - gfxmonk = "Tim Cuthbertson <tim@gfxmonk.net>"; giogadi = "Luis G. Torres <lgtorres42@gmail.com>"; gleber = "Gleb Peregud <gleber.p@gmail.com>"; globin = "Robin Gloster <mail@glob.in>"; @@ -233,7 +233,9 @@ mirdhyn = "Merlin Gaillard <mirdhyn@gmail.com>"; modulistic = "Pablo Costa <modulistic@gmail.com>"; mog = "Matthew O'Gorman <mog-lists@rldn.net>"; + moretea = "Maarten Hoogendoorn <maarten@moretea.nl>"; mornfall = "Petr Ročkai <me@mornfall.net>"; + MostAwesomeDude = "Corbin Simpson <cds@corbinsimpson.com>"; MP2E = "Cray Elliott <MP2E@archlinux.us>"; msackman = "Matthew Sackman <matthew@wellquite.org>"; mschristiansen = "Mikkel Christiansen <mikkel@rheosystems.com>"; @@ -345,6 +347,7 @@ the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>"; theuni = "Christian Theune <ct@flyingcircus.io>"; thoughtpolice = "Austin Seipp <aseipp@pobox.com>"; + timbertson = "Tim Cuthbertson <tim@gfxmonk.net>"; titanous = "Jonathan Rudenberg <jonathan@titanous.com>"; tohl = "Tomas Hlavaty <tom@logand.com>"; tokudan = "Daniel Frank <git@danielfrank.net>"; diff --git a/lib/strings.nix b/lib/strings.nix index 01a6f181d038..f9145f34832e 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -98,7 +98,9 @@ rec { makeLibraryPath [ pkgs.openssl pkgs.zlib ] => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r/lib:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/lib" */ - makeLibraryPath = makeSearchPath "lib"; + makeLibraryPath = pkgs: makeSearchPath "lib" + # try to guess the right output of each pkg + (map (pkg: pkg.lib or (pkg.out or pkg)) pkgs); /* Construct a binary search path (such as $PATH) containing the binaries for a set of packages. diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index caba8fb1f4ad..fb3f1498a9b7 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -28,6 +28,7 @@ effect after you run <command>nixos-rebuild</command>.</para> <xi:include href="postgresql.xml" /> <xi:include href="gitlab.xml" /> <xi:include href="acme.xml" /> +<xi:include href="input-methods.xml" /> <!-- Apache; libvirtd virtualisation --> diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 746ddc071b6a..69da1f948829 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -44,7 +44,7 @@ let echo "for hints about the offending path)." exit 1 fi - ${libxslt}/bin/xsltproc \ + ${libxslt.bin}/bin/xsltproc \ --stringparam revision '${revision}' \ -o $out ${./options-to-docbook.xsl} $optionsXML ''; @@ -58,6 +58,7 @@ let cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml cp ${../../modules/services/misc/gitlab.xml} configuration/gitlab.xml cp ${../../modules/security/acme.xml} configuration/acme.xml + cp ${../../modules/i18n/input-method/default.xml} configuration/input-methods.xml ln -s ${optionsDocBook} options-db.xml echo "${version}" > version ''; diff --git a/nixos/doc/manual/release-notes/rl-1603.xml b/nixos/doc/manual/release-notes/rl-1603.xml index 1528c8a72463..620c3e362a65 100644 --- a/nixos/doc/manual/release-notes/rl-1603.xml +++ b/nixos/doc/manual/release-notes/rl-1603.xml @@ -63,11 +63,11 @@ has the following highlights:</para> <itemizedlist> <listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem> <listitem><para><literal>hardware/video/webcam/facetimehd.nix</literal></para></listitem> - <listitem><para><literal>i18n/inputMethod/default.nix</literal></para></listitem> - <listitem><para><literal>i18n/inputMethod/fcitx.nix</literal></para></listitem> - <listitem><para><literal>i18n/inputMethod/ibus.nix</literal></para></listitem> - <listitem><para><literal>i18n/inputMethod/nabi.nix</literal></para></listitem> - <listitem><para><literal>i18n/inputMethod/uim.nix</literal></para></listitem> + <listitem><para><literal>i18n/input-method/default.nix</literal></para></listitem> + <listitem><para><literal>i18n/input-method/fcitx.nix</literal></para></listitem> + <listitem><para><literal>i18n/input-method/ibus.nix</literal></para></listitem> + <listitem><para><literal>i18n/input-method/nabi.nix</literal></para></listitem> + <listitem><para><literal>i18n/input-method/uim.nix</literal></para></listitem> <listitem><para><literal>programs/fish.nix</literal></para></listitem> <listitem><para><literal>security/acme.nix</literal></para></listitem> <listitem><para><literal>security/audit.nix</literal></para></listitem> diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm index 8ac0a31f2875..37d6518fd8d7 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -543,7 +543,7 @@ sub waitForX { retry sub { my ($status, $out) = $self->execute("journalctl -b SYSLOG_IDENTIFIER=systemd | grep 'session opened'"); return 0 if $status != 0; - ($status, $out) = $self->execute("xwininfo -root > /dev/null 2>&1"); + ($status, $out) = $self->execute("[ -e /tmp/.X11-unix/X0 ]"); return 1 if $status == 0; } }); diff --git a/nixos/modules/config/debug-info.nix b/nixos/modules/config/debug-info.nix index a096a9809cee..17cb862d2916 100644 --- a/nixos/modules/config/debug-info.nix +++ b/nixos/modules/config/debug-info.nix @@ -38,7 +38,7 @@ with lib; # environment.pathsToLink, and we can't have both. #environment.pathsToLink = [ "/lib/debug/.build-id" ]; - environment.outputsToLink = + environment.extraOutputsToInstall = optional config.environment.enableDebugInfo "debug"; }; diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index e078a75b295c..1eaebe4b2bbd 100644 --- a/nixos/modules/config/fonts/fontconfig.nix +++ b/nixos/modules/config/fonts/fontconfig.nix @@ -236,7 +236,7 @@ with lib; # Versioned fontconfig > 2.10. Take shared fonts.conf from fontconfig. # Otherwise specify only font directories. environment.etc."fonts/${pkgs.fontconfig.configVersion}/fonts.conf".source = - "${pkgs.fontconfig}/etc/fonts/fonts.conf"; + "${pkgs.fontconfig.out}/etc/fonts/fonts.conf"; environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/00-nixos.conf".text = let diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index ca498ca499eb..0c4f4cbfa5c6 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -148,7 +148,7 @@ in "protocols".source = pkgs.iana_etc + "/etc/protocols"; # /etc/rpc: RPC program numbers. - "rpc".source = pkgs.glibc + "/etc/rpc"; + "rpc".source = pkgs.glibc.out + "/etc/rpc"; # /etc/hosts: Hostname-to-IP mappings. "hosts".text = diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 8b4ad796d0d5..642aedc3f242 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -26,7 +26,7 @@ let # are built with PulseAudio support (like KDE). clientConf = writeText "client.conf" '' autospawn=${if nonSystemWide then "yes" else "no"} - ${optionalString nonSystemWide "daemon-binary=${cfg.package}/bin/pulseaudio"} + ${optionalString nonSystemWide "daemon-binary=${cfg.package.out}/bin/pulseaudio"} ''; # Write an /etc/asound.conf that causes all ALSA applications to @@ -130,11 +130,11 @@ in { source = clientConf; }; - hardware.pulseaudio.configFile = mkDefault "${cfg.package}/etc/pulse/default.pa"; + hardware.pulseaudio.configFile = mkDefault "${cfg.package.out}/etc/pulse/default.pa"; } (mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; + environment.systemPackages = [ cfg.package.out ]; environment.etc = singleton { target = "asound.conf"; @@ -195,7 +195,7 @@ in { environment.PULSE_RUNTIME_PATH = stateDir; serviceConfig = { Type = "notify"; - ExecStart = "${cfg.package}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}"; + ExecStart = "${cfg.package.out}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}"; Restart = "on-failure"; }; }; diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index f510b58842e4..d7815324c4c4 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -73,11 +73,11 @@ in description = "List of directories to be symlinked in <filename>/run/current-system/sw</filename>."; }; - outputsToLink = mkOption { + extraOutputsToInstall = mkOption { type = types.listOf types.str; - default = []; - example = [ "doc" ]; - description = "List of package outputs to be symlinked into <filename>/run/current-system/sw</filename>."; + default = [ ]; + example = [ "doc" "info" "docdev" ]; + description = "List of additional package outputs to be symlinked into <filename>/run/current-system/sw</filename>."; }; }; @@ -123,9 +123,10 @@ in system.path = pkgs.buildEnv { name = "system-path"; paths = config.environment.systemPackages; - inherit (config.environment) pathsToLink outputsToLink; + inherit (config.environment) pathsToLink extraOutputsToInstall; ignoreCollisions = true; # !!! Hacky, should modularise. + # outputs TODO: note that the tools will often not be linked by default postBuild = '' if [ -x $out/bin/update-mime-database -a -w $out/share/mime ]; then diff --git a/nixos/modules/i18n/inputMethod/default.nix b/nixos/modules/i18n/input-method/default.nix index 7e6a25bfb084..7e6a25bfb084 100644 --- a/nixos/modules/i18n/inputMethod/default.nix +++ b/nixos/modules/i18n/input-method/default.nix diff --git a/nixos/modules/i18n/input-method/default.xml b/nixos/modules/i18n/input-method/default.xml new file mode 100644 index 000000000000..c55ac1ec2456 --- /dev/null +++ b/nixos/modules/i18n/input-method/default.xml @@ -0,0 +1,131 @@ +<chapter xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude" + version="5.0" + xml:id="module-services-input-methods"> + +<title>Input Methods</title> + +<para>Input methods are an operating system component that allows any data, such + as keyboard strokes or mouse movements, to be received as input. In this way + users can enter characters and symbols not found on their input devices. Using + an input method is obligatory for any language that has more graphemes than + there are keys on the keyboard.</para> + +<para>The following input methods are available in NixOS:</para> + +<itemizedlist> + <listitem><para>IBus: The intelligent input bus.</para></listitem> + <listitem><para>Fcitx: A customizable lightweight input + method.</para></listitem> + <listitem><para>Nabi: A Korean input method based on XIM.</para></listitem> + <listitem><para>Uim: The universal input method, is a library with a XIM + bridge.</para></listitem> +</itemizedlist> + +<section><title>IBus</title> + +<para>IBus is an Intelligent Input Bus. It provides full featured and user + friendly input method user interface.</para> + +<para>The following snippet can be used to configure IBus:</para> + +<programlisting> +i18n.inputMethod = { + enabled = "ibus"; + ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ]; +}; +</programlisting> + +<para><literal>i18n.inputMethod.ibus.engines</literal> is optional and can be + used to add extra IBus engines.</para> + +<para>Available extra IBus engines are:</para> + +<itemizedlist> + <listitem><para>Anthy (<literal>ibus-engines.anthy</literal>): Anthy is a + system for Japanese input method. It converts Hiragana text to Kana Kanji + mixed text.</para></listitem> + <listitem><para>Hangul (<literal>ibus-engines.hangul</literal>): Korean input + method.</para></listitem> + <listitem><para>m17n (<literal>ibus-engines.m17n</literal>): m17n is an input + method that uses input methods and corresponding icons in the m17n + database.</para></listitem> + <listitem><para>mozc (<literal>ibus-engines.mozc</literal>): A Japanese input + method from Google.</para></listitem> + <listitem><para>Table (<literal>ibus-engines.table</literal>): An input method + that load tables of input methods.</para></listitem> + <listitem><para>table-others (<literal>ibus-engines.table-others</literal>): + Various table-based input methods.</para></listitem> +</itemizedlist> +</section> + +<section><title>Fcitx</title> + +<para>Fcitx is an input method framework with extension support. It has three + built-in Input Method Engine, Pinyin, QuWei and Table-based input + methods.</para> +<para>The following snippet can be used to configure Fcitx:</para> + +<programlisting> +i18n.inputMethod = { + enabled = "fcitx"; + fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ]; +}; +</programlisting> + +<para><literal>i18n.inputMethod.fcitx.engines</literal> is optional and can be + used to add extra Fcitx engines.</para> + +<para>Available extra Fcitx engines are:</para> + +<itemizedlist> + <listitem><para>Anthy (<literal>fcitx-engines.anthy</literal>): Anthy is a + system for Japanese input method. It converts Hiragana text to Kana Kanji + mixed text.</para></listitem> + <listitem><para>Chewing (<literal>fcitx-engines.chewing</literal>): Chewing is + an intelligent Zhuyin input method. It is one of the most popular input + methods among Traditional Chinese Unix users.</para></listitem> + <listitem><para>Hangul (<literal>fcitx-engines.hangul</literal>): Korean input + method.</para></listitem> + <listitem><para>m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input + method that uses input methods and corresponding icons in the m17n + database.</para></listitem> + <listitem><para>mozc (<literal>fcitx-engines.mozc</literal>): A Japanese input + method from Google.</para></listitem> + <listitem><para>table-others (<literal>fcitx-engines.table-others</literal>): + Various table-based input methods.</para></listitem> +</itemizedlist> +</section> + +<section><title>Nabi</title> + +<para>Nabi is an easy to use Korean X input method. It allows you to enter + phonetic Korean characters (hangul) and pictographic Korean characters + (hanja).</para> +<para>The following snippet can be used to configure Nabi:</para> + +<programlisting> +i18n.inputMethod = { + enabled = "nabi"; +}; +</programlisting> +</section> + +<section><title>Uim</title> + +<para>Uim (short for "universal input method") is a multilingual input method + framework. Applications can use it through so-called bridges.</para> +<para>The following snippet can be used to configure uim:</para> + +<programlisting> +i18n.inputMethod = { + enabled = "uim"; +}; +</programlisting> + +<para>Note: The <literal>i18n.inputMethod.uim.toolbar</literal> option can be + used to choose uim toolbar.</para> + +</section> +</chapter> diff --git a/nixos/modules/i18n/inputMethod/fcitx.nix b/nixos/modules/i18n/input-method/fcitx.nix index 8e31743504f1..8e31743504f1 100644 --- a/nixos/modules/i18n/inputMethod/fcitx.nix +++ b/nixos/modules/i18n/input-method/fcitx.nix diff --git a/nixos/modules/i18n/inputMethod/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix index bb80f43634d3..bb80f43634d3 100644 --- a/nixos/modules/i18n/inputMethod/ibus.nix +++ b/nixos/modules/i18n/input-method/ibus.nix diff --git a/nixos/modules/i18n/inputMethod/nabi.nix b/nixos/modules/i18n/input-method/nabi.nix index c6708365effa..c6708365effa 100644 --- a/nixos/modules/i18n/inputMethod/nabi.nix +++ b/nixos/modules/i18n/input-method/nabi.nix diff --git a/nixos/modules/i18n/inputMethod/uim.nix b/nixos/modules/i18n/input-method/uim.nix index f8a3e560656d..f8a3e560656d 100644 --- a/nixos/modules/i18n/inputMethod/uim.nix +++ b/nixos/modules/i18n/input-method/uim.nix diff --git a/nixos/modules/installer/tools/auto-upgrade.nix b/nixos/modules/installer/tools/auto-upgrade.nix index 2da330f9b571..79ccb5c3d18a 100644 --- a/nixos/modules/installer/tools/auto-upgrade.nix +++ b/nixos/modules/installer/tools/auto-upgrade.nix @@ -78,7 +78,7 @@ let cfg = config.system.autoUpgrade; in HOME = "/root"; }; - path = [ pkgs.gnutar pkgs.xz config.nix.package ]; + path = [ pkgs.gnutar pkgs.xz.bin config.nix.package ]; script = '' ${config.system.build.nixos-rebuild}/bin/nixos-rebuild switch ${toString cfg.flags} diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index d3005cdfd6f7..8e75f8d3c40a 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -474,7 +474,7 @@ my $hwConfig = <<EOF; boot.kernelModules = [$kernelModules ]; boot.extraModulePackages = [$modulePackages ]; $fsAndSwap - nix.maxJobs = $cpus; + nix.maxJobs = lib.mkDefault $cpus; ${\join "", (map { " $_\n" } (uniq @attrs))}} EOF diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 3f2c735b2216..c3bade2ee6b9 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -260,6 +260,7 @@ hydra-www = 236; syncthing = 237; mfi = 238; + caddy = 239; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -491,6 +492,7 @@ radicale = 234; syncthing = 237; #mfi = 238; # unused + caddy = 239; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 19c8db1039b6..a23e787bd08e 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -41,11 +41,11 @@ ./hardware/video/nvidia.nix ./hardware/video/ati.nix ./hardware/video/webcam/facetimehd.nix - ./i18n/inputMethod/default.nix - ./i18n/inputMethod/fcitx.nix - ./i18n/inputMethod/ibus.nix - ./i18n/inputMethod/nabi.nix - ./i18n/inputMethod/uim.nix + ./i18n/input-method/default.nix + ./i18n/input-method/fcitx.nix + ./i18n/input-method/ibus.nix + ./i18n/input-method/nabi.nix + ./i18n/input-method/uim.nix ./installer/tools/auto-upgrade.nix ./installer/tools/nixos-checkout.nix ./installer/tools/tools.nix @@ -434,6 +434,7 @@ ./services/ttys/kmscon.nix ./services/web-apps/pump.io.nix ./services/web-servers/apache-httpd/default.nix + ./services/web-servers/caddy.nix ./services/web-servers/fcgiwrap.nix ./services/web-servers/jboss/default.nix ./services/web-servers/lighttpd/cgit.nix diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index b8057cadce25..20a1f7f1ed8c 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -35,7 +35,7 @@ # Tools to create / manipulate filesystems. pkgs.ntfsprogs # for resizing NTFS partitions pkgs.dosfstools - pkgs.xfsprogs + pkgs.xfsprogs.bin pkgs.jfsutils pkgs.f2fs-tools diff --git a/nixos/modules/programs/man.nix b/nixos/modules/programs/man.nix index b28506538049..201144ccb451 100644 --- a/nixos/modules/programs/man.nix +++ b/nixos/modules/programs/man.nix @@ -23,7 +23,7 @@ with lib; environment.pathsToLink = [ "/share/man" ]; - environment.outputsToLink = [ "man" ]; + environment.extraOutputsToInstall = [ "man" ]; }; diff --git a/nixos/modules/programs/xfs_quota.nix b/nixos/modules/programs/xfs_quota.nix index 90b6304fa999..648fd9a8a94f 100644 --- a/nixos/modules/programs/xfs_quota.nix +++ b/nixos/modules/programs/xfs_quota.nix @@ -89,8 +89,8 @@ in nameValuePair "xfs_quota-${name}" { description = "Setup xfs_quota for project ${name}"; script = '' - ${pkgs.xfsprogs}/bin/xfs_quota -x -c 'project -s ${name}' ${opts.fileSystem} - ${pkgs.xfsprogs}/bin/xfs_quota -x -c 'limit -p ${limitOptions opts} ${name}' ${opts.fileSystem} + ${pkgs.xfsprogs.bin}/bin/xfs_quota -x -c 'project -s ${name}' ${opts.fileSystem} + ${pkgs.xfsprogs.bin}/bin/xfs_quota -x -c 'limit -p ${limitOptions opts} ${name}' ${opts.fileSystem} ''; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/security/apparmor-suid.nix b/nixos/modules/security/apparmor-suid.nix index b89b379ae666..d766f6badfc7 100644 --- a/nixos/modules/security/apparmor-suid.nix +++ b/nixos/modules/security/apparmor-suid.nix @@ -28,9 +28,9 @@ with lib; capability setuid, network inet raw, - ${pkgs.glibc}/lib/*.so mr, - ${pkgs.libcap}/lib/libcap.so* mr, - ${pkgs.attr}/lib/libattr.so* mr, + ${pkgs.glibc.out}/lib/*.so mr, + ${pkgs.libcap.out}/lib/libcap.so* mr, + ${pkgs.attr.out}/lib/libattr.so* mr, ${pkgs.iputils}/bin/ping mixr, /var/setuid-wrappers/ping.real r, diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix index 95b659d96f0f..507f81bbf073 100644 --- a/nixos/modules/security/polkit.nix +++ b/nixos/modules/security/polkit.nix @@ -59,9 +59,9 @@ in config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.polkit ]; + environment.systemPackages = [ pkgs.polkit.bin pkgs.polkit.out ]; - systemd.packages = [ pkgs.polkit ]; + systemd.packages = [ pkgs.polkit.out ]; systemd.services.polkit.restartTriggers = [ config.system.path ]; systemd.services.polkit.unitConfig.X-StopIfChanged = false; @@ -79,7 +79,7 @@ in ${cfg.extraConfig} ''; #TODO: validation on compilation (at least against typos) - services.dbus.packages = [ pkgs.polkit ]; + services.dbus.packages = [ pkgs.polkit.out ]; security.pam.services.polkit-1 = {}; @@ -90,7 +90,7 @@ in owner = "root"; group = "root"; setuid = true; - source = "${pkgs.polkit}/lib/polkit-1/polkit-agent-helper-1"; + source = "${pkgs.polkit.out}/lib/polkit-1/polkit-agent-helper-1"; } ]; diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index 2a289dc402ce..7d69f9b1183d 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -8,12 +8,12 @@ let setuidWrapper = pkgs.stdenv.mkDerivation { name = "setuid-wrapper"; - buildCommand = '' + unpackPhase = "true"; + installPhase = '' mkdir -p $out/bin cp ${./setuid-wrapper.c} setuid-wrapper.c gcc -Wall -O2 -DWRAPPER_DIR=\"${wrapperDir}\" \ setuid-wrapper.c -o $out/bin/setuid-wrapper - strip -S $out/bin/setuid-wrapper ''; }; diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index cfb1cd773c7f..6fd39e68b1d9 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -161,11 +161,11 @@ in { ''; postStart = '' - until ${pkgs.curl}/bin/curl -s -L ${cfg.listenAddress}:${toString cfg.port}${cfg.prefix} ; do + until ${pkgs.curl.bin}/bin/curl -s -L ${cfg.listenAddress}:${toString cfg.port}${cfg.prefix} ; do sleep 10 done while true ; do - index=`${pkgs.curl}/bin/curl -s -L ${cfg.listenAddress}:${toString cfg.port}${cfg.prefix}` + index=`${pkgs.curl.bin}/bin/curl -s -L ${cfg.listenAddress}:${toString cfg.port}${cfg.prefix}` if [[ !("$index" =~ 'Please wait while Jenkins is restarting' || "$index" =~ 'Please wait while Jenkins is getting ready to work') ]]; then exit 0 diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix index 6fd901a00559..9e86559dda04 100644 --- a/nixos/modules/services/databases/openldap.nix +++ b/nixos/modules/services/databases/openldap.nix @@ -87,7 +87,7 @@ in mkdir -p ${cfg.dataDir} chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} ''; - serviceConfig.ExecStart = "${openldap}/libexec/slapd -u ${cfg.user} -g ${cfg.group} -d 0 -f ${configFile}"; + serviceConfig.ExecStart = "${openldap.out}/libexec/slapd -u ${cfg.user} -g ${cfg.group} -d 0 -f ${configFile}"; }; users.extraUsers.openldap = diff --git a/nixos/modules/services/desktops/gnome3/gvfs.nix b/nixos/modules/services/desktops/gnome3/gvfs.nix index c4f41a6125c7..a07cdadbb12b 100644 --- a/nixos/modules/services/desktops/gnome3/gvfs.nix +++ b/nixos/modules/services/desktops/gnome3/gvfs.nix @@ -37,7 +37,7 @@ in services.dbus.packages = [ gnome3.gvfs ]; - services.udev.packages = [ pkgs.libmtp ]; + services.udev.packages = [ pkgs.libmtp.bin ]; }; diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix index e267aeee030c..8e883ed7775f 100644 --- a/nixos/modules/services/hardware/udev.nix +++ b/nixos/modules/services/hardware/udev.nix @@ -72,7 +72,7 @@ let run_progs=$(grep -v '^[[:space:]]*#' $out/* | grep 'RUN+="[^/$]' | sed -e 's/.*RUN+="\([^ "]*\)[ "].*/\1/' | uniq) for i in $import_progs $run_progs; do - if [[ ! -x ${pkgs.udev}/lib/udev/$i && ! $i =~ socket:.* ]]; then + if [[ ! -x ${udev}/lib/udev/$i && ! $i =~ socket:.* ]]; then echo "FAIL" echo "$i is called in udev rules but not installed by udev" exit 1 diff --git a/nixos/modules/services/hardware/upower.nix b/nixos/modules/services/hardware/upower.nix index 739d76fbf1f5..2198842a4511 100644 --- a/nixos/modules/services/hardware/upower.nix +++ b/nixos/modules/services/hardware/upower.nix @@ -51,7 +51,7 @@ in systemd.services.upower = { description = "Power Management Daemon"; - path = [ pkgs.glib ]; # needed for gdbus + path = [ pkgs.glib.out ]; # needed for gdbus serviceConfig = { Type = "dbus"; BusName = "org.freedesktop.UPower"; diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix index 0a0e160a7cc3..add339f9bdfe 100644 --- a/nixos/modules/services/misc/docker-registry.nix +++ b/nixos/modules/services/misc/docker-registry.nix @@ -65,7 +65,7 @@ in { }; postStart = '' - until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.listenAddress}:${toString cfg.port}/'; do + until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.listenAddress}:${toString cfg.port}/'; do sleep 1; done ''; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index e079a5d80d4c..911f79e5756a 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -358,7 +358,7 @@ in systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ]; systemd.services.nix-daemon = - { path = [ nix pkgs.openssl pkgs.utillinux config.programs.ssh.package ] + { path = [ nix pkgs.openssl.bin pkgs.utillinux config.programs.ssh.package ] ++ optionals cfg.distributedBuilds [ pkgs.gzip ]; environment = cfg.envVars diff --git a/nixos/modules/services/misc/subsonic.nix b/nixos/modules/services/misc/subsonic.nix index 020d53a481de..c1ebe418f727 100644 --- a/nixos/modules/services/misc/subsonic.nix +++ b/nixos/modules/services/misc/subsonic.nix @@ -97,7 +97,7 @@ in transcoders = mkOption { type = types.listOf types.path; - default = [ "${pkgs.ffmpeg}/bin/ffmpeg" ]; + default = [ "${pkgs.ffmpeg.bin}/bin/ffmpeg" ]; description = '' List of paths to transcoder executables that should be accessible from Subsonic. Symlinks will be created to each executable inside diff --git a/nixos/modules/services/misc/svnserve.nix b/nixos/modules/services/misc/svnserve.nix index 37dd133e137d..c74befac749d 100644 --- a/nixos/modules/services/misc/svnserve.nix +++ b/nixos/modules/services/misc/svnserve.nix @@ -38,7 +38,7 @@ in after = [ "network-interfaces.target" ]; wantedBy = [ "multi-user.target" ]; preStart = "mkdir -p ${cfg.svnBaseDir}"; - script = "${pkgs.subversion}/bin/svnserve -r ${cfg.svnBaseDir} -d --foreground --pid-file=/var/run/svnserve.pid"; + script = "${pkgs.subversion.out}/bin/svnserve -r ${cfg.svnBaseDir} -d --foreground --pid-file=/var/run/svnserve.pid"; }; }; } diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix index 425e0ee9230f..a67df158be47 100644 --- a/nixos/modules/services/monitoring/cadvisor.nix +++ b/nixos/modules/services/monitoring/cadvisor.nix @@ -71,7 +71,7 @@ in { after = [ "network.target" "docker.service" "influxdb.service" ]; postStart = mkBefore '' - until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.listenAddress}:${toString cfg.port}/containers/'; do + until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.listenAddress}:${toString cfg.port}/containers/'; do sleep 1; done ''; diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 7104a5796f76..e50728aff8f8 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -509,7 +509,7 @@ in { }; in "${aenv}/${pkgs.python.sitePackages}"; GRAPHITE_API_CONFIG = graphiteApiConfig; - LD_LIBRARY_PATH = "${pkgs.cairo}/lib"; + LD_LIBRARY_PATH = "${pkgs.cairo.out}/lib"; }; serviceConfig = { ExecStart = '' diff --git a/nixos/modules/services/network-filesystems/tahoe.nix b/nixos/modules/services/network-filesystems/tahoe.nix index ab441339a560..d4b6c05e9432 100644 --- a/nixos/modules/services/network-filesystems/tahoe.nix +++ b/nixos/modules/services/network-filesystems/tahoe.nix @@ -26,6 +26,15 @@ in The port on which the introducer will listen. ''; }; + tub.location = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The external location that the introducer should listen on. + + If specified, the port should be included. + ''; + }; package = mkOption { default = pkgs.tahoelafs; defaultText = "pkgs.tahoelafs"; @@ -60,6 +69,18 @@ in system to listen on a different port. ''; }; + tub.location = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The external location that the node should listen on. + + This is the setting to tweak if there are multiple interfaces + and you want to alter which interface Tahoe is advertising. + + If specified, the port should be included. + ''; + }; web.port = mkOption { default = 3456; type = types.int; @@ -144,6 +165,8 @@ in [node] nickname = ${settings.nickname} tub.port = ${toString settings.tub.port} + ${optionalString (settings.tub.location != null) + "tub.location = ${settings.tub.location}"} ''; }); # Actually require Tahoe, so that we will have it installed. @@ -209,6 +232,8 @@ in [node] nickname = ${settings.nickname} tub.port = ${toString settings.tub.port} + ${optionalString (settings.tub.location != null) + "tub.location = ${settings.tub.location}"} # This is a Twisted endpoint. Twisted Web doesn't work on # non-TCP. ~ C. web.port = tcp:${toString settings.web.port} diff --git a/nixos/modules/services/networking/dnscrypt-proxy.nix b/nixos/modules/services/networking/dnscrypt-proxy.nix index 886bfc30468e..61305f5a755e 100644 --- a/nixos/modules/services/networking/dnscrypt-proxy.nix +++ b/nixos/modules/services/networking/dnscrypt-proxy.nix @@ -151,7 +151,7 @@ in /etc/group r, ${config.environment.etc."nsswitch.conf".source} r, - ${pkgs.glibc}/lib/*.so mr, + ${pkgs.glibc.out}/lib/*.so mr, ${pkgs.tzdata}/share/zoneinfo/** r, network inet stream, @@ -159,12 +159,12 @@ in network inet dgram, network inet6 dgram, - ${pkgs.gcc.cc}/lib/libssp.so.* mr, - ${pkgs.libsodium}/lib/libsodium.so.* mr, + ${pkgs.gcc.cc.lib}/lib/libssp.so.* mr, + ${pkgs.libsodium.out}/lib/libsodium.so.* mr, ${pkgs.systemd}/lib/libsystemd.so.* mr, - ${pkgs.xz}/lib/liblzma.so.* mr, - ${pkgs.libgcrypt}/lib/libgcrypt.so.* mr, - ${pkgs.libgpgerror}/lib/libgpg-error.so.* mr, + ${pkgs.xz.out}/lib/liblzma.so.* mr, + ${pkgs.libgcrypt.out}/lib/libgcrypt.so.* mr, + ${pkgs.libgpgerror.out}/lib/libgpg-error.so.* mr, ${pkgs.libcap}/lib/libcap.so.* mr, ${pkgs.lz4}/lib/liblz4.so.* mr, ${pkgs.attr}/lib/libattr.so.* mr, diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix index 15ec9be80121..0cbf57314c4b 100644 --- a/nixos/modules/services/networking/i2pd.nix +++ b/nixos/modules/services/networking/i2pd.nix @@ -8,7 +8,7 @@ let homeDir = "/var/lib/i2pd"; - extip = "EXTIP=\$(${pkgs.curl}/bin/curl -sf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')"; + extip = "EXTIP=\$(${pkgs.curl.bin}/bin/curl -sf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')"; toYesNo = b: if b then "yes" else "no"; diff --git a/nixos/modules/services/networking/nix-serve.nix b/nixos/modules/services/networking/nix-serve.nix index 880a1d361dfe..8f6881441cf7 100644 --- a/nixos/modules/services/networking/nix-serve.nix +++ b/nixos/modules/services/networking/nix-serve.nix @@ -50,7 +50,7 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = [ config.nix.package pkgs.bzip2 ]; + path = [ config.nix.package pkgs.bzip2.bin ]; environment.NIX_REMOTE = "daemon"; environment.NIX_SECRET_KEY_FILE = cfg.secretKeyFile; diff --git a/nixos/modules/services/networking/shout.nix b/nixos/modules/services/networking/shout.nix index f069fe7bec96..3664c2857739 100644 --- a/nixos/modules/services/networking/shout.nix +++ b/nixos/modules/services/networking/shout.nix @@ -6,6 +6,21 @@ let cfg = config.services.shout; shoutHome = "/var/lib/shout"; + defaultConfig = pkgs.runCommand "config.js" {} '' + EDITOR=true ${pkgs.shout}/bin/shout config --home $PWD + mv config.js $out + ''; + + finalConfigFile = if (cfg.configFile != null) then cfg.configFile else '' + var _ = require('${pkgs.shout}/lib/node_modules/shout/node_modules/lodash') + + module.exports = _.merge( + {}, + require('${defaultConfig}'), + ${builtins.toJSON cfg.config} + ) + ''; + in { options.services.shout = { enable = mkEnableOption "Shout web IRC client"; @@ -35,8 +50,31 @@ in { type = types.nullOr types.lines; default = null; description = '' - Contents of Shout's <filename>config.js</filename> file. If left empty, - Shout will generate from its defaults at first startup. + Contents of Shout's <filename>config.js</filename> file. + + Used for backward compatibility, recommended way is now to use + the <literal>config</literal> option. + + Documentation: http://shout-irc.com/docs/server/configuration.html + ''; + }; + + config = mkOption { + default = {}; + type = types.attrs; + example = { + displayNetwork = false; + defaults = { + name = "Your Network"; + host = "localhost"; + port = 6697; + }; + }; + description = '' + Shout <filename>config.js</filename> contents as attribute set (will be + converted to JSON to generate the configuration file). + + The options defined here will be merged to the default configuration file. Documentation: http://shout-irc.com/docs/server/configuration.html ''; @@ -57,11 +95,7 @@ in { wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; after = [ "network-online.target" ]; - preStart = if isNull cfg.configFile then "" - else '' - ln -sf ${pkgs.writeText "config.js" cfg.configFile} \ - ${shoutHome}/config.js - ''; + preStart = "ln -sf ${pkgs.writeText "config.js" finalConfigFile} ${shoutHome}/config.js"; script = concatStringsSep " " [ "${pkgs.shout}/bin/shout" (if cfg.private then "--private" else "--public") diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 9e122dc7beac..29166be2399b 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -14,21 +14,21 @@ let additionalBackends = pkgs.runCommand "additional-cups-backends" { } '' mkdir -p $out - if [ ! -e ${cups}/lib/cups/backend/smb ]; then + if [ ! -e ${cups.out}/lib/cups/backend/smb ]; then mkdir -p $out/lib/cups/backend ln -sv ${pkgs.samba}/bin/smbspool $out/lib/cups/backend/smb fi # Provide support for printing via HTTPS. - if [ ! -e ${cups}/lib/cups/backend/https ]; then + if [ ! -e ${cups.out}/lib/cups/backend/https ]; then mkdir -p $out/lib/cups/backend - ln -sv ${cups}/lib/cups/backend/ipp $out/lib/cups/backend/https + ln -sv ${cups.out}/lib/cups/backend/ipp $out/lib/cups/backend/https fi ''; # Here we can enable additional backends, filters, etc. that are not # part of CUPS itself, e.g. the SMB backend is part of Samba. Since - # we can't update ${cups}/lib/cups itself, we create a symlink tree + # we can't update ${cups.out}/lib/cups itself, we create a symlink tree # here and add the additional programs. The ServerBin directive in # cupsd.conf tells cupsd to use this tree. bindir = pkgs.buildEnv { diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index 31332489a784..c51a42b8e9c1 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -148,7 +148,7 @@ in { if [ "$(id -u)" = 0 ]; then chown -R elasticsearch ${cfg.dataDir}; fi ''; postStart = mkBefore '' - until ${pkgs.curl}/bin/curl -s -o /dev/null ${cfg.listenAddress}:${toString cfg.port}; do + until ${pkgs.curl.bin}/bin/curl -s -o /dev/null ${cfg.listenAddress}:${toString cfg.port}; do sleep 1 done ''; diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix index ba34eb25169c..327993443048 100644 --- a/nixos/modules/services/system/dbus.nix +++ b/nixos/modules/services/system/dbus.nix @@ -121,7 +121,7 @@ in security.setuidOwners = singleton { program = "dbus-daemon-launch-helper"; - source = "${pkgs.dbus_daemon}/libexec/dbus-daemon-launch-helper"; + source = "${pkgs.dbus_daemon.lib}/libexec/dbus-daemon-launch-helper"; owner = "root"; group = "messagebus"; setuid = true; diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index 3c0d2043ed5d..d98ef8a306d5 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -64,14 +64,14 @@ in restartTriggers = [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source ]; serviceConfig = - { ExecStart = "@${pkgs.glibc}/sbin/nscd nscd -f ${cfgFile}"; + { ExecStart = "@${pkgs.glibc.bin}/sbin/nscd nscd -f ${cfgFile}"; Type = "forking"; PIDFile = "/run/nscd/nscd.pid"; Restart = "always"; ExecReload = - [ "${pkgs.glibc}/sbin/nscd --invalidate passwd" - "${pkgs.glibc}/sbin/nscd --invalidate group" - "${pkgs.glibc}/sbin/nscd --invalidate hosts" + [ "${pkgs.glibc.bin}/sbin/nscd --invalidate passwd" + "${pkgs.glibc.bin}/sbin/nscd --invalidate group" + "${pkgs.glibc.bin}/sbin/nscd --invalidate hosts" ]; }; @@ -79,7 +79,7 @@ in # its pid. So wait until it's ready. postStart = '' - while ! ${pkgs.glibc}/sbin/nscd -g -f ${cfgFile} > /dev/null; do + while ! ${pkgs.glibc.bin}/sbin/nscd -g -f ${cfgFile} > /dev/null; do sleep 0.2 done ''; diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix index 7718a721763c..c2220cb0cff7 100644 --- a/nixos/modules/services/torrent/transmission.nix +++ b/nixos/modules/services/torrent/transmission.nix @@ -113,21 +113,21 @@ in #include <abstractions/base> #include <abstractions/nameservice> - ${pkgs.glibc}/lib/*.so mr, - ${pkgs.libevent}/lib/libevent*.so* mr, - ${pkgs.curl}/lib/libcurl*.so* mr, - ${pkgs.openssl}/lib/libssl*.so* mr, - ${pkgs.openssl}/lib/libcrypto*.so* mr, - ${pkgs.zlib}/lib/libz*.so* mr, - ${pkgs.libssh2}/lib/libssh2*.so* mr, + ${pkgs.glibc.out}/lib/*.so mr, + ${pkgs.libevent.out}/lib/libevent*.so* mr, + ${pkgs.curl.out}/lib/libcurl*.so* mr, + ${pkgs.openssl.out}/lib/libssl*.so* mr, + ${pkgs.openssl.out}/lib/libcrypto*.so* mr, + ${pkgs.zlib.out}/lib/libz*.so* mr, + ${pkgs.libssh2.out}/lib/libssh2*.so* mr, ${pkgs.systemd}/lib/libsystemd*.so* mr, - ${pkgs.xz}/lib/liblzma*.so* mr, - ${pkgs.libgcrypt}/lib/libgcrypt*.so* mr, - ${pkgs.libgpgerror}/lib/libgpg-error*.so* mr, - ${pkgs.libnghttp2}/lib/libnghttp2*.so* mr, - ${pkgs.c-ares}/lib/libcares*.so* mr, - ${pkgs.libcap}/lib/libcap*.so* mr, - ${pkgs.attr}/lib/libattr*.so* mr, + ${pkgs.xz.out}/lib/liblzma*.so* mr, + ${pkgs.libgcrypt.out}/lib/libgcrypt*.so* mr, + ${pkgs.libgpgerror.out}/lib/libgpg-error*.so* mr, + ${pkgs.libnghttp2.out}/lib/libnghttp2*.so* mr, + ${pkgs.c-ares.out}/lib/libcares*.so* mr, + ${pkgs.libcap.out}/lib/libcap*.so* mr, + ${pkgs.attr.out}/lib/libattr*.so* mr, ${pkgs.lz4}/lib/liblz4*.so* mr, @{PROC}/sys/kernel/random/uuid r, diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index fdbd61c85e65..7953729c00cd 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -6,13 +6,13 @@ let mainCfg = config.services.httpd; - httpd = mainCfg.package; + httpd = mainCfg.package.out; version24 = !versionOlder httpd.version "2.4"; httpdConf = mainCfg.configFile; - php = pkgs.php.override { apacheHttpd = httpd; }; + php = pkgs.php.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ }; getPort = cfg: if cfg.port != 0 then cfg.port else if cfg.enableSSL then 443 else 80; diff --git a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix index a9ec20ae8471..94e85f1f4289 100644 --- a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix +++ b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix @@ -333,7 +333,7 @@ let 'version' => '${config.package.version}', - 'openssl' => '${pkgs.openssl}/bin/openssl' + 'openssl' => '${pkgs.openssl.bin}/bin/openssl' ); diff --git a/nixos/modules/services/web-servers/apache-httpd/phabricator.nix b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix index e4e3aac8d411..efd4a7b5f0fb 100644 --- a/nixos/modules/services/web-servers/apache-httpd/phabricator.nix +++ b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix @@ -39,7 +39,7 @@ in { "${pkgs.diffutils}" ] ++ (if config.mercurial then ["${pkgs.mercurial}"] else []) ++ - (if config.subversion then ["${pkgs.subversion}"] else []) ++ + (if config.subversion then ["${pkgs.subversion.out}"] else []) ++ (if config.git then ["${pkgs.git}"] else []); startupScript = pkgs.writeScript "activatePhabricator" '' diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix new file mode 100644 index 000000000000..0d2612aaa66b --- /dev/null +++ b/nixos/modules/services/web-servers/caddy.nix @@ -0,0 +1,53 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.caddy; + configFile = pkgs.writeText "Caddyfile" cfg.config; +in +{ + options.services.caddy = { + enable = mkEnableOption "Caddy web server"; + + config = mkOption { + description = "Verbatim Caddyfile to use"; + }; + + email = mkOption { + default = ""; + type = types.string; + description = "Email address (for Let's Encrypt certificate)"; + }; + + dataDir = mkOption { + default = "/var/lib/caddy"; + type = types.path; + description = "The data directory, for storing certificates."; + }; + }; + + config = mkIf cfg.enable { + systemd.services.caddy = { + description = "Caddy web server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${pkgs.caddy}/bin/caddy -conf=${configFile} -email=${cfg.email}"; + Type = "simple"; + User = "caddy"; + Group = "caddy"; + AmbientCapabilities = "cap_net_bind_service"; + }; + }; + + users.extraUsers.caddy = { + group = "caddy"; + uid = config.ids.uids.caddy; + home = cfg.dataDir; + createHome = true; + }; + + users.extraGroups.caddy.gid = config.ids.uids.caddy; + }; +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index be7700424bc6..b112fc2422a7 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -166,7 +166,7 @@ in { }; environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules" - "${gnome3.glib_networking}/lib/gio/modules" + "${gnome3.glib_networking.out}/lib/gio/modules" "${gnome3.gvfs}/lib/gio/modules" ]; environment.systemPackages = gnome3.corePackages ++ cfg.sessionPath ++ (removePackagesByName gnome3.optionalPackages config.environment.gnome3.excludePackages); diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 71361bae82dc..4f74d5732af5 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -62,13 +62,13 @@ in ${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" ''} - exec ${kde5.plasma-workspace}/bin/startkde + exec startkde ''; }; security.setuidOwners = singleton { program = "kcheckpass"; - source = "${kde5.plasma-workspace}/lib/libexec/kcheckpass"; + source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass"; owner = "root"; group = "root"; setuid = true; @@ -171,12 +171,12 @@ in # Enable GTK applications to load SVG icons environment.variables = mkIf (lib.hasAttr "breeze-icons" kde5) { - GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; + GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; }; fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ]; - programs.ssh.askPassword = "${kde5.ksshaskpass}/bin/ksshaskpass"; + programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass"; # Enable helpful DBus services. services.udisks2.enable = true; diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 7dffdfc2b36c..be634fc259a2 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -45,7 +45,7 @@ let ${optionalString cfg.startDbusSession '' if test -z "$DBUS_SESSION_BUS_ADDRESS"; then - exec ${pkgs.dbus.tools}/bin/dbus-launch --exit-with-session "$0" "$sessionType" + exec ${pkgs.dbus.dbus-launch} --exit-with-session "$0" "$sessionType" fi ''} @@ -55,11 +55,11 @@ let # Start PulseAudio if enabled. ${optionalString (config.hardware.pulseaudio.enable) '' ${optionalString (!config.hardware.pulseaudio.systemWide) - "${config.hardware.pulseaudio.package}/bin/pulseaudio --start" + "${config.hardware.pulseaudio.package.out}/bin/pulseaudio --start" } # Publish access credentials in the root window. - ${config.hardware.pulseaudio.package}/bin/pactl load-module module-x11-publish "display=$DISPLAY" + ${config.hardware.pulseaudio.package.out}/bin/pactl load-module module-x11-publish "display=$DISPLAY" ''} # Tell systemd about our $DISPLAY. This is needed by the @@ -275,7 +275,7 @@ in }; config = { - services.xserver.displayManager.xserverBin = "${xorg.xorgserver}/bin/X"; + services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X"; }; imports = [ diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix index f5b6c20c5a05..543dd628ce66 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix @@ -24,9 +24,9 @@ let # This wrapper ensures that we actually get themes makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \ $out/greeter \ - --prefix PATH : "${pkgs.glibc}/bin" \ - --set GDK_PIXBUF_MODULE_FILE "${pkgs.gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \ - --set GTK_PATH "${theme}:${pkgs.gtk3}" \ + --prefix PATH : "${pkgs.glibc.bin}/bin" \ + --set GDK_PIXBUF_MODULE_FILE "${pkgs.gdk_pixbuf.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \ + --set GTK_PATH "${theme}:${pkgs.gtk3.out}" \ --set GTK_EXE_PREFIX "${theme}" \ --set GTK_DATA_PREFIX "${theme}" \ --set XDG_DATA_DIRS "${theme}/share:${icons}/share" \ diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 4d61afe0eaeb..7a17a222bcab 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -48,7 +48,7 @@ let [XDisplay] MinimumVT=${toString xcfg.tty} ServerPath=${xserverWrapper} - XephyrPath=${pkgs.xorg.xorgserver}/bin/Xephyr + XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr SessionCommand=${dmcfg.session.script} SessionDir=${dmcfg.session.desktops} XauthPath=${pkgs.xorg.xauth}/bin/xauth diff --git a/nixos/modules/services/x11/terminal-server.nix b/nixos/modules/services/x11/terminal-server.nix index 4d5dbd604159..09d0ab077515 100644 --- a/nixos/modules/services/x11/terminal-server.nix +++ b/nixos/modules/services/x11/terminal-server.nix @@ -41,7 +41,7 @@ with lib; { description = "Terminal Server"; path = - [ pkgs.xorgserver pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth + [ pkgs.xorgserver.out pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth pkgs.nettools pkgs.shadow pkgs.procps pkgs.utillinux pkgs.bash ]; diff --git a/nixos/modules/services/x11/window-managers/metacity.nix b/nixos/modules/services/x11/window-managers/metacity.nix index 3e5229be634f..2957ad91be45 100644 --- a/nixos/modules/services/x11/window-managers/metacity.nix +++ b/nixos/modules/services/x11/window-managers/metacity.nix @@ -20,7 +20,7 @@ in services.xserver.windowManager.session = singleton { name = "metacity"; start = '' - env LD_LIBRARY_PATH=${xorg.libX11}/lib:${xorg.libXext}/lib:/usr/lib/ + env LD_LIBRARY_PATH=${xorg.libX11.out}/lib:${xorg.libXext.out}/lib:/usr/lib/ # !!! Hack: load the schemas for Metacity. GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf}/bin/gconftool-2 \ --makefile-install-rule ${gnome.metacity}/etc/gconf/schemas/*.schemas # */ diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 70df18b40209..dcf9f820f59c 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -456,7 +456,7 @@ in ]); environment.systemPackages = - [ xorg.xorgserver + [ xorg.xorgserver.out xorg.xrandr xorg.xrdb xorg.setxkbmap @@ -466,6 +466,7 @@ in xorg.xsetroot xorg.xinput xorg.xprop + xorg.xauth pkgs.xterm pkgs.xdg_utils ] @@ -493,7 +494,7 @@ in XKB_BINDIR = "${xorg.xkbcomp}/bin"; # Needed for the Xkb extension. XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime. LD_LIBRARY_PATH = concatStringsSep ":" ( - [ "${xorg.libX11}/lib" "${xorg.libXext}/lib" ] + [ "${xorg.libX11.out}/lib" "${xorg.libXext.out}/lib" ] ++ concatLists (catAttrs "libPath" cfg.drivers)); } // cfg.displayManager.job.environment; @@ -513,8 +514,7 @@ in }; services.xserver.displayManager.xserverArgs = - [ "-ac" - "-terminate" + [ "-terminate" "-config ${configFile}" "-xkbdir" "${cfg.xkbDir}" ] ++ optional (cfg.display != null) ":${toString cfg.display}" @@ -525,7 +525,7 @@ in services.xserver.modules = concatLists (catAttrs "modules" cfg.drivers) ++ - [ xorg.xorgserver + [ xorg.xorgserver.out xorg.xf86inputevdev ]; diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 854fa2f40b69..9d61d64f7553 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -12,7 +12,8 @@ let ''; }); - path = + path = map # outputs TODO? + (pkg: (pkg.bin or (pkg.out or pkg))) [ pkgs.coreutils pkgs.gnugrep pkgs.findutils pkgs.glibc # needed for getent pkgs.shadow diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 59bff5472e84..77a82547031a 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -436,9 +436,9 @@ in ${optionalString luks.yubikeySupport '' copy_bin_and_libs ${pkgs.ykpers}/bin/ykchalresp copy_bin_and_libs ${pkgs.ykpers}/bin/ykinfo - copy_bin_and_libs ${pkgs.openssl}/bin/openssl + copy_bin_and_libs ${pkgs.openssl.bin}/bin/openssl - cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto + cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl.out}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto strip -s pbkdf2-sha512 copy_bin_and_libs pbkdf2-sha512 diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 7b13a305f035..7e84dd204773 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -80,7 +80,7 @@ let ${config.boot.initrd.extraUtilsCommands} # Copy ld manually since it isn't detected correctly - cp -pv ${pkgs.glibc}/lib/ld*.so.? $out/lib + cp -pv ${pkgs.glibc.out}/lib/ld*.so.? $out/lib # Copy all of the needed libraries for the binaries for BIN in $(find $out/{bin,sbin} -type f); do diff --git a/nixos/modules/system/boot/stage-2.nix b/nixos/modules/system/boot/stage-2.nix index c0ef4e02d1ff..b67f42a017e6 100644 --- a/nixos/modules/system/boot/stage-2.nix +++ b/nixos/modules/system/boot/stage-2.nix @@ -7,11 +7,14 @@ let kernel = config.boot.kernelPackages.kernel; activateConfiguration = config.system.activationScripts.script; - readonlyMountpoint = pkgs.runCommand "readonly-mountpoint" {} '' - mkdir -p $out/bin - cc -O3 ${./readonly-mountpoint.c} -o $out/bin/readonly-mountpoint - strip -s $out/bin/readonly-mountpoint - ''; + readonlyMountpoint = pkgs.stdenv.mkDerivation { + name = "readonly-mountpoint"; + unpackPhase = "true"; + installPhase = '' + mkdir -p $out/bin + cc -O3 ${./readonly-mountpoint.c} -o $out/bin/readonly-mountpoint + ''; + }; bootStage2 = pkgs.substituteAll { src = ./stage-2-init.sh; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index a3c83521c354..3f497566ff11 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -472,6 +472,13 @@ in ''; }; + systemd.generator-packages = mkOption { + default = []; + type = types.listOf types.package; + example = literalExample "[ pkgs.systemd-cryptsetup-generator ]"; + description = "Packages providing systemd generators."; + }; + systemd.defaultUnit = mkOption { default = "multi-user.target"; type = types.str; @@ -628,7 +635,18 @@ in environment.systemPackages = [ systemd ]; - environment.etc = { + environment.etc = let + # generate contents for /etc/systemd/system-generators from + # systemd.generators and systemd.generator-packages + generators = pkgs.runCommand "system-generators" { packages = cfg.generator-packages; } '' + mkdir -p $out + for package in $packages + do + ln -s $package/lib/systemd/system-generators/* $out/ + done; + ${concatStrings (mapAttrsToList (generator: target: "ln -s ${target} $out/${generator};\n") cfg.generators)} + ''; + in ({ "systemd/system".source = generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants; "systemd/user".source = generateUnits "user" cfg.user.units upstreamUserUnits []; @@ -667,7 +685,9 @@ in ${concatStringsSep "\n" cfg.tmpfiles.rules} ''; - } // mapAttrs' (n: v: nameValuePair "systemd/system-generators/${n}" {"source"=v;}) cfg.generators; + + "systemd/system-generators" = { source = generators; }; + }); system.activationScripts.systemd = stringAfter [ "groups" ] '' diff --git a/nixos/modules/tasks/filesystems/unionfs-fuse.nix b/nixos/modules/tasks/filesystems/unionfs-fuse.nix index 3e38bffa3ba2..1dcc4c87e3ce 100644 --- a/nixos/modules/tasks/filesystems/unionfs-fuse.nix +++ b/nixos/modules/tasks/filesystems/unionfs-fuse.nix @@ -18,9 +18,9 @@ boot.initrd.postDeviceCommands = '' # Hacky!!! fuse hard-codes the path to mount - mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}/bin - ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}/bin - ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}/bin + mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin + ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin + ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin ''; }) diff --git a/nixos/modules/tasks/filesystems/xfs.nix b/nixos/modules/tasks/filesystems/xfs.nix index d7c3930f4a3c..c6a90bcf1a51 100644 --- a/nixos/modules/tasks/filesystems/xfs.nix +++ b/nixos/modules/tasks/filesystems/xfs.nix @@ -11,13 +11,13 @@ in { config = mkIf (any (fs: fs == "xfs") config.boot.supportedFilesystems) { - system.fsPackages = [ pkgs.xfsprogs ]; + system.fsPackages = [ pkgs.xfsprogs.bin ]; boot.initrd.availableKernelModules = mkIf inInitrd [ "xfs" "crc32c" ]; boot.initrd.extraUtilsCommands = mkIf inInitrd '' - copy_bin_and_libs ${pkgs.xfsprogs}/sbin/fsck.xfs + copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/fsck.xfs ''; # Trick just to set 'sh' after the extraUtils nuke-refs. diff --git a/nixos/modules/virtualisation/virtualbox-guest.nix b/nixos/modules/virtualisation/virtualbox-guest.nix index a025aee7cfeb..9733bd6fac46 100644 --- a/nixos/modules/virtualisation/virtualbox-guest.nix +++ b/nixos/modules/virtualisation/virtualbox-guest.nix @@ -66,7 +66,7 @@ in services.xserver.displayManager.sessionCommands = '' - PATH=${makeSearchPath "bin" [ pkgs.gnugrep pkgs.which pkgs.xorg.xorgserver ]}:$PATH \ + PATH=${makeSearchPath "bin" [ pkgs.gnugrep pkgs.which pkgs.xorg.xorgserver.out ]}:$PATH \ ${kernel.virtualboxGuestAdditions}/bin/VBoxClient-all ''; diff --git a/nixos/tests/cadvisor.nix b/nixos/tests/cadvisor.nix index 1644cb856cec..c55b08c0e924 100644 --- a/nixos/tests/cadvisor.nix +++ b/nixos/tests/cadvisor.nix @@ -14,7 +14,7 @@ import ./make-test.nix ({ pkgs, ... } : { services.cadvisor.storageDriver = "influxdb"; services.influxdb.enable = true; systemd.services.influxdb.postStart = mkAfter '' - ${pkgs.curl}/bin/curl -X POST 'http://localhost:8086/db?u=root&p=root' \ + ${pkgs.curl.bin}/bin/curl -X POST 'http://localhost:8086/db?u=root&p=root' \ -d '{"name": "root"}' ''; }; diff --git a/nixos/tests/common/user-account.nix b/nixos/tests/common/user-account.nix index ded8275000af..93aeb60e456a 100644 --- a/nixos/tests/common/user-account.nix +++ b/nixos/tests/common/user-account.nix @@ -1,9 +1,14 @@ { lib, ... }: -{ users.extraUsers = lib.singleton +{ users.extraUsers.alice = { isNormalUser = true; - name = "alice"; description = "Alice Foobar"; password = "foobar"; }; + + users.extraUsers.bob = + { isNormalUser = true; + description = "Bob Foobar"; + password = "foobar"; + }; } diff --git a/nixos/tests/gnome3-gdm.nix b/nixos/tests/gnome3-gdm.nix index 1c07ddf79c2e..42425b57ba33 100644 --- a/nixos/tests/gnome3-gdm.nix +++ b/nixos/tests/gnome3-gdm.nix @@ -32,6 +32,7 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/Terminal/); $machine->sleep(20); $machine->screenshot("screen"); diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix index 714b35503706..50e7f4eace3b 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3.nix @@ -27,6 +27,7 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/Terminal/); $machine->mustSucceed("timeout 900 bash -c 'journalctl -f|grep -m 1 \"GNOME Shell started\"'"); $machine->sleep(10); diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix index 627a150f641b..4685992d7a05 100644 --- a/nixos/tests/i3wm.nix +++ b/nixos/tests/i3wm.nix @@ -13,6 +13,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = { nodes, ... }: '' $machine->waitForX; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/first configuration/); $machine->sleep(1); $machine->screenshot("started"); diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 05c3f267eb93..48d5fecad921 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -108,8 +108,8 @@ let $machine->waitUntilSucceeds("cat /proc/swaps | grep -q /dev"); # Check whether the channel works. - $machine->succeed("nix-env -iA nixos.coreutils >&2"); - $machine->succeed("type -tP ls | tee /dev/stderr") =~ /.nix-profile/ + $machine->succeed("nix-env -iA nixos.procps >&2"); + $machine->succeed("type -tP ps | tee /dev/stderr") =~ /.nix-profile/ or die "nix-env failed"; # We need to a writable nix-store on next boot. diff --git a/nixos/tests/kde4.nix b/nixos/tests/kde4.nix index dc61658cd1c4..2693fb4fbf0a 100644 --- a/nixos/tests/kde4.nix +++ b/nixos/tests/kde4.nix @@ -41,11 +41,13 @@ import ./make-test.nix ({ pkgs, ... }: { pkgs.kde4.kdenetwork pkgs.kde4.kdetoys pkgs.kde4.kdewebdev + pkgs.xorg.xmessage ]; }; - testScript = '' + testScript = '' $machine->waitUntilSucceeds("pgrep plasma-desktop"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/plasma-desktop/); # Check that logging in has given the user ownership of devices. @@ -62,7 +64,7 @@ import ./make-test.nix ({ pkgs, ... }: { $machine->sleep(10); - $machine->screenshot("screen"); + $machine->screenshot("screen"); ''; }) diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index f30f9062dcde..97ec79406b88 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -22,6 +22,8 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->waitForText(qr/${user.description}/); $machine->screenshot("lightdm"); $machine->sendChars("${user.password}\n"); + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow("^IceWM "); ''; }) diff --git a/nixos/tests/sddm-kde5.nix b/nixos/tests/sddm-kde5.nix index 476cb732e252..f97a6d12b63c 100644 --- a/nixos/tests/sddm-kde5.nix +++ b/nixos/tests/sddm-kde5.nix @@ -24,6 +24,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = { nodes, ... }: '' startAll; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow("^IceWM "); ''; }) diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index e11b5714d5c2..22a9e1bd2c7c 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -23,6 +23,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = { nodes, ... }: '' startAll; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow("^IceWM "); ''; }) diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index c131ef7dc8cd..c8b18f122658 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -15,11 +15,15 @@ import ./make-test.nix ({ pkgs, ...} : { services.xserver.displayManager.auto.user = "alice"; services.xserver.desktopManager.xfce.enable = true; + + environment.systemPackages = [ pkgs.xorg.xmessage ]; }; testScript = '' $machine->waitForX; + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/xfce4-panel/); $machine->sleep(10); @@ -30,5 +34,9 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->waitForWindow(qr/Terminal/); $machine->sleep(10); $machine->screenshot("screen"); + + # Ensure that the X server does proper access control. + $machine->mustFail("su - bob -c 'DISPLAY=:0.0 xmessage Foo'"); + $machine->mustFail("su - bob -c 'DISPLAY=:0 xmessage Foo'"); ''; }) diff --git a/pkgs/applications/altcoins/bitcoin-xt.nix b/pkgs/applications/altcoins/bitcoin-xt.nix index 9b86bf2b3d5a..e678d6e4acb3 100644 --- a/pkgs/applications/altcoins/bitcoin-xt.nix +++ b/pkgs/applications/altcoins/bitcoin-xt.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec{ configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" - "--with-libcurl-headers=${curl}/include" + "--with-libcurl-headers=${curl.dev}/include" ] ++ optionals withGui [ "--with-gui=qt4" ]; meta = { diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 3d44dd872c78..9f047a600cbd 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { # have to do that ourself. patchPhase = '' printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc - sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript + sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript patchShebangs ./tools/ ''; diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index 627d68525b9b..afa8a94d200d 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -18,6 +18,12 @@ stdenv.mkDerivation rec { sha256 = "19fr674mw844zmkp1476yigkcnmb6zyn78av64ccdwi3p68i00rf"; })]; + # fix with gcc-5 from http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2012-December/245884.html + postPatch = '' + substituteInPlace lib-src/libnyquist/nyquist/ffts/src/fftlib.c \ + --replace 'inline void' 'static inline void' + ''; + preConfigure = /* we prefer system-wide libs */ '' mv lib-src lib-src-rm mkdir lib-src diff --git a/pkgs/applications/audio/baudline/default.nix b/pkgs/applications/audio/baudline/default.nix index 543329ef679b..2d6b0434d6a1 100644 --- a/pkgs/applications/audio/baudline/default.nix +++ b/pkgs/applications/audio/baudline/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { cp -r . "$out/libexec/baudline/" - interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*)" + interpreter="$(echo ${stdenv.glibc.out}/lib/ld-linux*)" for prog in "$out"/libexec/baudline/baudline*; do patchelf --interpreter "$interpreter" "$prog" ln -sr "$prog" "$out/bin/" diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix index 978dd27facdb..d84ff702ce87 100644 --- a/pkgs/applications/audio/caudec/default.nix +++ b/pkgs/applications/audio/caudec/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { postFixup = '' for executable in $(cd $out/bin && ls); do wrapProgram $out/bin/$executable \ - --prefix PATH : "${bc}/bin:${findutils}/bin:${sox}/bin:${procps}/bin:${opusTools}/bin:${lame}/bin:${flac}/bin" + --prefix PATH : "${bc}/bin:${findutils}/bin:${sox}/bin:${procps}/bin:${opusTools}/bin:${lame}/bin:${flac.bin}/bin" done ''; diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix index afca63a2a8a2..6e2ba7cfd165 100644 --- a/pkgs/applications/audio/csound/default.nix +++ b/pkgs/applications/audio/csound/default.nix @@ -23,6 +23,8 @@ stdenv.mkDerivation { buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ]; + NIX_LDFLAGS="-L${stdenv.cc.libc.out}/lib"; + meta = { description = "sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms"; homepage = http://www.csounds.com/; diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index 18fb48a17ba1..80e4e49fb183 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -8,12 +8,12 @@ stdenv.mkDerivation rec { sha256 = "4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c"; }; - outputs = [ "out" "doc" ]; - buildInputs = [ libogg ]; #doCheck = true; # takes lots of time + outputs = [ "dev" "out" "bin" "doc" ]; + meta = with stdenv.lib; { homepage = http://xiph.org/flac/; description = "Library and tools for encoding and decoding the FLAC lossless audio file format"; diff --git a/pkgs/applications/audio/google-musicmanager/default.nix b/pkgs/applications/audio/google-musicmanager/default.nix index f86513659b64..72bec52b2663 100644 --- a/pkgs/applications/audio/google-musicmanager/default.nix +++ b/pkgs/applications/audio/google-musicmanager/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { buildPhase = '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$out/opt/google/musicmanager:${readline}/lib:${ncurses}/lib:${stdenv.cc.libc}/lib:${qt48}/lib:${stdenv.cc.cc}/lib:${libidn}/lib:${expat}/lib:${flac}/lib:${libvorbis}/lib" opt/google/musicmanager/MusicManager + --set-rpath "$out/opt/google/musicmanager:${stdenv.lib.makeLibraryPath [ readline ncurses stdenv.cc.libc.out qt48 stdenv.cc.cc libidn expat flac libvorbis ]}" opt/google/musicmanager/MusicManager ''; dontPatchELF = true; diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix index 8bc0aebba5a8..f22ccd08a8e8 100644 --- a/pkgs/applications/audio/milkytracker/default.nix +++ b/pkgs/applications/audio/milkytracker/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ''; preBuild='' - export CPATH=${zlib}/lib + export CPATH=${zlib.out}/lib ''; buildInputs = [ SDL alsaLib autoconf automake libjack2 perl zlib zziplib ]; diff --git a/pkgs/applications/audio/mopidy-mopify/default.nix b/pkgs/applications/audio/mopidy-mopify/default.nix index abb9c50d71c5..0cb076556c70 100644 --- a/pkgs/applications/audio/mopidy-mopify/default.nix +++ b/pkgs/applications/audio/mopidy-mopify/default.nix @@ -3,11 +3,11 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-mopify-${version}"; - version = "1.5.8"; + version = "1.5.17"; src = fetchurl { url = "https://github.com/dirkgroenen/mopidy-mopify/archive/${version}.tar.gz"; - sha256 = "1gq88i5hbyskwhqf51myndqgmrndkyy6gs022sc387fy3dwxmvn0"; + sha256 = "1qi7f5i87ygn486gxc84njl22y84xrwabpz58y5a1hw7z1lp7l8s"; }; propagatedBuildInputs = with pythonPackages; [ mopidy configobj ]; diff --git a/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix b/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix index b2bca838cee2..53fb4d6c2f77 100644 --- a/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix +++ b/pkgs/applications/audio/mopidy-musicbox-webclient/default.nix @@ -3,13 +3,13 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-musicbox-webclient-${version}"; - version = "2.0.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "pimusicbox"; repo = "mopidy-musicbox-webclient"; rev = "v${version}"; - sha256 = "0gnw6jn55jr6q7bdp70mk3cm5f6jy8lm3s7ayfmisihhjbl3rnaq"; + sha256 = "0v09wy40ipl0b0dpgmcdl15c5g732c9jl7zipm4sy4pr8xiy6baa"; }; propagatedBuildInputs = [ mopidy ]; diff --git a/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix b/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix index 4d7c1cb73266..034a07bf027d 100644 --- a/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix +++ b/pkgs/applications/audio/mopidy-spotify-tunigo/default.nix @@ -3,13 +3,13 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-spotify-tunigo-${version}"; - version = "0.2.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "trygveaa"; repo = "mopidy-spotify-tunigo"; rev = "v${version}"; - sha256 = "0827wghbgrscncnshz30l97hgg0g5bsnm0ad8596zh7cai0ibss0"; + sha256 = "1jwk0b2iz4z09qynnhcr07w15lx6i1ra09s9lp48vslqcf2fp36x"; }; propagatedBuildInputs = [ mopidy mopidy-spotify pythonPackages.tunigo ]; diff --git a/pkgs/applications/audio/mopidy-spotify/default.nix b/pkgs/applications/audio/mopidy-spotify/default.nix index 3a717344aef5..045c400a17fd 100644 --- a/pkgs/applications/audio/mopidy-spotify/default.nix +++ b/pkgs/applications/audio/mopidy-spotify/default.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-spotify-${version}"; - version = "2.3.1"; + version = "3.0.0"; src = fetchurl { url = "https://github.com/mopidy/mopidy-spotify/archive/v${version}.tar.gz"; - sha256 = "0g105kb27q1p8ssrbxkxcjgx9jkqnd9kk5smw8sjcx6f3b23wrwx"; + sha256 = "0w7bhq6nz2xly5g72xd98r7lyzmx7nzfdpghk7vklkx0x41qccz8"; }; propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ]; diff --git a/pkgs/applications/audio/mopidy-youtube/default.nix b/pkgs/applications/audio/mopidy-youtube/default.nix index 2942cba95f0f..d3eb8539a19c 100644 --- a/pkgs/applications/audio/mopidy-youtube/default.nix +++ b/pkgs/applications/audio/mopidy-youtube/default.nix @@ -3,13 +3,13 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-youtube-${version}"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "mopidy"; repo = "mopidy-youtube"; rev = "v${version}"; - sha256 = "1si7j7m5kg0cxlhkw8s2mbnpmc9mb3l69n5sgklb1yv1s55iia6z"; + sha256 = "06r3ikyg2ch5n7fbn3sgj04hk6icpfpk1r856qch41995k3bbfg7"; }; propagatedBuildInputs = with pythonPackages; [ mopidy pafy ]; diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix index 29426f43de13..c1bdab8622c9 100644 --- a/pkgs/applications/audio/mopidy/default.nix +++ b/pkgs/applications/audio/mopidy/default.nix @@ -1,23 +1,28 @@ -{ stdenv, fetchurl, pythonPackages, pygobject, gst_python, wrapGAppsHook -, glib_networking, gst_plugins_good, gst_plugins_base, gst_plugins_ugly +{ stdenv, fetchFromGitHub, pythonPackages, pygobject3, wrapGAppsHook +, gst_all_1, glib_networking, gobjectIntrospection }: pythonPackages.buildPythonApplication rec { name = "mopidy-${version}"; - version = "1.1.2"; + version = "2.0.0"; - src = fetchurl { - url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz"; - sha256 = "1vn4knpmnp3krmn627iv1r7xa50zl816ac6b24b8ph50cq2sqjfv"; + src = fetchFromGitHub { + owner = "mopidy"; + repo = "mopidy"; + rev = "v${version}"; + sha256 = "06f1y87dqc7p6kq5npmg3ki8x4iacyjzd7nq7188x20y2zglrjbm"; }; - buildInputs = [ - wrapGAppsHook gst_plugins_base gst_plugins_good gst_plugins_ugly glib_networking + nativeBuildInputs = [ wrapGAppsHook ]; + + buildInputs = with gst_all_1; [ + gst-plugins-base gst-plugins-good gst-plugins-ugly + glib_networking gobjectIntrospection ]; propagatedBuildInputs = with pythonPackages; [ - gst_python pygobject pykka tornado requests2 + gst-python pygobject3 pykka tornado requests2 ]; # There are no tests diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix index 488fe45e6c84..f0fd29697b1a 100644 --- a/pkgs/applications/audio/ncmpcpp/default.nix +++ b/pkgs/applications/audio/ncmpcpp/default.nix @@ -15,11 +15,11 @@ assert taglibSupport -> (taglib != null); with stdenv.lib; stdenv.mkDerivation rec { name = "ncmpcpp-${version}"; - version = "0.7.2"; + version = "0.7.3"; src = fetchurl { url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2"; - sha256 = "0fq9nk796cp7gs0gwrabb6wp7f5h7pph10hrkrik1wf4k3mzb4k3"; + sha256 = "04mj6r0whikliblxfbz92pibwcd7a3ywkryf01a89zd4bi1jk2rc"; }; configureFlags = [ "BOOST_LIB_SUFFIX=" ] diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix index c27dbad78cc6..02a97dde4e24 100644 --- a/pkgs/applications/audio/sound-juicer/default.nix +++ b/pkgs/applications/audio/sound-juicer/default.nix @@ -5,11 +5,6 @@ let major = "3.16"; minor = "1"; - GST_PLUGIN_PATH = stdenv.lib.makeSearchPath "lib/gstreamer-1.0" [ - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-bad - gst_all_1.gst-libav ]; in stdenv.mkDerivation rec { version = "${major}.${minor}"; @@ -24,15 +19,16 @@ in stdenv.mkDerivation rec { gnome3.gsettings_desktop_schemas libmusicbrainz5 libdiscid isocodes makeWrapper gnome3.dconf gst_all_1.gstreamer gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ]; + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad + gst_all_1.gst-libav + ]; preFixup = '' for f in $out/bin/* $out/libexec/*; do wrapProgram "$f" \ --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ - --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \ - --prefix GST_PLUGIN_PATH : "${GST_PLUGIN_PATH}" + --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" done ''; diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index d8fdd2b9415e..00e841e7009e 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl, freetype , glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf -, libgcrypt, udev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }: +, libgcrypt, libudev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }: assert stdenv.system == "x86_64-linux"; @@ -27,7 +27,7 @@ let nss pango stdenv.cc.cc - udev + libudev xorg.libX11 xorg.libXcomposite xorg.libXcursor @@ -68,10 +68,10 @@ stdenv.mkDerivation { # Work around Spotify referring to a specific minor version of # OpenSSL. - ln -s ${openssl}/lib/libssl.so $libdir/libssl.so.1.0.0 - ln -s ${openssl}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0 - ln -s ${nspr}/lib/libnspr4.so $libdir/libnspr4.so - ln -s ${nspr}/lib/libplc4.so $libdir/libplc4.so + ln -s ${openssl.out}/lib/libssl.so $libdir/libssl.so.1.0.0 + ln -s ${openssl.out}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0 + ln -s ${nspr.out}/lib/libnspr4.so $libdir/libnspr4.so + ln -s ${nspr.out}/lib/libplc4.so $libdir/libplc4.so rpath="$out/share/spotify:$libdir" diff --git a/pkgs/applications/audio/swh-lv2/default.nix b/pkgs/applications/audio/swh-lv2/default.nix index 2955a9371ff6..4bc7801637c6 100644 --- a/pkgs/applications/audio/swh-lv2/default.nix +++ b/pkgs/applications/audio/swh-lv2/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; patchPhase = '' - sed -e "s#xsltproc#${libxslt}/bin/xsltproc#" -i Makefile + sed -e "s#xsltproc#${libxslt.bin}/bin/xsltproc#" -i Makefile sed -e "s#PREFIX = /usr/local#PREFIX = $out#" -i Makefile ''; diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix index 9cc7f3f1fc85..ab7eb10798d7 100644 --- a/pkgs/applications/audio/yoshimi/default.nix +++ b/pkgs/applications/audio/yoshimi/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { preConfigure = "cd src"; - cmakeFlags = [ "-DFLTK_MATH_LIBRARY=${stdenv.glibc}/lib/libm.so -DCMAKE_INSTALL_DATAROOTDIR=$out" ]; + cmakeFlags = [ "-DFLTK_MATH_LIBRARY=${stdenv.glibc.out}/lib/libm.so -DCMAKE_INSTALL_DATAROOTDIR=$out" ]; meta = with stdenv.lib; { description = "high quality software synthesizer based on ZynAddSubFX"; diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index e4f68d786f40..8e1812ec013b 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -72,7 +72,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ lndir makeQtWrapper ]; buildInputs = [ unwrapped ] ++ themes; - inherit themes; + themes = map (pkg: pkg.out or pkg) themes; inherit unwrapped; installPhase = '' @@ -81,7 +81,7 @@ stdenv.mkDerivation { mkdir -p "$out/share/sddm" for pkg in $unwrapped $themes; do local sddmDir="$pkg/share/sddm" - if [[ -d "$sddmDir" ]]; then + if [ -d "$sddmDir" ]; then lndir -silent "$sddmDir" "$out/share/sddm" fi done diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix index 8020ecb12a55..62b1a9c2f696 100644 --- a/pkgs/applications/display-managers/slim/default.nix +++ b/pkgs/applications/display-managers/slim/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, pkgconfig, xorg, libjpeg, libpng -, fontconfig, freetype, pam, dbus_libs, makeWrapper, pkgs }: +, fontconfig, freetype, pam, dbus_libs, makeWrapper }: stdenv.mkDerivation rec { name = "slim-1.3.6"; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake pkgconfig libjpeg libpng fontconfig freetype - pam dbus_libs + pam dbus_libs (stdenv.cc.libc.out or null) xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft makeWrapper ]; diff --git a/pkgs/applications/editors/brackets/default.nix b/pkgs/applications/editors/brackets/default.nix index 131675486bad..127ed981a6c8 100644 --- a/pkgs/applications/editors/brackets/default.nix +++ b/pkgs/applications/editors/brackets/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildEnv, gtk, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf -, cups, libgcrypt_1_5, makeWrapper, dbus, udev }: +, cups, libgcrypt_1_5, libudev, makeWrapper, dbus }: let bracketsEnv = buildEnv { name = "env-brackets"; paths = [ gtk glib gdk_pixbuf stdenv.cc.cc alsaLib nss nspr gconf cups libgcrypt_1_5 - dbus udev + dbus libudev.out ]; }; in @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { rmdir $out/usr ln -sf $out/opt/brackets/brackets $out/bin/brackets - ln -s ${udev}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0 + ln -s ${libudev.out}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \ diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix index 53b7b5750a04..76df6d4d2b99 100644 --- a/pkgs/applications/editors/codeblocks/default.nix +++ b/pkgs/applications/editors/codeblocks/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; patches = [ ./writable-projects.patch ]; preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file"; - postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc}/sbin/ldconfig"; + postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc.bin}/bin/ldconfig"; configureFlags = [ "--enable-pch=no" ] ++ optional contribPlugins "--with-contrib-plugins"; diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index f4804c75ca3b..e4eb6eb8f658 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeDesktopItem, makeWrapper +{ stdenv, lib, fetchurl, makeDesktopItem, makeWrapper , freetype, fontconfig, libX11, libXext, libXrender, zlib , glib, gtk, libXtst, jdk , webkitgtk2 ? null # for internal web browser diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix index d969552ecde4..712ede2e316f 100644 --- a/pkgs/applications/editors/edbrowse/default.nix +++ b/pkgs/applications/editors/edbrowse/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { substituteInPlace src/ebjs.c --replace \"edbrowse-js\" \"$out/bin/edbrowse-js\" ''; - NIX_CFLAGS_COMPILE = "-I${spidermonkey_24}/include/mozjs-24"; + NIX_CFLAGS_COMPILE = "-I${spidermonkey_24.dev}/include/mozjs-24"; makeFlags = "-C src prefix=$(out)"; src = fetchurl { diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix index ffa280d360c5..6359bd7bde18 100644 --- a/pkgs/applications/editors/emacs-24/default.nix +++ b/pkgs/applications/editors/emacs-24/default.nix @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { "--with-gif=no" "--with-tiff=no" ]; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX) - "-I${cairo}/include/cairo"; + "-I${cairo.dev}/include/cairo"; postInstall = '' mkdir -p $out/share/emacs/site-lisp/ diff --git a/pkgs/applications/editors/emacs-24/macport-24.5.nix b/pkgs/applications/editors/emacs-24/macport-24.5.nix index c778c42de857..23133ec262c3 100644 --- a/pkgs/applications/editors/emacs-24/macport-24.5.nix +++ b/pkgs/applications/editors/emacs-24/macport-24.5.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { ''; configureFlags = [ - "LDFLAGS=-L${ncurses}/lib" + "LDFLAGS=-L${ncurses.out}/lib" "--with-xml2=yes" "--with-gnutls=yes" "--with-mac" @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { ]; CFLAGS = "-O3"; - LDFLAGS = "-O3 -L${ncurses}/lib"; + LDFLAGS = "-O3 -L${ncurses.out}/lib"; postInstall = '' mkdir -p $out/share/emacs/site-lisp/ diff --git a/pkgs/applications/editors/heme/default.nix b/pkgs/applications/editors/heme/default.nix index 69ba674d2d49..c74e47a5243d 100644 --- a/pkgs/applications/editors/heme/default.nix +++ b/pkgs/applications/editors/heme/default.nix @@ -10,10 +10,11 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace Makefile \ --replace "/usr/local" "$out" \ - --replace "CFLAGS = " "CFLAGS = -I${ncurses}/include " \ - --replace "LDFLAGS = " "LDFLAGS = -L${ncurses}/lib " \ + --replace "CFLAGS = " "CFLAGS = -I${ncurses.dev}/include " \ + --replace "LDFLAGS = " "LDFLAGS = -L${ncurses.out}/lib " \ --replace "-lcurses" "-lncurses" ''; + buildInputs = [ ncurses ]; preBuild = '' mkdir -p $out/bin mkdir -p $out/man/man1 diff --git a/pkgs/applications/editors/idea/common.nix b/pkgs/applications/editors/idea/common.nix index 36f600c14860..fbe6210a39ba 100644 --- a/pkgs/applications/editors/idea/common.nix +++ b/pkgs/applications/editors/idea/common.nix @@ -37,7 +37,7 @@ with stdenv; lib.makeOverridable mkDerivation rec { truncate --size=$size $fname } - interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2) + interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2) if [ "${stdenv.system}" == "x86_64-linux" ]; then target_size=$(get_file_size bin/fsnotifier64) patchelf --set-interpreter "$interpreter" bin/fsnotifier64 diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix index 6bf5a1a9e6da..9b87f13d623d 100644 --- a/pkgs/applications/editors/lighttable/default.nix +++ b/pkgs/applications/editors/lighttable/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, buildEnv, zlib, glib, alsaLib, makeDesktopItem , dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf -, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, udev, libnotify +, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, libudev, libnotify }: let @@ -45,9 +45,9 @@ stdenv.mkDerivation rec { mv $out/share/LightTable/light $out/bin/light - ln -s ${udev}/lib/libudev.so.1 $out/share/LightTable/libudev.so.0 + ln -sf ${libudev.out}/lib/libudev.so.1 $out/share/LightTable/libudev.so.0 substituteInPlace $out/bin/light \ - --replace "/usr/lib/x86_64-linux-gnu" "${udev}/lib" \ + --replace "/usr/lib/x86_64-linux-gnu" "${libudev.out}/lib" \ --replace "/lib/x86_64-linux-gnu" "$out/share/LightTable" \ --replace 'HERE=`dirname $(readlink -f $0)`' "HERE=$out/share/LightTable" diff --git a/pkgs/applications/editors/music/tuxguitar/default.nix b/pkgs/applications/editors/music/tuxguitar/default.nix index 768842a3875d..65ea62b33686 100644 --- a/pkgs/applications/editors/music/tuxguitar/default.nix +++ b/pkgs/applications/editors/music/tuxguitar/default.nix @@ -26,7 +26,7 @@ in stdenv.mkDerivation rec { wrapProgram $out/bin/tuxguitar \ --set JAVA "${jdk}/bin/java" \ - --prefix LD_LIBRARY_PATH : "$out/lib/:${swt}/lib:${alsaLib}/lib" \ + --prefix LD_LIBRARY_PATH : "$out/lib/:${swt}/lib:${alsaLib.out}/lib" \ --prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar" ''; diff --git a/pkgs/applications/editors/nvpy/default.nix b/pkgs/applications/editors/nvpy/default.nix index a6dd7bcb4033..c42940440ae5 100644 --- a/pkgs/applications/editors/nvpy/default.nix +++ b/pkgs/applications/editors/nvpy/default.nix @@ -1,12 +1,12 @@ { pkgs, fetchurl, tk, buildPythonApplication, pythonPackages }: buildPythonApplication rec { - version = "0.9.2"; + version = "0.9.7"; name = "nvpy-${version}"; src = fetchurl { url = "https://github.com/cpbotha/nvpy/archive/v${version}.tar.gz"; - sha256 = "78e41b80fc5549cba8cfd92b52d6530e8dfc8e8f37e96e4b219f30c266af811d"; + sha256 = "1rd3vlaqkg16iz6qcw6rkbq0jmyvc0843wa3brnvn1nz0kla243f"; }; buildInputs = [tk]; @@ -14,6 +14,7 @@ buildPythonApplication rec { propagatedBuildInputs = [ pythonPackages.markdown pythonPackages.tkinter + pythonPackages.docutils ]; postInstall = '' diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix index ad9fc056757f..507dc611fd4f 100644 --- a/pkgs/applications/editors/sublime3/default.nix +++ b/pkgs/applications/editors/sublime3/default.nix @@ -57,7 +57,7 @@ in let --set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} # Without this, plugin_host crashes, even though it has the rpath - wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl}/lib/libssl.so:${bzip2}/lib/libbz2.so + wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl.out}/lib/libssl.so:${bzip2.out}/lib/libbz2.so ''; }; in stdenv.mkDerivation { diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix index e415239d76fb..e51813459c6f 100644 --- a/pkgs/applications/editors/texmacs/default.nix +++ b/pkgs/applications/editors/texmacs/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { postFixup = '' bin="$out/libexec/TeXmacs/bin/texmacs.bin" rpath=$(patchelf --print-rpath "$bin") - patchelf --set-rpath "$rpath:${zlib}/lib" "$bin" + patchelf --set-rpath "$rpath:${zlib.out}/lib" "$bin" ''; meta = { diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix index 39ba1f7265bc..c373f8b9e272 100644 --- a/pkgs/applications/gis/grass/default.nix +++ b/pkgs/applications/gis/grass/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation { "--with-wxwidgets" "--with-netcdf" "--with-geos" - "--with-postgres" + "--with-postgres" "--with-postgres-libs=${postgresql.lib}/lib/" "--with-mysql" "--with-mysql-includes=${mysql.lib}/include/mysql" "--with-blas" ]; diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index e75e86a4d533..ef3b7b05b187 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -13,7 +13,7 @@ in stdenv.mkDerivation rec { name = "imagemagick-${version}"; - version = "6.9.2-0"; + version = "6.9.3-8"; src = fetchurl { urls = [ @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { # the original source above removes tarballs quickly "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz" ]; - sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7"; + sha256 = "129s4cwp6cbhgsr3xr8186q5j02zpbk6kqfk4j7ayb563zsrdb4h"; }; outputs = [ "out" "doc" ]; diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix index a41e1ad07d3c..119125066bda 100644 --- a/pkgs/applications/graphics/digikam/default.nix +++ b/pkgs/applications/graphics/digikam/default.nix @@ -70,7 +70,7 @@ let # Help digiKam find libusb, otherwise gphoto2 support is disabled cmakeFlags = [ - "-DLIBUSB_LIBRARIES=${libusb1}/lib" + "-DLIBUSB_LIBRARIES=${libusb1.out}/lib" "-DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0" "-DENABLE_BALOOSUPPORT=ON" "-DENABLE_KDEPIMLIBSSUPPORT=ON" diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index 8602a9a04f85..39132bb9b6f8 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "0j5wxpqccnd0hl74z2vwv25n7qnik1n2mcm2jn0c0z7cjn4wsa9q"; }; + outputs = [ "out" "doc" ]; + nativeBuildInputs = [ makeWrapper ]; buildInputs = [ xlibsWrapper imlib2 libjpeg libpng libXinerama curl libexif ]; @@ -17,7 +19,7 @@ stdenv.mkDerivation rec { ''; postInstall = '' - wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg}/bin" \ + wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg.bin}/bin" \ --add-flags '--theme=feh' ''; diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix index 55e85fc5ec6b..b09838656929 100644 --- a/pkgs/applications/graphics/gimp/2.8.nix +++ b/pkgs/applications/graphics/gimp/2.8.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # "screenshot" needs this. - NIX_LDFLAGS = "-rpath ${xorg.libX11}/lib" + NIX_LDFLAGS = "-rpath ${xorg.libX11.out}/lib" + stdenv.lib.optionalString stdenv.isDarwin " -lintl"; meta = { diff --git a/pkgs/applications/graphics/photoqt/default.nix b/pkgs/applications/graphics/photoqt/default.nix index 9d68a44821a5..f9b24581929a 100644 --- a/pkgs/applications/graphics/photoqt/default.nix +++ b/pkgs/applications/graphics/photoqt/default.nix @@ -1,14 +1,9 @@ -{ stdenv, fetchurl, cmake, makeWrapper, exiv2, graphicsmagick +{ stdenv, fetchurl, cmake, makeQtWrapper, exiv2, graphicsmagick , qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools }: let version = "1.3"; - qmlPath = stdenv.lib.makeSearchPath "lib/qt5/qml/" [ - qtquickcontrols - qtdeclarative - qtmultimedia - ]; in stdenv.mkDerivation rec { name = "photoqt-${version}"; @@ -18,7 +13,8 @@ stdenv.mkDerivation rec { }; buildInputs = [ - cmake makeWrapper qtbase qtquickcontrols qttools exiv2 graphicsmagick + cmake makeQtWrapper qtbase qtquickcontrols qttools exiv2 graphicsmagick + qtmultimedia qtdeclarative ]; preConfigure = '' @@ -26,7 +22,7 @@ stdenv.mkDerivation rec { ''; postInstall = '' - wrapProgram $out/bin/photoqt --set QML2_IMPORT_PATH "${qmlPath}" + wrapQtProgram $out/bin/photoqt ''; meta = { diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix index 23a2d23b1ae1..d645a15b02ea 100644 --- a/pkgs/applications/graphics/seg3d/default.nix +++ b/pkgs/applications/graphics/seg3d/default.nix @@ -13,8 +13,8 @@ stdenv.mkDerivation { patches = [ ./cstdio.patch ]; cmakeFlags = [ - "-DM_LIBRARY=${stdenv.glibc}/lib/libm.so" - "-DDL_LIBRARY=${stdenv.glibc}/lib/libdl.so" + "-DM_LIBRARY=${stdenv.glibc.out}/lib/libm.so" + "-DDL_LIBRARY=${stdenv.glibc.out}/lib/libdl.so" "-DBUILD_UTILS=1" "-DBUILD_SEG3D=1" "-DBUILD_DATAFLOW=0" diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index da8bbad33cad..3238a3ba974d 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/shotwell" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" ''; diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix index 9e53fe3efe2c..ca1d5345fb6a 100644 --- a/pkgs/applications/graphics/xfig/default.nix +++ b/pkgs/applications/graphics/xfig/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ imake makeWrapper ]; - NIX_CFLAGS_COMPILE = "-I${libXpm}/include/X11"; + NIX_CFLAGS_COMPILE = "-I${libXpm.dev}/include/X11"; patches = let diff --git a/pkgs/applications/misc/audio/soxr/default.nix b/pkgs/applications/misc/audio/soxr/default.nix index 135ae47aa846..941e1a393b15 100644 --- a/pkgs/applications/misc/audio/soxr/default.nix +++ b/pkgs/applications/misc/audio/soxr/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0xf2w3piwz9gfr1xqyrj4k685q5dy53kq3igv663i4f4y4sg9rjl"; }; + outputs = [ "out" "doc" ]; # headers are just two and very small + preConfigure = if stdenv.isDarwin then '' export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:"`pwd`/build/src '' else '' diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index bae4c83fb2b3..7b789b3881de 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -40,11 +40,11 @@ stdenv.mkDerivation rec { installPhase = '' export HOME=$TMPDIR/fakehome export POPPLER_INC_DIR=${poppler_utils}/include/poppler - export POPPLER_LIB_DIR=${poppler_utils}/lib + export POPPLER_LIB_DIR=${poppler_utils.out}/lib export MAGICK_INC=${imagemagick}/include/ImageMagick export MAGICK_LIB=${imagemagick}/lib - export FC_INC_DIR=${fontconfig}/include/fontconfig - export FC_LIB_DIR=${fontconfig}/lib + export FC_INC_DIR=${fontconfig.dev}/include/fontconfig + export FC_LIB_DIR=${fontconfig.lib}/lib export PODOFO_INC_DIR=${podofo}/include/podofo export PODOFO_LIB_DIR=${podofo}/lib export SIP_BIN=${sip_4_16}/bin/sip @@ -59,7 +59,7 @@ stdenv.mkDerivation rec { for a in $out/bin/*; do wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH \ - --prefix PATH : ${poppler_utils}/bin + --prefix PATH : ${poppler_utils.out}/bin done ''; diff --git a/pkgs/applications/misc/djvulibre/default.nix b/pkgs/applications/misc/djvulibre/default.nix index b0f89cc5ea03..910b24358b48 100644 --- a/pkgs/applications/misc/djvulibre/default.nix +++ b/pkgs/applications/misc/djvulibre/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6"; }; + outputs = [ "dev" "out" "bin" ]; + buildInputs = [ libjpeg libtiff librsvg ] ++ libintlOrEmpty; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix index c398c3c43d00..651c74b2d217 100644 --- a/pkgs/applications/misc/dunst/default.nix +++ b/pkgs/applications/misc/dunst/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram "$out/bin/dunst" \ - --prefix PATH : '${dbus_daemon}/bin' + --prefix PATH : '${dbus_daemon.out}/bin' ''; meta = { diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix index 488a9a3732e2..e6ca8d207e89 100644 --- a/pkgs/applications/misc/get_iplayer/default.nix +++ b/pkgs/applications/misc/get_iplayer/default.nix @@ -17,7 +17,7 @@ buildPerlPackage { installPhase = '' mkdir -p $out/bin cp get_iplayer $out/bin - wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin --prefix PERL5LIB : $PERL5LIB + wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg.bin}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin --prefix PERL5LIB : $PERL5LIB ''; src = fetchurl { diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix index 0b721b562b53..cfa38a118614 100644 --- a/pkgs/applications/misc/girara/default.nix +++ b/pkgs/applications/misc/girara/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig gtk gettext ]; makeFlags = [ "PREFIX=$(out)" ] - ++ optional withBuildColors "TPUT=${ncurses}/bin/tput" + ++ optional withBuildColors "TPUT=${ncurses.out}/bin/tput" ++ optional (!withBuildColors) "TPUT_AVAILABLE=0" ; diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index 1f78355ca3a1..3e35b7bde4b8 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation { ${lib.optionalString bazaarSupport ''--prefix PATH : ${bazaar}/bin \''} ${lib.optionalString cvsSupport ''--prefix PATH : ${cvs}/bin \''} ${lib.optionalString cvsSupport ''--prefix PATH : ${cvsps}/bin \''} - ${lib.optionalString subversionSupport ''--prefix PATH : ${subversion}/bin \''} + ${lib.optionalString subversionSupport ''--prefix PATH : ${subversion.out}/bin \''} ${lib.optionalString mercurialSupport ''--prefix PATH : ${mercurial}/bin \''} ${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils} done diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix index aa8492544dcc..3de37fdbf207 100644 --- a/pkgs/applications/misc/kiwix/default.nix +++ b/pkgs/applications/misc/kiwix/default.nix @@ -93,7 +93,7 @@ stdenv.mkDerivation rec { make install cp -r src/dependencies/xulrunner $out/lib/kiwix - patchelf --set-interpreter ${glibc}/lib/ld-linux${optionalString (stdenv.system == "x86_64-linux") "-x86-64"}.so.2 $out/lib/kiwix/xulrunner/xulrunner + patchelf --set-interpreter ${glibc.out}/lib/ld-linux${optionalString (stdenv.system == "x86_64-linux") "-x86-64"}.so.2 $out/lib/kiwix/xulrunner/xulrunner rm $out/bin/kiwix makeWrapper $out/lib/kiwix/kiwix-launcher $out/bin/kiwix \ diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix index e7829be03647..1fa5d1a28d57 100644 --- a/pkgs/applications/misc/monero/default.nix +++ b/pkgs/applications/misc/monero/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation { checkTarget = "test-release"; # this would be the target installPhase = '' - installBin \ + install -Dt "$out/bin/" \ src/bitmonerod \ src/connectivity_tool \ src/simpleminer \ diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 16a20015c629..056edd801c07 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { mysql.lib paramiko pcre pexpect pkgconfig pycrypto python sqlite ]; preConfigure = '' - substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc}/bin/catchsegv" + substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc.bin}/bin/catchsegv" ''; postInstall = '' diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index 3e972f672cc2..25c904880923 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/nut-scanner --prefix LD_LIBRARY_PATH : \ - "$out/lib:${neon}/lib:${libusb}/lib:${avahi}/lib:${freeipmi}/lib" + "$out/lib:${neon}/lib:${libusb.out}/lib:${avahi}/lib:${freeipmi}/lib" ''; meta = { diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix index b245a6aace7b..bf1bed08ed4c 100644 --- a/pkgs/applications/misc/pcmanfm/default.nix +++ b/pkgs/applications/misc/pcmanfm/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }: -stdenv.mkDerivation { - name = "pcmanfm-1.2.3"; +stdenv.mkDerivation rec { + name = "pcmanfm-1.2.4"; src = fetchurl { - url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.3.tar.xz"; - sha256 = "1033rw5jd7nlzbcdpx3bik7347kyh1sg1gkla424gq9vqqpxia6g"; + url = "mirror://sourceforge/pcmanfm/${name}.tar.xz"; + sha256 = "04z3vd9si24yi4c8calqncdpb9b6mbj4cs4f3fs86i6j05gvpk9q"; }; buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ]; diff --git a/pkgs/applications/misc/pdfmod/default.nix b/pkgs/applications/misc/pdfmod/default.nix index 23781d63664c..24a0a8c69675 100644 --- a/pkgs/applications/misc/pdfmod/default.nix +++ b/pkgs/applications/misc/pdfmod/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { --prefix LD_LIBRARY_PATH : ${gnome-sharp}/lib \ --prefix LD_LIBRARY_PATH : ${gtk-sharp.gtk}/lib \ --prefix LD_LIBRARY_PATH : ${gnome3.gconf}/lib \ - --prefix LD_LIBRARY_PATH : ${poppler}/lib + --prefix LD_LIBRARY_PATH : ${poppler.out}/lib ''; dontStrip = true; diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix index 658ff410d379..222dddc0e897 100644 --- a/pkgs/applications/misc/pinfo/default.nix +++ b/pkgs/applications/misc/pinfo/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation { buildInputs = [ autoreconfHook gettext texinfo ncurses readline ]; - configureFlags = [ "--with-curses=${ncurses}" "--with-readline=${readline}" ]; + configureFlags = [ "--with-curses=${ncurses.dev}" "--with-readline=${readline}" ]; meta = with stdenv.lib; { description = "A viewer for info files"; diff --git a/pkgs/applications/misc/roxterm/default.nix b/pkgs/applications/misc/roxterm/default.nix index ad7de90cad63..93ee6470b7c3 100644 --- a/pkgs/applications/misc/roxterm/default.nix +++ b/pkgs/applications/misc/roxterm/default.nix @@ -24,9 +24,9 @@ in stdenv.mkDerivation rec { propagatedBuildInputs = [ dbus_libs dbus_glib gdk_pixbuf gettext gsettings_desktop_schemas gtk2 gtk3 hicolor_icon_theme vte ]; - NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0" - "-I${dbus_libs}/include/dbus-1.0" - "-I${dbus_libs}/lib/dbus-1.0/include" ]; + NIX_CFLAGS_COMPILE = [ "-I${dbus_glib.dev}/include/dbus-1.0" + "-I${dbus_libs.dev}/include/dbus-1.0" + "-I${dbus_libs.lib}/lib/dbus-1.0/include" ]; # Fix up python path so the lockfile library is on it. PYTHONPATH = stdenv.lib.makeSearchPath "lib/${pythonFull.libPrefix}/site-packages" [ @@ -35,7 +35,7 @@ in stdenv.mkDerivation rec { buildPhase = '' # Fix up the LD_LIBRARY_PATH so that expat is on it - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${expat}/lib" + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${expat.out}/lib" python mscript.py configure --prefix="$out" python mscript.py build diff --git a/pkgs/applications/misc/rxvt/default.nix b/pkgs/applications/misc/rxvt/default.nix index c3b5fc861a85..e8914b75b8a5 100644 --- a/pkgs/applications/misc/rxvt/default.nix +++ b/pkgs/applications/misc/rxvt/default.nix @@ -1,18 +1,38 @@ -{ stdenv, fetchurl, libX11, libXt }: +{ stdenv, fetchurl +, pkgconfig, libtool +, libX11, libXt, libXpm }: -stdenv.mkDerivation { - name = "rxvt-2.6.4"; +stdenv.mkDerivation rec { + name = "rxvt-${version}"; + version = "2.7.10"; src = fetchurl { - url = mirror://sourceforge/rxvt/rxvt-2.6.4.tar.gz; - sha256 = "0hi29whjv8v11nkjbq1i6ms411v6csykghmlpkmayfjn9nxr02xg"; + url = "mirror://sourceforge/rxvt/${name}.tar.gz"; + sha256 = "0jfl71gz3k7zh3kxdb8lxi06kajjnx7bq1rxjgk680l209jxask1"; }; - buildInputs = [ libX11 libXt ]; + buildInputs = [ pkgconfig libtool libX11 libXt libXpm ]; - meta = { + configurePhase = '' + LIBTOOL=${libtool}/bin/libtool ./configure --prefix=$out --enable-everything --enable-smart-resize --enable-256-color + ''; + + meta = with stdenv.lib; { + homepage = http://rxvt.sourceforge.net/; description = "Colour vt102 terminal emulator with less features and lower memory consumption"; - homepage = http://www.rxvt.org/; - license = "GPL"; + longDescription = '' + rxvt (acronym for our extended virtual terminal) is a terminal + emulator for the X Window System, originally written by Rob Nation + as an extended version of the older xvt terminal by John Bovey of + University of Kent. Mark Olesen extensively modified it later and + took over maintenance for several years. + + rxvt is intended to be a slimmed-down alternate for xterm, + omitting some of its little-used features, like Tektronix 4014 + emulation and toolkit-style configurability. + ''; + maintainers = with maintainers; [ AndersonTorres ]; + license = licenses.gpl2; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix index 234e8b6ba694..deceba0ea554 100644 --- a/pkgs/applications/misc/st/default.nix +++ b/pkgs/applications/misc/st/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft, fontconfig -, conf? null}: +, conf ? null, patches ? []}: with stdenv.lib; @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "0avsfc1qp8zvshsfjwwrkvk411jlqy58z225bsdhjkl1qc40qcc5"; }; + inherit patches; + configFile = optionalString (conf!=null) (writeText "config.def.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; diff --git a/pkgs/applications/misc/st/wayland.nix b/pkgs/applications/misc/st/wayland.nix index ed7e0cf7ca1d..4d9f0ef3f8d5 100644 --- a/pkgs/applications/misc/st/wayland.nix +++ b/pkgs/applications/misc/st/wayland.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, writeText , ncurses, wayland, wld, libxkbcommon, fontconfig, pixman -, conf? null}: +, conf ? null, patches ? [] }: with stdenv.lib; @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "7164da135f02405dba5ae3131dfd896e072df29ac6c0928f3b887beffb8a7d97"; }; + inherit patches; + configFile = optionalString (conf!=null) (writeText "config.def.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix index 63a8d6cf7897..68dd69f385d9 100644 --- a/pkgs/applications/misc/sweethome3d/default.nix +++ b/pkgs/applications/misc/sweethome3d/default.nix @@ -48,7 +48,7 @@ let cp "${sweethome3dItem}/share/applications/"* $out/share/applications makeWrapper ${jre}/bin/java $out/bin/$exec \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --add-flags "-jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}" ''; diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix index da038a693813..61b47dcdd2ad 100644 --- a/pkgs/applications/misc/sweethome3d/editors.nix +++ b/pkgs/applications/misc/sweethome3d/editors.nix @@ -42,7 +42,7 @@ let cp ${module}-${version}.jar $out/share/java/. cp "${editorItem}/share/applications/"* $out/share/applications makeWrapper ${jre}/bin/java $out/bin/$exec \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --add-flags "-jar $out/share/java/${module}-${version}.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}" ''; diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix index bf99f0f5f651..43b7312cda64 100644 --- a/pkgs/applications/misc/tilda/default.nix +++ b/pkgs/applications/misc/tilda/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig autoreconfHook gettext confuse vte gtk makeWrapper ]; - LD_LIBRARY_PATH = "${expat}/lib"; # ugly hack for xgettext to work during build + LD_LIBRARY_PATH = "${expat.out}/lib"; # ugly hack for xgettext to work during build # The config locking scheme relies on the binary being called "tilda", # (`pgrep -C tilda`), so a simple `wrapProgram` won't suffice: diff --git a/pkgs/applications/misc/udevil/default.nix b/pkgs/applications/misc/udevil/default.nix index 75c02d3ba6dd..8ce683ec9088 100644 --- a/pkgs/applications/misc/udevil/default.nix +++ b/pkgs/applications/misc/udevil/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { --with-mount-prog=${utillinux}/bin/mount \ --with-umount-prog=${utillinux}/bin/umount \ --with-losetup-prog=${utillinux}/bin/losetup \ - --with-setfacl-prog=${acl}/bin/setfacl \ + --with-setfacl-prog=${acl.bin}/bin/setfacl \ --sysconfdir=$prefix/etc ''; preConfigure = '' diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index ffba09e69f95..e861973b13cc 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram "$out/bin/xca" \ - --prefix LD_LIBRARY_PATH : "${qt4}/lib:${gcc.cc}/lib:${gcc.cc}/lib64:${openssl}/lib:${libtool}/lib" + --prefix LD_LIBRARY_PATH : \ + "${gcc.cc.lib}/lib64:${stdenv.lib.makeLibraryPath [ qt4 gcc.cc openssl libtool ]}" ''; buildInputs = [ openssl qt4 libtool gcc makeWrapper ]; diff --git a/pkgs/applications/misc/xneur/default.nix b/pkgs/applications/misc/xneur/default.nix index cc08436fa033..8e3165b75d26 100644 --- a/pkgs/applications/misc/xneur/default.nix +++ b/pkgs/applications/misc/xneur/default.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { sed -e 's@for imlib2_dir in@for imlib2_dir in ${imlib2} @' -i configure sed -e 's@for xosd_dir in@for xosd_dir in ${xosd} @' -i configure - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk}/include/gtk-2.0" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk}/lib/gtk-2.0/include" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${cairo}/include/cairo" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pango}/include/pango-1.0" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${atk}/include/atk-1.0" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gdk_pixbuf}/include/gdk-pixbuf-2.0" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gdk_pixbuf}/lib/gdk-pixbuf-2.0/include" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk.dev}/include/gtk-2.0" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk.out}/lib/gtk-2.0/include" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${cairo.dev}/include/cairo" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pango.dev}/include/pango-1.0" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${atk.dev}/include/atk-1.0" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gdk_pixbuf.dev}/include/gdk-pixbuf-2.0" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gdk_pixbuf.out}/lib/gdk-pixbuf-2.0/include" export NIX_LDFLAGS="$NIX_LDFLAGS -lnotify" ''; diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix index 3a88409999fc..62e7ee60cb3e 100644 --- a/pkgs/applications/misc/zathura/core/default.nix +++ b/pkgs/applications/misc/zathura/core/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" - "TPUT=${ncurses}/bin/tput" + "TPUT=${ncurses.out}/bin/tput" ]; postInstall = '' diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 7bcc6242389d..9fbc8959ad26 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -8,7 +8,7 @@ , libusb1, pciutils, nss , python, pythonPackages, perl, pkgconfig -, nspr, udev, kerberos +, nspr, libudev, kerberos , utillinux, alsaLib , bison, gperf , glib, gtk, dbus_glib @@ -112,7 +112,7 @@ let buildInputs = defaultDependencies ++ [ which python perl pkgconfig - nspr nss udev + nspr nss libudev utillinux alsaLib bison gperf kerberos glib gtk dbus_glib @@ -147,7 +147,7 @@ let }' chrome/utility/media_galleries/image_metadata_extractor.cc ''} - sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${udev}/lib/\1!' \ + sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${libudev.out}/lib/\1!' \ device/udev_linux/udev?_loader.cc sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \ diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix index a0b354f0327c..82b3bc3ea59c 100644 --- a/pkgs/applications/networking/browsers/chromium/plugins.nix +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -44,6 +44,7 @@ let phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ]; outputs = [ "flash" "widevine" ]; + out = "flash"; # outputs TODO: is this a hack? unpackCmd = let chan = if upstream-info.channel == "dev" then "chrome-unstable" @@ -63,7 +64,7 @@ let ''; patchPhase = let - rpaths = [ stdenv.cc.cc ]; + rpaths = [ stdenv.cc.cc.lib ]; mkrpath = p: "${makeSearchPath "lib64" p}:${makeSearchPath "lib" p}"; in '' for sofile in PepperFlash/libpepflashplayer.so \ diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix index d79a5215ce21..8a8478d3867a 100644 --- a/pkgs/applications/networking/browsers/dwb/default.nix +++ b/pkgs/applications/networking/browsers/dwb/default.nix @@ -18,10 +18,10 @@ stdenv.mkDerivation { preFixup='' wrapProgram "$out/bin/dwb" \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules:${dconf}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules:${dconf}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" wrapProgram "$out/bin/dwbem" \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix index 1ff70cb8ccf7..883b2abf44ac 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix @@ -4,187 +4,187 @@ # ruby generate_sources.rb > sources.nix { - version = "45.0.1"; + version = "45.0.2"; sources = [ - { locale = "ach"; arch = "linux-i686"; sha256 = "6dff17afbbbb9ba8e064b431db1f6b6a1862ec56e11dfa8cb8ef5d89dd9f7705"; } - { locale = "ach"; arch = "linux-x86_64"; sha256 = "4f806511a1e7c2100d976a9753f0e7ecee483f19ca1176e1867021a55725aabf"; } - { locale = "af"; arch = "linux-i686"; sha256 = "0a2e0b55e43b41304895f624ae95372e4ab52b06c8892e0ef02a8e41c5ff28e5"; } - { locale = "af"; arch = "linux-x86_64"; sha256 = "c865d4a431c3b92347393b62c4589fe67f4323458faf1ee07367e1f432d0e839"; } - { locale = "an"; arch = "linux-i686"; sha256 = "d58dcdb222fad88650d65623005897de7a693d16c44d86f25694a00d7fa5111d"; } - { locale = "an"; arch = "linux-x86_64"; sha256 = "b00ac5cf76fe562cac8f72327cdf0e54b2c4384586fbb064deb72d2741e05268"; } - { locale = "ar"; arch = "linux-i686"; sha256 = "42851096189bc53d18ea26d9de1d0321b033a5601594c0515530263cf3155b12"; } - { locale = "ar"; arch = "linux-x86_64"; sha256 = "4d7e8760da3dac6cffa8eafeb22c759bfad3664bba7f690c0f1d1aa5284aed3c"; } - { locale = "as"; arch = "linux-i686"; sha256 = "706d584ea78172ec88c29d124abf2bd34881c9752231fdb3f491d0bf858fc5c5"; } - { locale = "as"; arch = "linux-x86_64"; sha256 = "13ed628c2ef29b8d3188274e6fc101ba622d4e1ca20880b381e62225c5f057d5"; } - { locale = "ast"; arch = "linux-i686"; sha256 = "9f8f5870245cf0016d4a9a540d29d31249188fa8f390c47cfd330874eb20e8dd"; } - { locale = "ast"; arch = "linux-x86_64"; sha256 = "9bd85381abe1335ca9208ad764477e6f2a926288058c91aee0af3a3967aa1e57"; } - { locale = "az"; arch = "linux-i686"; sha256 = "9e117f5aabdb8f71bcaf8073c76c4b795c957e6739471fed0f484d0ed39b5a98"; } - { locale = "az"; arch = "linux-x86_64"; sha256 = "06ee5bd4f1096e6728120fbed4ed6cbc88cb1003c484a15dd624254ae93ed849"; } - { locale = "be"; arch = "linux-i686"; sha256 = "c6091272b395905e746271176d354ff59eccc9d96c5e1ecc2e8e5c3ac65ed2f0"; } - { locale = "be"; arch = "linux-x86_64"; sha256 = "090ba5d28858b2c58a6a29ce0f435797a938cd788ebd3413db4ced224329d2e4"; } - { locale = "bg"; arch = "linux-i686"; sha256 = "1b8b5bbe6473b13fb80ca31514f7386015f5920c7a3d8391aa5549eedcfd09ce"; } - { locale = "bg"; arch = "linux-x86_64"; sha256 = "b49fa01d8749c1b4d327dca2379e4940d5d85d310e998cad66efecc2f485cf9c"; } - { locale = "bn-BD"; arch = "linux-i686"; sha256 = "3372a82af514706d8eacc5e4d35584379408db964c3cfd35ea75597ddefad7e8"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "798a2a405e175f8347dfd933300eba728cde6dbe47fa831552e40b87455bd921"; } - { locale = "bn-IN"; arch = "linux-i686"; sha256 = "3895feec666feb59a554310efc70b248d63906ca6bde59c03d9a29fa2d4cd7c2"; } - { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "58725666980beeb5a651683a76be2084ba9d40530a063f1f1ebf160fb4db8e0b"; } - { locale = "br"; arch = "linux-i686"; sha256 = "21d56c17d225a6a35711bb8354724a05ad15ec565cc70ec128384f9b8762edba"; } - { locale = "br"; arch = "linux-x86_64"; sha256 = "c0cc5568b2fac5ba35ef742fd1f87fbb73e1bca47240e888848ac804f4bd7714"; } - { locale = "bs"; arch = "linux-i686"; sha256 = "4b2d818c81bc15dad48c47847c14a00cec5b93615a23cb5d2068f4a2ef98b810"; } - { locale = "bs"; arch = "linux-x86_64"; sha256 = "a35a4cd723c446ac5593989f7fc4a56aace5cbf6bce757f3a92986e795ab07ba"; } - { locale = "ca"; arch = "linux-i686"; sha256 = "66497de3bf6069c1af68f6a50988919b8ff37afb9da7ce327a5beb014b75aa0f"; } - { locale = "ca"; arch = "linux-x86_64"; sha256 = "188b43172959c2ef064ef558d0b6518409eb19bb33add98d77a8bf260def55e6"; } - { locale = "cs"; arch = "linux-i686"; sha256 = "2ccd96ef1b831580dcfe84f62501fcebae7fdf8a803786913bd24a9cc9904ff7"; } - { locale = "cs"; arch = "linux-x86_64"; sha256 = "c9e1665399f055c561ec6d8df90235c3bfb3570d7ec613b959e80c5080e7c614"; } - { locale = "cy"; arch = "linux-i686"; sha256 = "789aadc04e83af8cc08cb9dd67bc61aef337a31d2ac17239c194de2d12608b6e"; } - { locale = "cy"; arch = "linux-x86_64"; sha256 = "6d695037d9000911422a6b50d09ef250044d629368900ec569a06ac245c1eb2a"; } - { locale = "da"; arch = "linux-i686"; sha256 = "b63788d28be0cbc37499e5ad41b8a904413c537a5786b1c2934c304f2adf4ded"; } - { locale = "da"; arch = "linux-x86_64"; sha256 = "a5d4cf1dec637ce5c09ee9f8be82ad32756a56ff0e8c529c945b40adb3b928e0"; } - { locale = "de"; arch = "linux-i686"; sha256 = "ae3b299a514423faf79bd21952f90e37a4d8e7be2cadca9a1befff4160f103e7"; } - { locale = "de"; arch = "linux-x86_64"; sha256 = "971b80131db7e1facd480546d9bd780bf69d2a99338d9e50415eb6583e550cdd"; } - { locale = "dsb"; arch = "linux-i686"; sha256 = "87c439cfbd139477055e5a8bd421aa65cb75cdb93090a54899d25411ab3d5dde"; } - { locale = "dsb"; arch = "linux-x86_64"; sha256 = "2a04b723d1ed3f9bab3dc9f11fc315fbce2543bfff37532e7cd7a4b9a33d7936"; } - { locale = "el"; arch = "linux-i686"; sha256 = "37e02fb347d8cb1f3b5079c3be055c0e37cdb3a6ab97b2928237beeb446e800e"; } - { locale = "el"; arch = "linux-x86_64"; sha256 = "9a439341ff9c39cfe8dcb6681221d0d78690ad063ac99a201001f5787b5ec270"; } - { locale = "en-GB"; arch = "linux-i686"; sha256 = "a3cc4951a826e483ddb7832333e032e9197418cacdb4250e5072de1ad2fef5d2"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "433ecbabc4d1fabb2ebad958c4e7a0bb9cff9a657b1a641f820d5f0a7ba8c1f1"; } - { locale = "en-US"; arch = "linux-i686"; sha256 = "a78498b51059f46d42cf2fcb2232d57d97f2ab4e8a789151d3a26e013132dbb8"; } - { locale = "en-US"; arch = "linux-x86_64"; sha256 = "251e8d67abe989ddbf7cf9e78bba58eee43e3b1eb0c461a9c6c376bda6c71a87"; } - { locale = "en-ZA"; arch = "linux-i686"; sha256 = "d6195b72e56ca9ea366ab47885ee22b0f7bf4811b3cc937c36af53fe4e6f5d89"; } - { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "f82eba9a593fd6ad8a9b5b8b61d2ccf986080a1cff2af598afe930cd96423a5d"; } - { locale = "eo"; arch = "linux-i686"; sha256 = "b6bcfea89be5883e1e5d2899bab371b7d972d4be5717d21d522bc56679463dd9"; } - { locale = "eo"; arch = "linux-x86_64"; sha256 = "4908438cf56646665f91bf12e46c611818c5323979048d01bbdc4d5cf945832d"; } - { locale = "es-AR"; arch = "linux-i686"; sha256 = "ace48b5a36bccf1d21e17611e9ef7c21786f207da111473479473e5bc5817fe9"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "277ec48d9b45bd41dcaa141d67f5f814845d5e0faeca97c6f5d507f8c9ce5312"; } - { locale = "es-CL"; arch = "linux-i686"; sha256 = "78cb60452201df5cff7ed7da54f3f876596de0a895887f8016b3d642d727e96c"; } - { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "3be79c28ea7f7ea075fc92e418ff980176dc9707329f1043c54161e703b43028"; } - { locale = "es-ES"; arch = "linux-i686"; sha256 = "4bb8d2732754c1112bc8d32a26b0cfee79449447a4cb8ca368f1d41e9ba43d37"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "f512f8f1b163c72234173944c5781550810b90c2b6a1a6f8d070b87a8f85192e"; } - { locale = "es-MX"; arch = "linux-i686"; sha256 = "01f2b5e09792714b6315933ec714c5d1baa77bbab5b4e4d06ecf670c47c75d40"; } - { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "c7af08a37c116a5cb805cf0b60ef1b1a8f956fec3381ceb0288c62355b05c91b"; } - { locale = "et"; arch = "linux-i686"; sha256 = "0aac86a5cd520a806aedc2f8111798eebcb08919099973f7d7fc7addfbaa0584"; } - { locale = "et"; arch = "linux-x86_64"; sha256 = "fa0ad1bfd65d231cc58c9d79fb07cd4a98d5976e870af017642a77ebd7a4b260"; } - { locale = "eu"; arch = "linux-i686"; sha256 = "4bad5d7e4e2d917606f63efa079092516ff1435013adb8aedbe95a53aa2c594a"; } - { locale = "eu"; arch = "linux-x86_64"; sha256 = "9e390ebf06c5abc46f80ec8c77bd7572de827ee5d368de34c1252ee386687372"; } - { locale = "fa"; arch = "linux-i686"; sha256 = "9738ddfbaaf3e34c5546c584d9dbdeca68086e66f06b438760befb23e07593cd"; } - { locale = "fa"; arch = "linux-x86_64"; sha256 = "55e8f1f2547a9c7c3bb3cf7029e166ae42a3745f51b58c87d7eeaf6ecdb81952"; } - { locale = "ff"; arch = "linux-i686"; sha256 = "dfb266913e27299469de2a5ffedd5fa47f344d6d7e092ddf630cde726b94934d"; } - { locale = "ff"; arch = "linux-x86_64"; sha256 = "370e310c39f0a87cc8e3ecc5bd6c8f3bbd863b1a8d7e613a0c2fa9be7b8b988c"; } - { locale = "fi"; arch = "linux-i686"; sha256 = "2d10c5e21f414cc83a5413e8a2fc53124c2dadb718861410fa45e57c8ba4fd7c"; } - { locale = "fi"; arch = "linux-x86_64"; sha256 = "d791eda3135572d0735393ee1101383b4d20142a4279dfe615a9e20c341ea4ea"; } - { locale = "fr"; arch = "linux-i686"; sha256 = "94118a53c25a0fb243b63d51a64c077672c4c93d7ca964f6384e3bb8234891a1"; } - { locale = "fr"; arch = "linux-x86_64"; sha256 = "6ccd8216017b2593430a812ea167a97012060d41fbf610bf518b8d997ac59c53"; } - { locale = "fy-NL"; arch = "linux-i686"; sha256 = "bd5cfd3565353ae8d01d8c9089a364394aa0ebc4547a41dba11ced14a494ed9d"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "0db0aa59c0df881f901d794fdf99f5abd27db88e0c3ab2d364b22eb7326152db"; } - { locale = "ga-IE"; arch = "linux-i686"; sha256 = "59486516e8aa13ca113e1f2998b05509dba0546aa7b11d99ff6da55a6f069f64"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "1cda950ea6cc6d8957d580fd2c59784bf6cd339083f0fc3cd3a084e0326b0041"; } - { locale = "gd"; arch = "linux-i686"; sha256 = "602047e1669e9551f7a3501082e81e3e79287082b981d59f515887c5e892fb70"; } - { locale = "gd"; arch = "linux-x86_64"; sha256 = "d5b901d78e06a75d2534214bb849e31696ec44349c18b9b511e68951d29fde90"; } - { locale = "gl"; arch = "linux-i686"; sha256 = "d55a556321c600024ea2fc38d9671f34c490046da88a89e4ae46d9217bf64677"; } - { locale = "gl"; arch = "linux-x86_64"; sha256 = "3deb86b766f51a218266cf4d97e1b3332c8ca7d75cc86491d940a8b9f37c0bb5"; } - { locale = "gn"; arch = "linux-i686"; sha256 = "f38099f998e5bc396360856fe2543152feed086b64a85b7ac3bd2b9e3e0ad609"; } - { locale = "gn"; arch = "linux-x86_64"; sha256 = "af4055322dc0524a00fc3ac08a4b2eb40a305dd574b92cc591fee6a00482c4b6"; } - { locale = "gu-IN"; arch = "linux-i686"; sha256 = "3210857982a6628f8c2632995c248eed1bd1c719ddcbacb663839990e67b88c8"; } - { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "bb2154aba760896180ae747648530880127c8c46481b04a1ea0cb3b47c2a6f41"; } - { locale = "he"; arch = "linux-i686"; sha256 = "18b5217fee9e30bd4bb7f1ea27445ff4aede149a286c07b7c8e9740330b7e6eb"; } - { locale = "he"; arch = "linux-x86_64"; sha256 = "2f51ccc6e5c64976c2f81818d0a4381e508aa5f70ec2108f0e6f512a51574709"; } - { locale = "hi-IN"; arch = "linux-i686"; sha256 = "555318d41795c988f41655bcf4653aef259c2e3dc80fdcf95670c6ada7fe687c"; } - { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "683e0437ff9168e159e933bf72f6db2d95ae94bb06bc48a1d1fafd30b7028fe1"; } - { locale = "hr"; arch = "linux-i686"; sha256 = "c7a2cfb5f4594a3690797ee5559949154b3dd8c9e6a4dbd774e312f914e0b268"; } - { locale = "hr"; arch = "linux-x86_64"; sha256 = "94098ca5f069445a6514d4b7500ae10b018b4e1dba2eb7052a200c5eb707ba41"; } - { locale = "hsb"; arch = "linux-i686"; sha256 = "c81cde05298660186d2760e977e43e554a896105765c043caac74b09326358fb"; } - { locale = "hsb"; arch = "linux-x86_64"; sha256 = "4cdd381d2eb94f163637a328e5ee9369eddc0559f17861377566853e2a7ec571"; } - { locale = "hu"; arch = "linux-i686"; sha256 = "0af518a42e35174f838b958823ad1aa24a14ff75a6058c2171594e16d5670d77"; } - { locale = "hu"; arch = "linux-x86_64"; sha256 = "b4c0212fe6a8df9689d5dfcaa9ebb2a1cf07e1e9817727581411542ea9bf26b5"; } - { locale = "hy-AM"; arch = "linux-i686"; sha256 = "0d62e6627e3ea838089a6b8b8692d034a64b47c66af80561a23bcdd74fcc777b"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "0e07e77cfac6588f8b1c3579b7dfc62feafcb72e7f9f57e2618364e3c02c0527"; } - { locale = "id"; arch = "linux-i686"; sha256 = "9361b3c83f4b3fe84d2918810b4651bc2878eeb3cdc849c513aa3faa17bb9a72"; } - { locale = "id"; arch = "linux-x86_64"; sha256 = "baaa11970fb695434fc2c7829d99578f7f48debb5e11729f94b58df330608c36"; } - { locale = "is"; arch = "linux-i686"; sha256 = "3f1fc35dc18a684a22c05a2ce468b5a164b6c83457694f9de4e6f9a72c28c6df"; } - { locale = "is"; arch = "linux-x86_64"; sha256 = "046fa860343ea079db768d94c5dbc563d6564df5a177f2a5cb7fdfa965576019"; } - { locale = "it"; arch = "linux-i686"; sha256 = "ce736af6240e803a3c1fabb58bdae2e27e44ff593e56172b3d6d174c89f606e5"; } - { locale = "it"; arch = "linux-x86_64"; sha256 = "e2a8fb6e3f18b2be4b7736e3c8adf77968bc13dea7f981e20ae47430b137695c"; } - { locale = "ja"; arch = "linux-i686"; sha256 = "2153c10104c62a5814a4f72fab7be6ffa2e03e5c5cc5f7172820d0a139134fe6"; } - { locale = "ja"; arch = "linux-x86_64"; sha256 = "446a20d4ca5c7086045f8750eb0bcc850118d2f020a77f8fa4d116064b443953"; } - { locale = "kk"; arch = "linux-i686"; sha256 = "3ddda0311feee7c247fd309a7721f4be8458fa528e63a2e8f58c005f70007144"; } - { locale = "kk"; arch = "linux-x86_64"; sha256 = "4dd8f3ea040fb2d6056f0c0f615ed38f09c980cee660fba1f8aaf0fd506745eb"; } - { locale = "km"; arch = "linux-i686"; sha256 = "a295d9d466aef89c95989866a38080d3d1b110e4efb52b1a01479817dd1c866c"; } - { locale = "km"; arch = "linux-x86_64"; sha256 = "dbb249a1398c335a155ea2b2f6ac4656f8ff00b999035dce9f5a59532043f9c3"; } - { locale = "kn"; arch = "linux-i686"; sha256 = "357077be38c6869602a13abf1f494ec8a124a9eb2c03a395a1b30276110b6913"; } - { locale = "kn"; arch = "linux-x86_64"; sha256 = "11658a25f30558a6f11f28c80a98800095ef4c5879d456dc3503737a8d9cb465"; } - { locale = "ko"; arch = "linux-i686"; sha256 = "a653f4030480ab17d77c48b144296e78faba7ad48fdce812afbe8243299575c5"; } - { locale = "ko"; arch = "linux-x86_64"; sha256 = "182858b0c4bd6ece47aff2b406da7442eb3fbe148c3bc20975f6bafd2acd37ac"; } - { locale = "lij"; arch = "linux-i686"; sha256 = "449088107c0077318d95176a90a65219a76c851c98dd5b929452bfde2a87773f"; } - { locale = "lij"; arch = "linux-x86_64"; sha256 = "8b45df098143a01f915b8eee0f8b7d56b4ec73fc9cfd0fba8c5f4b8582992f80"; } - { locale = "lt"; arch = "linux-i686"; sha256 = "085e9873154fab87c909cef005a82f0d5ab81a8ece9adfe46766ae69418084f6"; } - { locale = "lt"; arch = "linux-x86_64"; sha256 = "dde643769a14714cb9990fa489389fd5cabcfb26b23c31bb32dbaa17a38f5150"; } - { locale = "lv"; arch = "linux-i686"; sha256 = "f6363da3c7ebd5f9d80454ad126ac1cf03ef2c9fd2eebf5cb174f0d7a9cf1e36"; } - { locale = "lv"; arch = "linux-x86_64"; sha256 = "41fb793c10d5eb52dd3847f9dee30c3f67c8ad5061897d9f13135b7d1666a84b"; } - { locale = "mai"; arch = "linux-i686"; sha256 = "96af787075b06d96a2e8a261b900f6eb590f4997354dcd9f57a8714af3432a12"; } - { locale = "mai"; arch = "linux-x86_64"; sha256 = "514e75157308cd6fc96c54592dd1c1f5b556c15c5b211543644f324eee09b1a2"; } - { locale = "mk"; arch = "linux-i686"; sha256 = "1f809ef4d0afcb13bb40459a63be49ab6e074641e8f4ce54e9d2bd89c4b0b141"; } - { locale = "mk"; arch = "linux-x86_64"; sha256 = "4931d99ddd6851e4e4596a808e6b6e5fe45012711723c6748b752217c70be9d6"; } - { locale = "ml"; arch = "linux-i686"; sha256 = "5081b42676c174226c357c798d64cade2acecf6e935bbfabdaab548d364dd1ff"; } - { locale = "ml"; arch = "linux-x86_64"; sha256 = "1cbaa2c64d8fc098b67f77660e18a3df3e051396a3d5e0f984294b0823324365"; } - { locale = "mr"; arch = "linux-i686"; sha256 = "d1cc4ef0d9938c85a21e64e4a71539d46a78c709edd1ac1dc331da8ae6af57e1"; } - { locale = "mr"; arch = "linux-x86_64"; sha256 = "8fc0abfe8e834c0894187fab63becd1e3d4e071609676c1d0a8fd35a4265ec60"; } - { locale = "ms"; arch = "linux-i686"; sha256 = "7f471e30f28f0ccf6bc285d24923be2b53415891f4f0909c31160bd09d8e2c21"; } - { locale = "ms"; arch = "linux-x86_64"; sha256 = "150101c5a3556664a9e3827edf36c412c64037871a5af5f66c47bed448c8931d"; } - { locale = "nb-NO"; arch = "linux-i686"; sha256 = "67b888c5b666e1428c182dfa79aa1a9a471c785d4dac85e6cf1f618dee9c796a"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "57c1aee6f309536788a9a9bd2be3046d65c9b174583de7e0b72cf45f28156f67"; } - { locale = "nl"; arch = "linux-i686"; sha256 = "43feb0205631ff5caa6e7d71fa37a6643b3b3fd92fc06b77cef9e9a0113bb1ce"; } - { locale = "nl"; arch = "linux-x86_64"; sha256 = "182481c49deb71d9344a8789db40e233326719dbe19973fedeaaa504ba771fcb"; } - { locale = "nn-NO"; arch = "linux-i686"; sha256 = "995abcace6138d11252b60958a8d5a13a1abf94c8017e567053468f811549b24"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "d449fa5534d9a7f5e772678388770f14fa32226b0366e9a2adf7cd245b911139"; } - { locale = "or"; arch = "linux-i686"; sha256 = "a7abea23a03ed38048e724e2f7fa234e24f0f74d8681e39bca5ef183178df923"; } - { locale = "or"; arch = "linux-x86_64"; sha256 = "b05963dc6e13757b4afd1a1fa72c3128cbdfc9db3ba16adc20d2fd2eb101f165"; } - { locale = "pa-IN"; arch = "linux-i686"; sha256 = "4a30beb8ca9feca58487264abbed2a403336835140767ebac31be24bcf4b9386"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "77b77274a7eac09f4d1a7163ba5555ced722369717d98ba1dab014140a4ac235"; } - { locale = "pl"; arch = "linux-i686"; sha256 = "699b72fd6bdda12d71521bc0e32fb1a95d933dc45f62595e6b02f5441ff6d016"; } - { locale = "pl"; arch = "linux-x86_64"; sha256 = "d748461e3e45a3d07aa36bde8fd265a51888e34ce0a8e23fdf893e540cc90e16"; } - { locale = "pt-BR"; arch = "linux-i686"; sha256 = "0b7062f911ce1d70e5300cd85328aa507c9a39ad14110a0241e23280af0f6db5"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "b2de3df121d0ca4b4c322533040ae5187cff9fad8e8b83997425867c051b636c"; } - { locale = "pt-PT"; arch = "linux-i686"; sha256 = "801a04cd65d7253c95bfb9b680abba87b45e3f0cff18f94b81945ed47154b9e7"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "5e6a28463b388fb2a242af899e521a7c2a4bcc48959d0f6813335fd11e3b5861"; } - { locale = "rm"; arch = "linux-i686"; sha256 = "57d8127547da954a6fdecaaab0006d570125ad577ad7d66e53c97e1c2194258e"; } - { locale = "rm"; arch = "linux-x86_64"; sha256 = "f6158506cbf3c96a5f6a551969338a65369f2be52bfa80359da3941d2f3277bb"; } - { locale = "ro"; arch = "linux-i686"; sha256 = "980701a87255b999c4df5d82a53b653bb513675ba93e5138bc47e91174d03c3f"; } - { locale = "ro"; arch = "linux-x86_64"; sha256 = "95e80b8bbd38510719463ca1b67e574f0a1d62daa8fbd09f4bba277749c57517"; } - { locale = "ru"; arch = "linux-i686"; sha256 = "16e6775a26756b445e5c72220297062b3e4e1ab66efd0324eb161a4d5b353874"; } - { locale = "ru"; arch = "linux-x86_64"; sha256 = "9bc067f5c158f33fdafd8b7ea1ab3492002ceca579a177a292a835d52c430c27"; } - { locale = "si"; arch = "linux-i686"; sha256 = "2fdc744bc85488514b9bcf93b017e6f6fcfd4cf7c249c1e7d307956cb62baf43"; } - { locale = "si"; arch = "linux-x86_64"; sha256 = "366893e7b7337ff6bdfe0def0ac88615e9cadb460fbcb17dd047f18172782208"; } - { locale = "sk"; arch = "linux-i686"; sha256 = "3efabb4f04376688f51df5c70fb4cfc0b382e9b6160eb625969945a8e3272a18"; } - { locale = "sk"; arch = "linux-x86_64"; sha256 = "dd97fc87382cca475b4b8ef8ab137b8f436e4a4792bfc06bcf0e7736e1f5e452"; } - { locale = "sl"; arch = "linux-i686"; sha256 = "3ba940deb5b1db31aaf07c005e62ddbd6acf44d3d0e775aab51c2eb0dc2da936"; } - { locale = "sl"; arch = "linux-x86_64"; sha256 = "dae438abc4cdd552bc7750ecebe958cbb7ef0edbb745d19e9b670db1e5c9fa8f"; } - { locale = "son"; arch = "linux-i686"; sha256 = "ef1baa4e6b333cd19df938dd13b91e091c9ed838b72767def2c0eec7a473532f"; } - { locale = "son"; arch = "linux-x86_64"; sha256 = "c2e45137b18717889977e0203951ddd078e1379f05875915f295b14677b6e75a"; } - { locale = "sq"; arch = "linux-i686"; sha256 = "d4f48c90a2bd4f8751b66653e0aed0de3f4ff9b40bba306377577ef8cbf94541"; } - { locale = "sq"; arch = "linux-x86_64"; sha256 = "85cf583913978c109dcaf07b22442505554813b6129862668ef78f491588a153"; } - { locale = "sr"; arch = "linux-i686"; sha256 = "08725f28304608e029e9e4ccf0fb478eda4b6cde138ad65a53e2f88af97e8a6c"; } - { locale = "sr"; arch = "linux-x86_64"; sha256 = "bfdca6d30f044bed181d45396c81f0a1d0e9b9026607e0700cc1bf225408ac20"; } - { locale = "sv-SE"; arch = "linux-i686"; sha256 = "01f98e4954e1a1df5b0aaf711696b6f7e7237ea3df57071479e8749c621fbbf1"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "b1c292410edaa4d6595b21b803287030d21ddd64e7a6a941d7627bb4cbff2435"; } - { locale = "ta"; arch = "linux-i686"; sha256 = "d6d62857ccfe54ab870bcbe0ea98e41d59524b3958c28ddffcfb009d6305fde0"; } - { locale = "ta"; arch = "linux-x86_64"; sha256 = "253080f66f47850222c676d98626c5a879ee708d1f03b3598d4ac205998676c4"; } - { locale = "te"; arch = "linux-i686"; sha256 = "ffa9371d8960707a0062bc6cb5ed5aa84c9e5b9b898ddc403b346b519bf6f814"; } - { locale = "te"; arch = "linux-x86_64"; sha256 = "69c3776bfd41bae4067da4f5f350c5f0a906c2b8d1edffe5d3907bc7ca2ee863"; } - { locale = "th"; arch = "linux-i686"; sha256 = "3dbead624ae46c14208a61ed8c6b515117d472a8f8bebf14478bc467da23eeee"; } - { locale = "th"; arch = "linux-x86_64"; sha256 = "4c0db90021ad46d67f68b3d2d928a279cdff14b7d62f8fa4e07a33135ab925b7"; } - { locale = "tr"; arch = "linux-i686"; sha256 = "744327c6a3c514ff7b0bc5940f1744c95c6ac47165d5b316bbea11412a2d8550"; } - { locale = "tr"; arch = "linux-x86_64"; sha256 = "321f096a89898ed027b95efa4f02fdaa9118eb414e35088ce259b76048bf77fd"; } - { locale = "uk"; arch = "linux-i686"; sha256 = "f3d0a5a328b686cf18339e50a59920fe002166b35c5b5b29c04156bc5b5c6d4b"; } - { locale = "uk"; arch = "linux-x86_64"; sha256 = "b15e82737c69703bcdd97f5699280338e4c2029b5eea7df98fb218a5e2a579f3"; } - { locale = "uz"; arch = "linux-i686"; sha256 = "dfdf28670cacfd43f71d81c609fc2961682ec2c7a64ea540e49a571195e68852"; } - { locale = "uz"; arch = "linux-x86_64"; sha256 = "eaacd1534711def0ab30eb9a53db2553c4cc202ec07c40bc5b2ded7e729347ac"; } - { locale = "vi"; arch = "linux-i686"; sha256 = "4b4753038753d814d1e5a1ff995445abec80fd74d9443cac38495193bf039762"; } - { locale = "vi"; arch = "linux-x86_64"; sha256 = "3051a5f8b0d47860f98839c4496298d71aeb6ef98f099937b8da9d87d7a1986c"; } - { locale = "xh"; arch = "linux-i686"; sha256 = "2798bca7d894a0ba223694fe585e1b9fcf60cc96d881d7570c06a4d77afc4b20"; } - { locale = "xh"; arch = "linux-x86_64"; sha256 = "acb1084e32bc467cd3374e6930c8f51deea38e94ddde09bf5a257d473d2579e8"; } - { locale = "zh-CN"; arch = "linux-i686"; sha256 = "93a3f1b92aeb7a3e7659ebe0ad7c7df966279926fe3fdc7b0047bd858482234f"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "047d74546e4767d728e7522d908056c8aaad9cd8152517425443b59ff580bebe"; } - { locale = "zh-TW"; arch = "linux-i686"; sha256 = "b710126e2d7cd6f55b0dd54811de64c30eb69f97ea8a71905b3ea49e59abdfe2"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "d3b52404ab397385fcbb617f6cd8cda821d3927852e0a617dd60443c2cad6b65"; } + { locale = "ach"; arch = "linux-i686"; sha256 = "3e925e9594f84e6bce3f24fa0a1207ec584818df4815ae04a6c882644e2f7cc6"; } + { locale = "ach"; arch = "linux-x86_64"; sha256 = "c960352a5288f09752ff76440278e76700a1921109f0976b4d922ceeedec8e9c"; } + { locale = "af"; arch = "linux-i686"; sha256 = "3067a999cc678fe225c11288ed5659a251f237e098903b2cf6f23bdbceb70a9f"; } + { locale = "af"; arch = "linux-x86_64"; sha256 = "f329f7f3e15cd90263d70269c946f83bca01384618a59d590ca371930e7b1939"; } + { locale = "an"; arch = "linux-i686"; sha256 = "564ba48104a2db7709e4b9b25cf8d2853ef8a2b919a14030d7cc59751ac8ab8c"; } + { locale = "an"; arch = "linux-x86_64"; sha256 = "c2628a079e4c601d54c869d3b13ec1a772353885b29a63559aa544d5f48d4873"; } + { locale = "ar"; arch = "linux-i686"; sha256 = "3097a13c59a324f3f9b7504b4941b1846cfbd5593c91597a2475fe87efbb61f7"; } + { locale = "ar"; arch = "linux-x86_64"; sha256 = "b5778932fb122de9f7070393b4ae98e190e648857c94096a495e021a3c956a04"; } + { locale = "as"; arch = "linux-i686"; sha256 = "b6751bdaf612b8a975122812db0e7641eb5932e6c13879d7b48f2b7f5e8a2c6a"; } + { locale = "as"; arch = "linux-x86_64"; sha256 = "6501b0e3c4c55eef08e94dcd6f5fab70d01f88e57630f5a999279286fc9b1058"; } + { locale = "ast"; arch = "linux-i686"; sha256 = "40b5f29d2a818e60d5ed1ef2f37ed5a65bf52b9138b2e4fd1c110b404fbf3910"; } + { locale = "ast"; arch = "linux-x86_64"; sha256 = "6f9e6266d790784d57cab715d8d6fa5e648ec20287c8d6ad746972e284f5558b"; } + { locale = "az"; arch = "linux-i686"; sha256 = "005ca6c0184a9c5a2eee8d49b00782872abbe202c70654d856fd519ce62ea47a"; } + { locale = "az"; arch = "linux-x86_64"; sha256 = "32d5179de71be41b855d0454004e43d336289a6fe4967e869d0b9fb42fe2fe71"; } + { locale = "be"; arch = "linux-i686"; sha256 = "0fadc3acdd104cc171a18c74e11e853a9a322017f3f63b79712dc6628246630c"; } + { locale = "be"; arch = "linux-x86_64"; sha256 = "3fe751e0c702fc8a03f63cba1d1f2e0897b2f729c1b607f68f9934926a3343d8"; } + { locale = "bg"; arch = "linux-i686"; sha256 = "80c49634c1b0acb2ee533ddd6581845270f05a3406cd7b41bf5962182166c000"; } + { locale = "bg"; arch = "linux-x86_64"; sha256 = "12e74f5a3b8500f18126e305d49cf26290fb145d62d888bd00fd44b412dec105"; } + { locale = "bn-BD"; arch = "linux-i686"; sha256 = "22511d1c27f3876bbe7c4e791accdfa205e05cd3fc4143070f8e1e75521fa12e"; } + { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "239e59d26a842efd2ec61dcca73f7b6aadca6d4bb969e7447bf8ef2ed880a77c"; } + { locale = "bn-IN"; arch = "linux-i686"; sha256 = "72f72e6528c5d9e373e21065eba623cbbfc6c82e73db0df3581a1ffebe664cbd"; } + { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "580564e4a1e249a7cb6c83736343af43f903df82a97f8d2e19bd749e01867339"; } + { locale = "br"; arch = "linux-i686"; sha256 = "1dbc1d60e99812077b1b43a6f294e9c834db5b08ad67976290a5ea6f07d44c05"; } + { locale = "br"; arch = "linux-x86_64"; sha256 = "2c6524b05b9ab8da113066de6d6380cad29b681921c03486618dd2b6d10ca1ae"; } + { locale = "bs"; arch = "linux-i686"; sha256 = "11b706f2621a8026e10de074f0cbcb6bab4a7b0a17d144640c8296ea35e92c95"; } + { locale = "bs"; arch = "linux-x86_64"; sha256 = "e4ff831c617918c52b3b2a9e69a1f35f8b3e825f407cf6729d7e2b479860de29"; } + { locale = "ca"; arch = "linux-i686"; sha256 = "1c2aefd0ab56bcfd619705aba70018873581c7482307c32842ffdb68ce441f10"; } + { locale = "ca"; arch = "linux-x86_64"; sha256 = "47ab6aa2c474b9b04f246822c471548b2452559d04e4ec8cc099f3686729d285"; } + { locale = "cs"; arch = "linux-i686"; sha256 = "f2c4028d562148ad39390853d388ed0617419e97bda55a0c6c47bf0e94145446"; } + { locale = "cs"; arch = "linux-x86_64"; sha256 = "28d6eb534884b2c05afe87981b894c790fe57508b3e866cdcf341e1f9c51080c"; } + { locale = "cy"; arch = "linux-i686"; sha256 = "684b11673d16778961115b990734888975267c3c253a8081519e53ae95df5798"; } + { locale = "cy"; arch = "linux-x86_64"; sha256 = "d17294841995094d6395a4e65d50e5382e845d59e5949c952e96f4fe739d9bc4"; } + { locale = "da"; arch = "linux-i686"; sha256 = "4f2d29d52968c1b7a96af37beeee7150504bd3c32c4178a814ab0c4f86fe9644"; } + { locale = "da"; arch = "linux-x86_64"; sha256 = "65d01baab9e71a5a3d92124dbcc44c158277b273e8b6bcb302f853f61babde71"; } + { locale = "de"; arch = "linux-i686"; sha256 = "55af9ad39962559a48720c65f66d3bbab037ff30e777439428e2467a4559f039"; } + { locale = "de"; arch = "linux-x86_64"; sha256 = "835ea2e3757beb74c939296aa3d00092ff3f9d6d8805b64a267bcde28de0cb94"; } + { locale = "dsb"; arch = "linux-i686"; sha256 = "5b419a8f5e03257718237249be9c76eee759e46147d154bf994774139bb56be8"; } + { locale = "dsb"; arch = "linux-x86_64"; sha256 = "90d5dae350d65c6db8b156764ccdffe0f9951be29339a68db22018840c2247c1"; } + { locale = "el"; arch = "linux-i686"; sha256 = "77cc23059dc3b2956f3caf5802091ba48c4a42f5d86066f06282f82cb00845b7"; } + { locale = "el"; arch = "linux-x86_64"; sha256 = "daa2180f15708ec07902b639fe30cdb9c2c230622a92011e1065d24b706bbc62"; } + { locale = "en-GB"; arch = "linux-i686"; sha256 = "15b084bfeac2e49a0d40b37a890321500eede1bed2edaa95cf3bba8981bb6a08"; } + { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "c5d17b6386dcae9cf88b2d80b38e921646936f253616104bec5a2fbb58d25fbd"; } + { locale = "en-US"; arch = "linux-i686"; sha256 = "6ef1fb2322cf448afe2c09b008eb2bab0c2efa94378b2ae9889bf83ac6f779af"; } + { locale = "en-US"; arch = "linux-x86_64"; sha256 = "4068eb3eb07e9798ddc1449186a1c60196bb6051ca7217f6bcee5da21e41c6c5"; } + { locale = "en-ZA"; arch = "linux-i686"; sha256 = "4a61661b05ddd62f9e28ada0b39fe1a81cb5d737fa50d636561f79ec324e689c"; } + { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "ddc551e2d8d0c50ba268ba1e8fd9ecbe52e05b0de0d1bb586045206a9e745a7a"; } + { locale = "eo"; arch = "linux-i686"; sha256 = "236a9b6b632d1f30d63989f03783288eb8c1f144cae80b4549c0eded5dd95f1f"; } + { locale = "eo"; arch = "linux-x86_64"; sha256 = "0f3a07a470e146891326ac36aa38b58018a4aa9ae668c8bbedc3b95c28d3fcb4"; } + { locale = "es-AR"; arch = "linux-i686"; sha256 = "6feb23d97fa5a2356365d5779c18af5fc2a00b0e91c92a5127f4d576f916f7a1"; } + { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "5e2afba4834e6c44e8717090b832c76dfb5303617bc466be5299d579e9b298dc"; } + { locale = "es-CL"; arch = "linux-i686"; sha256 = "3734590f319e8e281938dae65ad2e6fd7496c0c480123a6a819b3bb5d1489c69"; } + { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "e0fcfccfe80dcc71a7d527539e42acfc6d6786a9e8491b426aab7fc3789c8cb6"; } + { locale = "es-ES"; arch = "linux-i686"; sha256 = "126cf64e6f7754fe0ff8a97499ccd528896ad3bbd89296271609092ade68524a"; } + { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "c8dbda78bffec09d401b39b76d9684a03f47102955d04604cfc2e7ddb0315f2f"; } + { locale = "es-MX"; arch = "linux-i686"; sha256 = "8f116ccad3093783476a60ea605e324b0046b84b59c9f858dc080d2e275cac51"; } + { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "e6a9c775983e310d3ed8a98530860ce19e7a78df16dffb95e4735007fcf82a57"; } + { locale = "et"; arch = "linux-i686"; sha256 = "1b2b205731ce638823bd448b3d90e919d13e24b9b92e25eebef3766bac3e8330"; } + { locale = "et"; arch = "linux-x86_64"; sha256 = "97ecc57e21229d46d9d152d7821e860f3f2a53c10eda7caeb865af1919c6a0fe"; } + { locale = "eu"; arch = "linux-i686"; sha256 = "5f0e7875993532ad234fe7af2a191619e308be726ed6ae8be01afc79f8c5f3c8"; } + { locale = "eu"; arch = "linux-x86_64"; sha256 = "bf2a52f3fce8ff4142cb1346cb5ce0f8b51959755698377db0807bc1e87e01eb"; } + { locale = "fa"; arch = "linux-i686"; sha256 = "12d593a12a0fcfcd720a6a5324b349c139f6e6759b111dab869e851241736e28"; } + { locale = "fa"; arch = "linux-x86_64"; sha256 = "29cb4531e485af7dae2a45a1b9a0620292eaa2764b4cd24504bce0e54c8b71ae"; } + { locale = "ff"; arch = "linux-i686"; sha256 = "d67f9937780713ed4c130713239254a1e0d3918f2d2f528b74651b413e281cbf"; } + { locale = "ff"; arch = "linux-x86_64"; sha256 = "140b199b0ce0a32fcf363946c942d733b587d9569c75f2dbab19161385f12d9b"; } + { locale = "fi"; arch = "linux-i686"; sha256 = "586346c2bc47b1b2693d03e4f2fe3b36de00966244120272426c597b94044595"; } + { locale = "fi"; arch = "linux-x86_64"; sha256 = "160d0036392cb38de1a7e15ba9d0d1acf0538ff1b575ab1d1df11d187c5ac74d"; } + { locale = "fr"; arch = "linux-i686"; sha256 = "f33b267d223d704beef813d0c7c8ab534152373435ef04db3b039ad56b02c556"; } + { locale = "fr"; arch = "linux-x86_64"; sha256 = "c141b154d5c56eefd94bfe7e391d0fa4027cee6685820e8be304c801d7064c65"; } + { locale = "fy-NL"; arch = "linux-i686"; sha256 = "2fff2f173cf6008b7bc17cad2ce16a43901f8484f3eb2700368acd64f98f075b"; } + { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "88227c796a82290c27b97cb27d8f606f1982115eb5724fe4a6169056ac000816"; } + { locale = "ga-IE"; arch = "linux-i686"; sha256 = "f9deacaf81e46267fd1d7297149e9f7e330bc2a58981cd65857c6add5eef6402"; } + { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c376d517de3aad4152c0d5dceb8ef1a2deef1213e568404f06163f9d4adbe777"; } + { locale = "gd"; arch = "linux-i686"; sha256 = "f4f11f104fe964196e1588b1cddf5a43c5a8591d41ec7baf365264562240d5be"; } + { locale = "gd"; arch = "linux-x86_64"; sha256 = "40993cbe7c6a42c467868e8cd60eb67aa8d0b7357617f5babb415cc3ffd608e9"; } + { locale = "gl"; arch = "linux-i686"; sha256 = "23c4a4a47fe7150c70f8489921b756ada22e45140e01d6817f9145de32b4d35a"; } + { locale = "gl"; arch = "linux-x86_64"; sha256 = "d3fa81ba627c6e75fea42715d8dc4c5fdbed841429a0493081f915623ad603c4"; } + { locale = "gn"; arch = "linux-i686"; sha256 = "ebbf6f05f6b61a6ecb7f5c91ca4a6b87824edced41777fe35293b5ba6836a6cf"; } + { locale = "gn"; arch = "linux-x86_64"; sha256 = "d9917c8dc1d236e569d040db1512872ce145af934ee3fad7a7e2d5a9a845a856"; } + { locale = "gu-IN"; arch = "linux-i686"; sha256 = "598f3feaa412fa85619fd60ca1a48b2a691867d8aab92b39d98d12a3ebee2253"; } + { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "f238f84dcc0f41f99073aa4c7bff1fd2dc5f896fb1b9cae00d9d21d199383879"; } + { locale = "he"; arch = "linux-i686"; sha256 = "22aacab2263a799f5503e6d73d76c6c7e8c3f2d39d9a8945d7e062e4078f4eea"; } + { locale = "he"; arch = "linux-x86_64"; sha256 = "6288418353ab0d51ba8b7a02a302e68dc3b26e5565cb14e50316e5300cb2f696"; } + { locale = "hi-IN"; arch = "linux-i686"; sha256 = "2ee18b7653f9edf926ff7927d24c04e9aba503174b4fa773a136fd3e29a256db"; } + { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "3f18f821cbc4781a9e6d84e54e0a70e2cdd18bcb61342922b1402a3eabb75839"; } + { locale = "hr"; arch = "linux-i686"; sha256 = "c8633fb837adf08b257d19b88e9e5d35c2b24a658da7088a3902b4b9b833e7dd"; } + { locale = "hr"; arch = "linux-x86_64"; sha256 = "714fcde1e42db06a9083946bb929a182891aadfd249bf5b63aa7f6ca744bcf0b"; } + { locale = "hsb"; arch = "linux-i686"; sha256 = "7f86d45ceb3f551b5b371047bbcccf9a75fe2f99df632b42d838419ee0c6d757"; } + { locale = "hsb"; arch = "linux-x86_64"; sha256 = "add010dbfe8a842c16a8dceb019675e04acb7b8de6d952d4b4faa2a368d37f1d"; } + { locale = "hu"; arch = "linux-i686"; sha256 = "cc994b9cfb60517062ce3570839b5e76def0a385b4e8793156d6a4719dd707b3"; } + { locale = "hu"; arch = "linux-x86_64"; sha256 = "a36d229286d5422dd15d5e0f33e7fb99f6ddff3db4efabc3be244fa26c7bd24d"; } + { locale = "hy-AM"; arch = "linux-i686"; sha256 = "508a5d85df7508c453a991e4a9679b31270da70983607cd9d127a8e432728a3c"; } + { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e21375aa7d5351a841ba05c8b0d921af1f334d37f714ed3c4303e90b5d4e34aa"; } + { locale = "id"; arch = "linux-i686"; sha256 = "58d7e3a898f5ae05bc7b0e99e83d8a39a7f5f935a086081af4a9d7ea98b927a3"; } + { locale = "id"; arch = "linux-x86_64"; sha256 = "c4b803b519780a0fd5a43fd23a3aef81d4197e860ad8e2908c5ddf2b76f538c3"; } + { locale = "is"; arch = "linux-i686"; sha256 = "a9fd41eb35ed7430915d9b09807555af1d8d81f5520deb4aae58e38edf3ca11a"; } + { locale = "is"; arch = "linux-x86_64"; sha256 = "74c6a4183f32043fcb6a3b52c71e8a23b36fc1381caff0dae8366cd80af391dc"; } + { locale = "it"; arch = "linux-i686"; sha256 = "b6d615f519b7664acb335a305d99bd6c6eb7db98eb29c7957b073fbeb468d63a"; } + { locale = "it"; arch = "linux-x86_64"; sha256 = "f65370cd57b1a885169447cc0b879dde715c58309db49f6c268db5113952a05f"; } + { locale = "ja"; arch = "linux-i686"; sha256 = "1b3766bd19c8841922cbe1e3a8144d9efe5ab4a3c9b2fe216811caff54607704"; } + { locale = "ja"; arch = "linux-x86_64"; sha256 = "68e14f495852e023534bce66626287621a7155464fd56bbe41b38b5bc7305341"; } + { locale = "kk"; arch = "linux-i686"; sha256 = "4a72592497d392d4f749733eeaa7964a95fcc3de007127ec198ac86f6a266382"; } + { locale = "kk"; arch = "linux-x86_64"; sha256 = "9d6333875c11425a467a32ebf649b7577462920592155ed54ec6130ce76073a0"; } + { locale = "km"; arch = "linux-i686"; sha256 = "e380caedd69287569274115aa4cee7b8d2187050d9f65a10ae36c9d48fd1d007"; } + { locale = "km"; arch = "linux-x86_64"; sha256 = "95794fa36975d732987012d406770710985c270c8f4e4c99407711d16279d941"; } + { locale = "kn"; arch = "linux-i686"; sha256 = "b0cd3f0c6da99b3e86ec4b08b962abb0d823329460e87761733db5d7987f1e5d"; } + { locale = "kn"; arch = "linux-x86_64"; sha256 = "47399283f7b395c5079b592c83a93487a17a2cab0e68d35c54aa6e5e647d2c66"; } + { locale = "ko"; arch = "linux-i686"; sha256 = "5f9b1c691d9c9a99dd280e3fff8df813aeeefe42ce5273ddf2848352bfde44f6"; } + { locale = "ko"; arch = "linux-x86_64"; sha256 = "360c82f93b7f529173f9259a4f475595d0ec4dc4b63b6ac46785bccd549e3dbd"; } + { locale = "lij"; arch = "linux-i686"; sha256 = "29f2d93c1f6695c22d4e766ee049bbe4f6fb034e22c12be407062db3deb0805c"; } + { locale = "lij"; arch = "linux-x86_64"; sha256 = "c47c6e13b44b8560487f39c6f668fc03ea42bf848fcb9926cf8e0e0014218fc3"; } + { locale = "lt"; arch = "linux-i686"; sha256 = "5915cf516690de51021eeccc66cce8142fee7882efd7add7a0bfaa5b04d65dbf"; } + { locale = "lt"; arch = "linux-x86_64"; sha256 = "04673232b52aae6b34b87b6a2638ad653a4e81430d21998919a56dbde10febd7"; } + { locale = "lv"; arch = "linux-i686"; sha256 = "6648a4a4b8be23ed6fb64efc0bb3e49c1807b5408d2df19d45a3b098b9bb605d"; } + { locale = "lv"; arch = "linux-x86_64"; sha256 = "769020e490b9b74608cbbb319254694f7a32c62b6397ff8c563fa27a33cbe16b"; } + { locale = "mai"; arch = "linux-i686"; sha256 = "5646fac52682c1053e7b58fa0b13fcf74c8b79e344ffa3a9614fa2509ef2b38d"; } + { locale = "mai"; arch = "linux-x86_64"; sha256 = "eb5db15e6584a5272d9c496d29ce4f500811ed4b49277b93ae432498aef80d0f"; } + { locale = "mk"; arch = "linux-i686"; sha256 = "8430792262871155bf07b652c5f8ae5408b0bb16fd9e6548010e86b2a1d604d0"; } + { locale = "mk"; arch = "linux-x86_64"; sha256 = "273812699d47c99f20d18fdcf547cd9c5386a4d8049dcb93e34c0303a9aae7a5"; } + { locale = "ml"; arch = "linux-i686"; sha256 = "bc3b9905214fde7623aa5567f6a6792b2c5cb32fde1172ad60b108a42a372c24"; } + { locale = "ml"; arch = "linux-x86_64"; sha256 = "0e21ef50fd3ecb301d0a62baf3e084723c0cc05c3a9569ce08ccf2698f40a526"; } + { locale = "mr"; arch = "linux-i686"; sha256 = "fb83926aa70735befc1c8c79c950a9dbb01344dfceff82aefa7640e79f659139"; } + { locale = "mr"; arch = "linux-x86_64"; sha256 = "ae6622f7cb9261985d8cc0bf06af9a51d7d8b391386aded9bf07576be60c5f12"; } + { locale = "ms"; arch = "linux-i686"; sha256 = "16b35b29882238095475719a4f8cecd5e49a8e50bfe5c2b943c604274cfb02ae"; } + { locale = "ms"; arch = "linux-x86_64"; sha256 = "04e390cdeabc686eee093ae2280628375b706c2b09b9aa29e788bc1663b21ad0"; } + { locale = "nb-NO"; arch = "linux-i686"; sha256 = "b3b931e5a38fc71aee2dc2290adb600b0d8e56923c30c748bacbbf527e2e8960"; } + { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "4d3c6f639e8c6579c525c6e8c5bd036b3c6abe0e2d14ee0596ac207b3f291f84"; } + { locale = "nl"; arch = "linux-i686"; sha256 = "40cc8d419bc536e2826766dbd9b3e58bb98730ed38926387bcadcc5b30c8b742"; } + { locale = "nl"; arch = "linux-x86_64"; sha256 = "4595b76ab812dd9ed16405d0863225c0d6f40dd70a96baee2632a5f8e4d2aab5"; } + { locale = "nn-NO"; arch = "linux-i686"; sha256 = "8cad1d60633dfb059c4e29b3a226397822ed10938909dd783b9b8c7bac0e8866"; } + { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "d0ac3c7ff26c4747222f2d7a1d5b4b69a861dee261ad338ed88ab8b35cf44ffc"; } + { locale = "or"; arch = "linux-i686"; sha256 = "b05473429fb2b844d96ee88108891e5cdc13c56526017ff6db1909ff60dbe1b5"; } + { locale = "or"; arch = "linux-x86_64"; sha256 = "406816e487831cd9a928fd9c140290f53d4a9575024adf71e1565d24e573abdc"; } + { locale = "pa-IN"; arch = "linux-i686"; sha256 = "beb60cd44b31c3c1ebfae25efb17d78d001f0009bb5a8304e319791ae535daa0"; } + { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "1abab6f91bd2ff22cd6d9075bcb83ddf6a190291997e5d379eff53fc10fd8c5e"; } + { locale = "pl"; arch = "linux-i686"; sha256 = "65ceeb5cfeaa7d2c246ba3d152ea1fb892a7d50eafd46da2f41d7ec0a4efa759"; } + { locale = "pl"; arch = "linux-x86_64"; sha256 = "d3565007522b0e3a4de15b913c8f1c9421d1d9614fa4f2d6657a4af730f26c87"; } + { locale = "pt-BR"; arch = "linux-i686"; sha256 = "7a0593b15eac64c1261e413f4a22ca2cbb5f489530ae72a637de9bc0de99f2be"; } + { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "243c12ea35617336d307d8040d1bee1a1827f3c8815e78185e5d5f8c2b58a5d6"; } + { locale = "pt-PT"; arch = "linux-i686"; sha256 = "ed06f6d30204728089609114c5d08a8b2346ca024d6e5743179d0f2f0da753bf"; } + { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "65cf06f13ce3930b4c6b645e0fa442003d41a3ff99d4ff6ad06039c806bf9815"; } + { locale = "rm"; arch = "linux-i686"; sha256 = "5b230c43a6b56c4052e054d117c2c80450b36d52b166ac3a9c9e3d13b336e44b"; } + { locale = "rm"; arch = "linux-x86_64"; sha256 = "341495282263ce7293350c3623d25a6fc7952429bbc36316687be402831c4376"; } + { locale = "ro"; arch = "linux-i686"; sha256 = "12940db350559cc1ef5dd148f2fd34cb4f445fbd1928d0d8dac6e57b0186e08e"; } + { locale = "ro"; arch = "linux-x86_64"; sha256 = "a53c18fcf239dce6a49a44bbb42a210b6161f5d21e64e9e33096e36b7a187bf2"; } + { locale = "ru"; arch = "linux-i686"; sha256 = "823ecb8bb5b772e896b51bf23ac1fa271b02c1abba9fb4c679c687586047db0b"; } + { locale = "ru"; arch = "linux-x86_64"; sha256 = "fd4e34dd08c5f712c68826710496ac4eab262a4356e06a02718b27dd8c65d35b"; } + { locale = "si"; arch = "linux-i686"; sha256 = "6cc4f9828e366d59a86922292ca8878ef4bb6cee9ee5316b8733d0704dc6f390"; } + { locale = "si"; arch = "linux-x86_64"; sha256 = "ed3c28af72df9960b08071d181b1d097d0326a0cd6eaae673866083f87db18f5"; } + { locale = "sk"; arch = "linux-i686"; sha256 = "cfa4b71bb7acdaa689a28f8aa58f7f9375c7d7e4301cce0aea0eccc60d897d2f"; } + { locale = "sk"; arch = "linux-x86_64"; sha256 = "736ff619f9d9848d202fe9eaa56b6a29e37e47589282adf7d97f8d7103edecfe"; } + { locale = "sl"; arch = "linux-i686"; sha256 = "c8af219be7f7cc7f878425b446b1c02838f651e64a0fcbfae4ec818326927097"; } + { locale = "sl"; arch = "linux-x86_64"; sha256 = "d3309efc0b469e9d24e7e01216b52b31ad854653f3904c76fd136d615d75609b"; } + { locale = "son"; arch = "linux-i686"; sha256 = "fdc1e500f8499b648cf0fd3d99601cfcd0f7d89ae09d800520793751a6b32fee"; } + { locale = "son"; arch = "linux-x86_64"; sha256 = "e1f7038aa136492e3d296b9ff50a3f815f4b587944783ea0ea607717788cb48b"; } + { locale = "sq"; arch = "linux-i686"; sha256 = "c6881862ff53402d427d998c59a741c4abd9b2713c1fbbc5315b140d02445507"; } + { locale = "sq"; arch = "linux-x86_64"; sha256 = "2a83117de89e2b9036c0f7fde6617d9f55fef4955432cd566692e7a2829b1128"; } + { locale = "sr"; arch = "linux-i686"; sha256 = "f214aa32eef11535a73449d7f2626c90b1ce78e469d96c8cc6cd53979582197b"; } + { locale = "sr"; arch = "linux-x86_64"; sha256 = "9931d18c18a785569aade6fd233d3c34910ece758f3355b694b553ce6c5dae7a"; } + { locale = "sv-SE"; arch = "linux-i686"; sha256 = "cd5695110c90744a1b750d34c7294f1109b5c7829025eb28101b6ead5bbbcb3d"; } + { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "f52fe8f60420171385638a9de46b2b11c03b13239a17ef9fb4f7305774bab664"; } + { locale = "ta"; arch = "linux-i686"; sha256 = "8910a680bc6a6e58433686a020916b072e0d5d95e896cb7fa5a212c00ee20b93"; } + { locale = "ta"; arch = "linux-x86_64"; sha256 = "ae727422e4b7cb2de2b098f6b4adedb2dc788b57eda7ec2ee7ac2d60b645ee64"; } + { locale = "te"; arch = "linux-i686"; sha256 = "0088dcb813864a4e231afd10d4aefca656131a3589b316721e2d87cb29a78dbf"; } + { locale = "te"; arch = "linux-x86_64"; sha256 = "6ef6aa557e691324072d201ad7876dd4d2417dfaaab08d3bfa4620c4626d1380"; } + { locale = "th"; arch = "linux-i686"; sha256 = "da72450d756950635c0b2d95285b5d998aeddd60b43d9ca98ac4b1b707289a96"; } + { locale = "th"; arch = "linux-x86_64"; sha256 = "89ac8220a7be503ecae8dd5a241df4654b93adfac6f431f08b83bb5f7f63de7f"; } + { locale = "tr"; arch = "linux-i686"; sha256 = "64b3e853efe96d75282e0a9ca78db876c3f03b609be0acb551d1d6a7b50e116b"; } + { locale = "tr"; arch = "linux-x86_64"; sha256 = "fe01dcbfe855e661c79ec63c80098d18c1a051c85fc3fb27ac3df8b9c6d1df92"; } + { locale = "uk"; arch = "linux-i686"; sha256 = "1052bb8de8acd200dfed598f5afc1c87a55772b89b2f2ec59b710af1d1bfea90"; } + { locale = "uk"; arch = "linux-x86_64"; sha256 = "986d01b61e36188f1293ee7ab1198f2583605469174e2dd9ead8eec241480cec"; } + { locale = "uz"; arch = "linux-i686"; sha256 = "b114d4696cf20320ec71c7ff92ac2d6477784e4f0c9f15a54701473a469e4667"; } + { locale = "uz"; arch = "linux-x86_64"; sha256 = "19fdc20d1b6a5b556856ad4d43d05cd7ae4bbd0207d326c9f2b0a4a0e3f9425b"; } + { locale = "vi"; arch = "linux-i686"; sha256 = "ec48f6eb7b3fba76d07a4ff4192fe28b4faeaf7dfa2317453f1266dd4cb5e66f"; } + { locale = "vi"; arch = "linux-x86_64"; sha256 = "89a9c826522dece360abc207260b6a71955d1c86f8f0b783e3013d4c7d5edfdb"; } + { locale = "xh"; arch = "linux-i686"; sha256 = "4671201bd924bfb4e290bdd5247b5d972b2dff986db0dd21b26ee0d30f94566f"; } + { locale = "xh"; arch = "linux-x86_64"; sha256 = "f381cc509369405e7a06c78c07de3ee01f8b0cf66d3300cfb10f27cab14d34b0"; } + { locale = "zh-CN"; arch = "linux-i686"; sha256 = "abaac014c04bd29dcb5617c489d4b047522f6ede9139781b04c0a73ff20a19a4"; } + { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "5da12cc28e6bad8739a0050410efb1ca22d46a42c33fed312acca29e89de007b"; } + { locale = "zh-TW"; arch = "linux-i686"; sha256 = "7279f9ba36dfa988ffade1f54e4f2dcced30be5fab48476d5b6d20d989204274"; } + { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "e943d7736ec12d269512363d20d5b2a2e8c740c81a764f44f308d497fe95f0ea"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index 552c8d4d822e..7493350b28f4 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -18,14 +18,14 @@ assert stdenv.cc ? libc && stdenv.cc.libc != null; let -common = { pname, version, sha256 }: stdenv.mkDerivation rec { +common = { pname, version, sha512 }: stdenv.mkDerivation rec { name = "${pname}-unwrapped-${version}"; src = fetchurl { url = let ext = if lib.versionAtLeast version "41.0" then "xz" else "bz2"; in "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.${ext}"; - inherit sha256; + inherit sha512; }; buildInputs = @@ -130,14 +130,14 @@ in { firefox-unwrapped = common { pname = "firefox"; - version = "45.0.1"; - sha256 = "1j6raz51zcj2hxk0spk5zq8xzxi5nlxxm60dpnb7cs6dv334m0fi"; + version = "45.0.2"; + sha512 = "8c0b7afb41a1a405fe499299d1a8b1138dac52b9ad67bfc8761b70a26f330581c2aa1d76d67075896ec3a0c3f5367b8b58365ebc8b3a01f801fa37071b3de526"; }; firefox-esr-unwrapped = common { pname = "firefox-esr"; - version = "45.0.1esr"; - sha256 = "0rkk3cr3r7v5xzbcqhyx8b633v4a16ika0wk46p0ichh9n5mci0s"; + version = "45.0.2esr"; + sha512 = "a1e9e9371ee47181b01252d60166c405a7835063dffb4928dfb8abb9f151edd8db1dd2b59f35d7898f1660a0fcd8e41f91a3e799c25b6dd43b6ab056bc5ad6bf"; }; } diff --git a/pkgs/applications/networking/browsers/jumanji/default.nix b/pkgs/applications/networking/browsers/jumanji/default.nix index 0e962f5fc1f6..ce9b94409072 100644 --- a/pkgs/applications/networking/browsers/jumanji/default.nix +++ b/pkgs/applications/networking/browsers/jumanji/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { preFixup='' wrapProgram "$out/bin/jumanji" \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix index a3edaad37d40..2777cb15fca9 100644 --- a/pkgs/applications/networking/browsers/luakit/default.nix +++ b/pkgs/applications/networking/browsers/luakit/default.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation { in '' make DEVELOPMENT_PATHS=0 INSTALLDIR=$out DESTDIR=$out PREFIX=$out USE_GTK3=1 install wrapProgram $out/bin/luakit \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/usr/share/:$out/share/:$GSETTINGS_SCHEMAS_PATH" \ --prefix XDG_CONFIG_DIRS : "$out/etc/xdg" \ --set LUA_PATH '"${luaKitPath};${luaPath};"' \ diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix index 9eaf254b23b5..23ed0bc2c1ea 100644 --- a/pkgs/applications/networking/browsers/midori/default.nix +++ b/pkgs/applications/networking/browsers/midori/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram $out/bin/midori \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix index ba40925e1d1e..f59de7db9f5c 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/gecko-mediaplayer/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { # !!! fix this preBuild = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${browser}/include/xulrunner-*) -I${browser.nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${browser}/include/xulrunner-*) -I${browser.nspr.dev}/include/nspr" echo $NIX_CFLAGS_COMPILE ''; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix index 6fd953636a83..f35e88ae89e6 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo , libpng, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl -, dbus_glib, alsaLib, libpulseaudio, udev, pango +, dbus_glib, alsaLib, libpulseaudio, libudev, pango }: with stdenv.lib; @@ -36,7 +36,7 @@ let alsaLib libpulseaudio dbus_glib - udev + libudev curl pango cairo diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix index 51511621dce6..85012f8f7091 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl}: +{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl, libXt}: let srcData = # Generated upstream information rec { @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { export configureFlags="$configureFlags --target-cpu=$(uname -m)" ''; - buildInputs = [which pkgconfig file glib gtk2 gtk3 curl]; + buildInputs = [which pkgconfig file glib gtk2 gtk3 curl libXt]; preferLocalBuild = true; diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index ab199ff97cdf..de7240d3a83b 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { postFixup = '' oldRPATH=`patchelf --print-rpath $out/lib/opera/opera` - patchelf --set-rpath $oldRPATH:${cups}/lib $out/lib/opera/opera + patchelf --set-rpath $oldRPATH:${cups.out}/lib $out/lib/opera/opera # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command # It have no reasons to exist in a redistribuable package diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix index 7bbe84847f25..fcaaec63b9e6 100644 --- a/pkgs/applications/networking/browsers/surf/default.nix +++ b/pkgs/applications/networking/browsers/surf/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/surf" \ - --prefix GIO_EXTRA_MODULES : ${glib_networking}/lib/gio/modules \ + --prefix GIO_EXTRA_MODULES : ${glib_networking.out}/lib/gio/modules \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix index 9e3b44f4083d..0fb0db998914 100644 --- a/pkgs/applications/networking/browsers/uzbl/default.nix +++ b/pkgs/applications/networking/browsers/uzbl/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { preFixup = '' for f in $out/bin/*; do wrapProgram $f \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ --prefix PYTHONPATH : "$PYTHONPATH" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" done diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix index cfbaa908902d..ddaaa68f60d4 100644 --- a/pkgs/applications/networking/browsers/vimb/default.nix +++ b/pkgs/applications/networking/browsers/vimb/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/vimb" \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix index 6f8eede9b3f8..45aa2a9c2d12 100644 --- a/pkgs/applications/networking/browsers/vimprobable2/default.nix +++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/vimprobable2" \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix new file mode 100644 index 000000000000..651f513356b6 --- /dev/null +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -0,0 +1,77 @@ +{ stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE +, libXfixes, libXt, libXi, libXcursor, libXScrnSaver, libXcomposite, libXdamage, libXtst, libXrandr +, alsaLib, dbus_libs, cups, libexif, ffmpeg, libudev +, freetype, fontconfig, libXft, libXrender, libxcb, expat, libXau, libXdmcp +, libuuid, xz +, gstreamer, gst_plugins_base, libxml2 +, glib, gtk, pango, gdk_pixbuf, cairo, atk, gnome3 +, nss, nspr +, patchelf +}: + +let + archUrl = name: arch: "https://vivaldi.com/download/stable/${name}_${arch}.deb"; +in +stdenv.mkDerivation rec { + version = "1.0"; + debversion = "stable_1.0.435.40-1"; + product = "vivaldi"; + name = "${product}-${version}"; + + src = if stdenv.system == "x86_64-linux" + then fetchurl { + url = archUrl "vivaldi-${debversion}" "amd64"; + sha256 = "12c051a40258a95f9594eed2f73fa5f591482ac2a41d5cf643811b1ea2a1efbf"; + } + else if stdenv.system == "i686-linux" + then fetchurl { + url = archUrl "vivaldi-${debversion}" "i386"; + sha256 = "6e0b84fba38211bab9a71bc10e97398fca77c0acd82791923c1d432b20846f0f"; + } + else throw "Vivaldi is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)"; + + unpackPhase = '' + ar vx ${src} + tar -xvf data.tar.xz + ''; + + buildInputs = + [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE + libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr + atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg libudev + freetype fontconfig libXrender libuuid expat glib nss nspr + gstreamer libxml2 gst_plugins_base pango cairo gnome3.gconf + patchelf + ]; + + libPath = stdenv.lib.makeLibraryPath buildInputs + + stdenv.lib.optionalString (stdenv.system == "x86_64-linux") + (":" + stdenv.lib.makeSearchPath "lib64" buildInputs); + + buildPhase = '' + echo "Patching Vivaldi binaries" + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + opt/vivaldi/vivaldi-bin + echo "Finished patching Vivaldi binaries" + ''; + + dontPatchELF = true; + dontStrip = true; + + installPhase = '' + mkdir -p "$out" + cp -r opt "$out" + mkdir "$out/bin" + ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi" + ''; + + meta = with stdenv.lib; { + description = "A Browser for our Friends, powerful and personal"; + homepage = "https://vivaldi.com"; + license = licenses.unfree; + maintainers = with maintainers; [ otwieracz ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/copy-com/default.nix b/pkgs/applications/networking/copy-com/default.nix index 0ec2f5ac87a0..21dc23739775 100644 --- a/pkgs/applications/networking/copy-com/default.nix +++ b/pkgs/applications/networking/copy-com/default.nix @@ -41,7 +41,7 @@ in stdenv.mkDerivation { for binary in Copy{Agent,Console,Cmd}; do binary="$out/${appdir}/$binary" ln -sv "$binary" "$out/bin" - patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} "$binary" + patchelf --set-interpreter ${stdenv.glibc.out}/lib/${interpreter} "$binary" done RPATH=${libPaths}:$out/${appdir} diff --git a/pkgs/applications/networking/dropbox-cli/default.nix b/pkgs/applications/networking/dropbox-cli/default.nix index ab79159ea6e1..892d8fa33009 100644 --- a/pkgs/applications/networking/dropbox-cli/default.nix +++ b/pkgs/applications/networking/dropbox-cli/default.nix @@ -16,7 +16,8 @@ stdenv.mkDerivation { phases = "unpackPhase installPhase"; installPhase = '' - mkdir -p "$out/bin/" + mkdir -p "$out/bin/" "$out/share/applications" + cp data/dropbox.desktop "$out/share/applications" substitute "dropbox.in" "$out/bin/dropbox" \ --replace '@PACKAGE_VERSION@' ${version} \ --replace '@DESKTOP_FILE_DIR@' "$out/share/applications" \ @@ -24,7 +25,6 @@ stdenv.mkDerivation { --replace '@IMAGEDATA64@' '"too-lazy-to-fix"' sed -i 's:db_path = .*:db_path = "${dropboxd}":' $out/bin/dropbox chmod +x "$out/bin/"* - mv $out/bin/dropbox $out/bin/dropbox-cli patchShebangs "$out/bin" ''; diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index a180e2a01edb..e20db1892bb1 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -20,11 +20,11 @@ let # NOTE: When updating, please also update in current stable, as older versions stop working - version = "3.14.7"; + version = "3.18.1"; sha256 = { - "x86_64-linux" = "1pwmghpr0kyca2biysyk90kk9k6ffv4i95vs5rq96vc0zbckws6n"; - "i686-linux" = "08yqrxh09cfd80kbiq1f2sirx9s85acij4khpklvvwrnf2x1i1zm"; + "x86_64-linux" = "1qdahr8xzk3zrrv89335l3aa2gfgjn1ymfixj9zgipv34grkjghm"; + "i686-linux" = "015bjkr2dwyac410i398qm1v60rqln539wcj5f25q776haycbcji"; }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); arch = diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix index a254535dd703..99196cdf796b 100644 --- a/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix +++ b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ''; NIX_CFLAGS_COMPILE = - "-I${libxml2}/include/libxml2 -I${json-c-0-11}/include/json-c"; + "-I${libxml2.dev}/include/libxml2 -I${json-c-0-11}/include/json-c"; NIX_LDFLAGS = "-lsqlite3 -lcurl -lxml2 -lstfl -ljson"; diff --git a/pkgs/applications/networking/ike/default.nix b/pkgs/applications/networking/ike/default.nix index 56341b64d6ce..5ea0975e15f3 100644 --- a/pkgs/applications/networking/ike/default.nix +++ b/pkgs/applications/networking/ike/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { installPhase = '' make install for file in "$out"/bin/* "$out"/sbin/*; do - wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl}/lib:${gcc.cc}/lib:${stdenv.glibc}/lib::${gcc.cc}/lib64:${stdenv.glibc}/lib64:${libedit}/lib:${qt4}/lib" + wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl.out}/lib:${gcc.cc}/lib:${stdenv.glibc.out}/lib::${gcc.cc}/lib64:${stdenv.glibc.out}/lib64:${libedit}/lib:${qt4}/lib" done ''; diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix index 2935979ebb9a..782c801356e3 100644 --- a/pkgs/applications/networking/instant-messengers/baresip/default.nix +++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix @@ -4,11 +4,11 @@ , gsm, speex, portaudio, spandsp, libuuid }: stdenv.mkDerivation rec { - version = "0.4.17"; + version = "0.4.18"; name = "baresip-${version}"; src=fetchurl { url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz"; - sha256 = "106nagdyayyxj3q68bs3fsps5wnwzjh82vcmy98fp42j33q6yzny"; + sha256 = "1qgmw0261y89zka9dgqzvirfk3bg8p5b929vqm1418859mw9i87a"; }; buildInputs = [zlib openssl libre librem pkgconfig cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix index 8076b27d1c54..d2a08b98c076 100644 --- a/pkgs/applications/networking/instant-messengers/blink/default.nix +++ b/pkgs/applications/networking/instant-messengers/blink/default.nix @@ -32,7 +32,7 @@ pythonPackages.buildPythonApplication rec { postInstall = '' wrapProgram $out/bin/blink \ - --prefix LD_LIBRARY_PATH ":" ${gnutls}/lib + --prefix LD_LIBRARY_PATH ":" ${gnutls.out}/lib mkdir -p "$out/share/applications" mkdir -p "$out/share/pixmaps" cp "$desktopItem"/share/applications/* "$out/share/applications" diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index a072c4a5d767..86b21f90ad9e 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -2,7 +2,7 @@ , alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf , glib, gnome, gtk, libnotify, libX11, libXcomposite, libXcursor, libXdamage , libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, pango -, udev }: +, libudev }: let version = "0.0.1"; in @@ -19,7 +19,7 @@ stdenv.mkDerivation { stdenv.cc.cc alsaLib atk cairo cups dbus expat fontconfig freetype gdk_pixbuf glib gnome.GConf gtk libnotify libX11 libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender - libXtst nspr nss pango udev + libXtst nspr nss pango libudev ]; installPhase = '' @@ -35,7 +35,7 @@ stdenv.mkDerivation { ln -s $out/DiscordCanary $out/bin/ # Putting udev in the path won't work :( - ln -s ${udev}/lib/libudev.so.1 $out + ln -s ${libudev}/lib/libudev.so.1 $out ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/instant-messengers/oneteam/default.nix b/pkgs/applications/networking/instant-messengers/oneteam/default.nix index 2ab0930842bc..bec367818e2f 100644 --- a/pkgs/applications/networking/instant-messengers/oneteam/default.nix +++ b/pkgs/applications/networking/instant-messengers/oneteam/default.nix @@ -43,7 +43,7 @@ rec { '' ["minInit" "doUnpack"]; setVars=a.noDepEntry '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" ''; cmakeBuildDir="cmake-build"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 7e9e41ea0bfc..e7266a93350b 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -43,11 +43,11 @@ stdenv.mkDerivation rec { patches = [./pidgin-makefile.patch ./add-search-path.patch ]; configureFlags = [ - "--with-nspr-includes=${nspr}/include/nspr" - "--with-nspr-libs=${nspr}/lib" - "--with-nss-includes=${nss}/include/nss" - "--with-nss-libs=${nss}/lib" - "--with-ncurses-headers=${ncurses}/include" + "--with-nspr-includes=${nspr.dev}/include/nspr" + "--with-nspr-libs=${nspr.out}/lib" + "--with-nss-includes=${nss.dev}/include/nss" + "--with-nss-libs=${nss.out}/lib" + "--with-ncurses-headers=${ncurses.dev}/include" "--disable-meanwhile" "--disable-nm" "--disable-tcl" diff --git a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix index c19b5ff31f9d..17462cb75ad5 100644 --- a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix +++ b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { postInstall = '' substituteInPlace $out/bin/pybitmessage \ --replace "exec python2" "exec ${python}/bin/python" \ - --replace "/opt/openssl-compat-bitcoin/lib/" "${openssl}/lib/" + --replace "/opt/openssl-compat-bitcoin/lib/" "${openssl.out}/lib/" wrapProgram $out/bin/pybitmessage \ --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH" ''; diff --git a/pkgs/applications/networking/instant-messengers/sflphone/default.nix b/pkgs/applications/networking/instant-messengers/sflphone/default.nix index 8b259c90fe50..7322ff2bb345 100644 --- a/pkgs/applications/networking/instant-messengers/sflphone/default.nix +++ b/pkgs/applications/networking/instant-messengers/sflphone/default.nix @@ -40,7 +40,7 @@ rec { cd .. ''; - configureFlags = "--with-expat --with-expat-inc=${expat}/include " + + configureFlags = "--with-expat --with-expat-inc=${expat.dev}/include " + "--with-expat-lib=-lexpat --with-opus "; buildInputs = [ libyaml alsaLib openssl libuuid pkgconfig libpulseaudio libsamplerate diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix index 98672a29d0b6..2f2dba18e49e 100644 --- a/pkgs/applications/networking/instant-messengers/skype/default.nix +++ b/pkgs/applications/networking/instant-messengers/skype/default.nix @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { # Fixup desktop file substituteInPlace skype.desktop --replace \ - "Icon=skype.png" "Icon=$out/libexec/skype/icons/SkypeBlue_48x48.png" + "Icon=skype.png" "Icon=$out/libexec/skype/icons/SkypeBlue_128x128.png" substituteInPlace skype.desktop --replace \ "Terminal=0" "Terminal=false" mkdir -p $out/share/applications diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index c6e550b5e8fd..417eecb4ac8c 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -4,7 +4,7 @@ let - version = "2.0.1"; + version = "2.0.3"; rpath = stdenv.lib.makeSearchPath "lib" [ alsaLib @@ -41,7 +41,7 @@ let if stdenv.system == "x86_64-linux" then fetchurl { url = "https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/slack-desktop-${version}-amd64.deb"; - sha256 = "12d84e61ba366cc5bac105b3f9930f2dfdd64c1e5fabbb08a6877e1c98bfb9c7"; + sha256 = "0pp8n1w9kmh3pph5kc6akdswl3z2lqwryjg9d267wgj62mslr3cg"; } else throw "Slack is not supported on ${stdenv.system}"; @@ -64,16 +64,16 @@ in stdenv.mkDerivation { for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true - patchelf --set-rpath ${rpath}:$out/share/slack $file || true + patchelf --set-rpath ${rpath}:$out/lib/slack $file || true done # Fix the symlink rm $out/bin/slack - ln -s $out/share/slack/slack $out/bin/slack + ln -s $out/lib/slack/slack $out/bin/slack # Fix the desktop link substituteInPlace $out/share/applications/slack.desktop \ - --replace /usr/share/slack/slack $out/share/slack/slack + --replace /usr/lib/slack/slack $out/lib/slack/slack ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix index 532d68ad6605..84ced8f62c6e 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix @@ -11,11 +11,11 @@ let call_ui = x : x // { NIX_CFLAGS_COMPILE = "-I${telepathy_glib}/include/telepathy-1.0" - + " -I${dbus_glib}/include/dbus-1.0" - + " -I${dbus_libs}/include/dbus-1.0"; + + " -I${dbus_glib.dev}/include/dbus-1.0" + + " -I${dbus_libs.dev}/include/dbus-1.0"; }; telepathy_logger_qt = x : x // { - NIX_CFLAGS_COMPILE = "-I${dbus_libs}/include/dbus-1.0"; + NIX_CFLAGS_COMPILE = "-I${dbus_libs.dev}/include/dbus-1.0"; }; }; diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix index 173dfe9c929f..aaff39ccb44d 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "18i00l8lnp5dghqmgmpxnn0is2a20pkisxy0sb78hnd2dz0z6xnl"; }; - NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0"; + NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0"; buildInputs = [ dbus_glib libxml2 sqlite telepathy_glib pkgconfig intltool gobjectIntrospection dbus_libs ]; diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix index 0ace6a01b3f3..5936ae6e878e 100644 --- a/pkgs/applications/networking/mailreaders/mailpile/default.nix +++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix @@ -21,7 +21,7 @@ pythonPackages.buildPythonApplication rec { postInstall = '' wrapProgram $out/bin/mailpile \ - --prefix PATH ":" "${gnupg1orig}/bin:${openssl}/bin" + --prefix PATH ":" "${gnupg1orig}/bin:${openssl.bin}/bin" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix index 6c061940b26d..081525475550 100644 --- a/pkgs/applications/networking/newsreaders/liferea/default.nix +++ b/pkgs/applications/networking/newsreaders/liferea/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { wrapProgram "$f" \ --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking.out}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" done ''; diff --git a/pkgs/applications/networking/p2p/retroshare/0.6.nix b/pkgs/applications/networking/p2p/retroshare/0.6.nix index 855ebdd05936..020d00170531 100644 --- a/pkgs/applications/networking/p2p/retroshare/0.6.nix +++ b/pkgs/applications/networking/p2p/retroshare/0.6.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { sha256 = "189qndkfq9kgv3qi3wx8ivla4j8fxr4iv7c8y9rjrjaz8jwdkn5x"; }; - NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2 -I${sqlcipher}/include/sqlcipher"; + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.dev}/lib/glib-2.0/include -I${libxml2.dev}/include/libxml2 -I${sqlcipher}/include/sqlcipher"; patchPhase = '' # Fix build error diff --git a/pkgs/applications/networking/p2p/retroshare/default.nix b/pkgs/applications/networking/p2p/retroshare/default.nix index a139531b19a6..e7fe79d66a56 100644 --- a/pkgs/applications/networking/p2p/retroshare/default.nix +++ b/pkgs/applications/networking/p2p/retroshare/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { sha256 = "0l2n4pr1hq66q6qa073hrdx3s3d7iw54z8ay1zy82zhk2rwhsavp"; }; - NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2"; + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.dev}/lib/glib-2.0/include -I${libxml2.dev}/include/libxml2"; patchPhase = '' sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' \ diff --git a/pkgs/applications/networking/spideroak/default.nix b/pkgs/applications/networking/spideroak/default.nix index 525e15470232..fd060ad08801 100644 --- a/pkgs/applications/networking/spideroak/default.nix +++ b/pkgs/applications/networking/spideroak/default.nix @@ -41,7 +41,7 @@ in stdenv.mkDerivation { mkdir "$out/bin" rm "$out/usr/bin/SpiderOakONE" - patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \ + patchelf --set-interpreter ${stdenv.glibc.out}/lib/${interpreter} \ "$out/opt/SpiderOakONE/lib/SpiderOakONE" RPATH=$out/opt/SpiderOakONE/lib:${ldpath} diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix index 86b0ffbcf24c..f2407e1a8333 100644 --- a/pkgs/applications/science/astronomy/celestia/default.nix +++ b/pkgs/applications/science/astronomy/celestia/default.nix @@ -59,7 +59,7 @@ stdenv.mkDerivation { CPPFLAGS = "-DNDEBUG"; CFLAGS = "-O2 -fsigned-char"; CXXFLAGS = "-O2 -fsigned-char"; - GTK_CFLAGS = "-I${gtk2}/include/gtk-2.0 -I${gtk2}/lib/gtk-2.0/include -I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${cairo}/include/cairo -I${pango}/include/pango-1.0 -I${gdk_pixbuf}/include/gdk-pixbuf-2.0 -I${atk}/include/atk-1.0 -I${gtkglext}/include/gtkglext-1.0 -I${gtkglext}/lib/gtkglext-1.0/include"; + GTK_CFLAGS = "-I${gtk2.dev}/include/gtk-2.0 -I${gtk2.out}/lib/gtk-2.0/include -I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include -I${cairo.dev}/include/cairo -I${pango.dev}/include/pango-1.0 -I${gdk_pixbuf.dev}/include/gdk-pixbuf-2.0 -I${atk}/include/atk-1.0 -I${gtkglext}/include/gtkglext-1.0 -I${gtkglext}/lib/gtkglext-1.0/include"; GTK_LIBS = "-lgtk-x11-2.0 -lgtkglext-x11-1.0 -lcairo -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0"; installPhase = ''make MKDIR_P="mkdir -p" install''; diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix new file mode 100644 index 000000000000..7c85513bd8e9 --- /dev/null +++ b/pkgs/applications/science/biology/samtools/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, zlib, ncurses }: + +stdenv.mkDerivation rec { + name = "samtools-${version}"; + version = "1.3"; + + src = fetchurl { + url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2"; + sha256 = "03mnf0mhbfwhqlqfslrhfnw68s3g0fs1as354i9a584mqw1l1smy"; + }; + + buildInputs = [ zlib ncurses ]; + + meta = with stdenv.lib; { + description = "Tools (written in C using htslib) for manipulating next-generation sequencing data"; + license = licenses.mit; + homepage = http://www.htslib.org/; + }; +} diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix index e9849d0460c8..c62ecdcd1e2a 100644 --- a/pkgs/applications/science/electronics/tkgate/1.x.nix +++ b/pkgs/applications/science/electronics/tkgate/1.x.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, tcl, tk, libX11, glibc, which, yacc, flex, imake, xproto, gccmakedep }: let - libiconvInc = stdenv.lib.optionalString stdenv.isLinux "${glibc}/include"; - libiconvLib = stdenv.lib.optionalString stdenv.isLinux "${glibc}/lib"; + libiconvInc = stdenv.lib.optionalString stdenv.isLinux "${glibc.dev}/include"; + libiconvLib = stdenv.lib.optionalString stdenv.isLinux "${glibc.out}/lib"; in stdenv.mkDerivation rec { name = "tkgate-1.8.7"; diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix index f8a57aebb6dc..c7fb4ffbb978 100644 --- a/pkgs/applications/science/logic/hol/default.nix +++ b/pkgs/applications/science/logic/hol/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { buildCommand = '' mkdir chroot-fontconfig - cat ${fontconfig}/etc/fonts/fonts.conf > chroot-fontconfig/fonts.conf + cat ${fontconfig.out}/etc/fonts/fonts.conf > chroot-fontconfig/fonts.conf sed -e 's@</fontconfig>@@' -i chroot-fontconfig/fonts.conf echo "<dir>${liberation_ttf}</dir>" >> chroot-fontconfig/fonts.conf echo "</fontconfig>" >> chroot-fontconfig/fonts.conf diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix new file mode 100644 index 000000000000..c8493b594690 --- /dev/null +++ b/pkgs/applications/science/logic/mcrl2/default.nix @@ -0,0 +1,31 @@ +{stdenv, fetchurl, xlibs, cmake, subversion, mesa, qt5, boost, + python27, python27Packages}: + +stdenv.mkDerivation rec { + version = "201409.1"; + build_nr = "13892"; + name = "mcrl2-${version}"; + + src = fetchurl { + url = "http://www.mcrl2.org/download/devel/mcrl2-${version}.${build_nr}.tar.gz"; + sha256 = "0cknpind6rma12q93rbm638ijhy8sj8nd20wnw8l0f651wm0x036"; + }; + + buildInputs = [ xlibs.libX11 cmake subversion mesa qt5.qtbase boost + python27 python27Packages.pyyaml python27Packages.psutil ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A toolset for model-checking concurrent systems and protocols"; + longDescription = '' + A formal specification language with an associated toolset, + that can be used for modelling, validation and verification of + concurrent systems and protocols + ''; + homepage = http://www.mcrl2.org/; + license = licenses.boost; + maintainers = with maintainers; [ moretea ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/science/logic/saw-tools/default.nix b/pkgs/applications/science/logic/saw-tools/default.nix index eebe6ff0a06c..1153c0b3cf5c 100644 --- a/pkgs/applications/science/logic/saw-tools/default.nix +++ b/pkgs/applications/science/logic/saw-tools/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { mv doc $out/share # Hack around lack of libtinfo in NixOS - ln -s ${ncurses}/lib/libncursesw.so.5 $out/lib/libtinfo.so.5 + ln -s ${ncurses.out}/lib/libncursesw.so.5 $out/lib/libtinfo.so.5 ln -s ${stdenv.cc.libc}/lib/libpthread.so.0 $out/lib/libpthread.so.0 # Add a clang symlink for easy building with a suitable compiler. diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix index 5daaa444c127..f495ee257ff0 100644 --- a/pkgs/applications/science/logic/yices/default.nix +++ b/pkgs/applications/science/logic/yices/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gmp, gperf, autoreconfHook }: +{ stdenv, fetchurl, gmp-static, gperf, autoreconfHook }: stdenv.mkDerivation rec { name = "yices-${version}"; @@ -10,10 +10,10 @@ stdenv.mkDerivation rec { sha256 = "1da70n0cah0dh3pk7fcrvjkszx9qmhc0csgl15jqa7bdh707k2zs"; }; - configureFlags = [ "--with-static-gmp=${gmp}/lib/libgmp.a" - "--with-static-gmp-include-dir=${gmp}/include" + configureFlags = [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a" + "--with-static-gmp-include-dir=${gmp-static.dev}/include" ]; - buildInputs = [ gmp gperf autoreconfHook ]; + buildInputs = [ gmp-static gperf autoreconfHook ]; meta = { description = "A high-performance theorem prover and SMT solver"; diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index e7a195659491..2ca2cab3afd8 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -48,7 +48,6 @@ stdenv.mkDerivation rec { CXX=$(type -p g++) FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran" JAVA_HOME="${jdk}" - LDFLAGS="-L${gfortran.cc}/lib" RANLIB=$(type -p ranlib) R_SHELL="${stdenv.shell}" '' + stdenv.lib.optionalString stdenv.isDarwin '' diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index c396870f9e5b..253b97aff1e7 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -29,20 +29,20 @@ stdenv.mkDerivation rec { substituteInPlace $f --replace antiword ${antiword}/bin/antiword substituteInPlace $f --replace awk ${gawk}/bin/awk substituteInPlace $f --replace catppt ${catdoc}/bin/catppt - substituteInPlace $f --replace djvused ${djvulibre}/bin/djvused - substituteInPlace $f --replace djvutxt ${djvulibre}/bin/djvutxt + substituteInPlace $f --replace djvused ${djvulibre.bin}/bin/djvused + substituteInPlace $f --replace djvutxt ${djvulibre.bin}/bin/djvutxt substituteInPlace $f --replace egrep ${gnugrep}/bin/egrep substituteInPlace $f --replace groff ${groff}/bin/groff substituteInPlace $f --replace gunzip ${gzip}/bin/gunzip - substituteInPlace $f --replace iconv ${libiconv}/bin/iconv + substituteInPlace $f --replace iconv ${libiconv.bin or libiconv}/bin/iconv substituteInPlace $f --replace lyx ${lyx}/bin/lyx - substituteInPlace $f --replace pdftotext ${poppler_utils}/bin/pdftotext + substituteInPlace $f --replace pdftotext ${poppler_utils.out}/bin/pdftotext substituteInPlace $f --replace pstotext ${ghostscript}/bin/ps2ascii substituteInPlace $f --replace sed ${gnused}/bin/sed substituteInPlace $f --replace tar ${gnutar}/bin/tar substituteInPlace $f --replace unzip ${unzip}/bin/unzip substituteInPlace $f --replace xls2csv ${catdoc}/bin/xls2csv - substituteInPlace $f --replace xsltproc ${libxslt}/bin/xsltproc + substituteInPlace $f --replace xsltproc ${libxslt.bin}/bin/xsltproc substituteInPlace $f --replace unrtf ${unrtf}/bin/unrtf substituteInPlace $f --replace untex ${untex}/bin/untex substituteInPlace $f --replace wpd2html ${libwpd}/bin/wpd2html diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix index 49e1734fe02d..d144d484ed39 100644 --- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix @@ -28,8 +28,8 @@ stdenv.mkDerivation rec { postPatch = '' sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \ - -e 's|"bzip2"|"${bzip2}/bin/bzip2"|' \ - -e 's|"xz"|"${xz}/bin/xz"|' \ + -e 's|"bzip2"|"${bzip2.bin}/bin/bzip2"|' \ + -e 's|"xz"|"${xz.bin}/bin/xz"|' \ -i ui-snapshot.c ''; diff --git a/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix index 91fe1662efec..f282fa6635b8 100644 --- a/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix +++ b/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildPhase = '' sed -i 's|/bin/cat|cat|' ./src/repository.cpp qmake - make CXXFLAGS='-I${apr}/include/apr-1 -I${subversion}/include/subversion-1 -DVER="\"${src.rev}\""' + make CXXFLAGS='-I${apr}/include/apr-1 -I${subversion.dev}/include/subversion-1 -DVER="\"${src.rev}\""' ''; installPhase = '' diff --git a/pkgs/applications/version-management/rabbitvcs/default.nix b/pkgs/applications/version-management/rabbitvcs/default.nix index 58b29c10ae36..0f2f7646ac6a 100644 --- a/pkgs/applications/version-management/rabbitvcs/default.nix +++ b/pkgs/applications/version-management/rabbitvcs/default.nix @@ -17,7 +17,7 @@ python2Packages.buildPythonApplication rec { sed -ie 's|if sys\.argv\[1\] == "install":|if False:|' ./setup.py sed -ie "s|PREFIX = sys.prefix|PREFIX = \"$out\"|" ./setup.py sed -ie 's|/usr/bin/meld|${meld}/bin/meld|' ./rabbitvcs/util/configspec/configspec.ini - sed -ie 's|/usr/bin/svnadmin|${subversion}/bin/svnadmin|' ./rabbitvcs/ui/create.py + sed -ie 's|/usr/bin/svnadmin|${subversion.out}/bin/svnadmin|' ./rabbitvcs/ui/create.py sed -ie "s|/usr/share/doc|$out/share/doc|" ./rabbitvcs/ui/about.py sed -ie "s|gnome-open|xdg-open|" ./rabbitvcs/util/helper.py ''; diff --git a/pkgs/applications/version-management/rapidsvn/default.nix b/pkgs/applications/version-management/rapidsvn/default.nix index 843fe9ad3230..9397aa8a1e19 100644 --- a/pkgs/applications/version-management/rapidsvn/default.nix +++ b/pkgs/applications/version-management/rapidsvn/default.nix @@ -10,8 +10,8 @@ stdenv.mkDerivation { buildInputs = [ wxGTK subversion apr aprutil python ]; - configureFlags = [ "--with-svn-include=${subversion}/include" - "--with-svn-lib=${subversion}/lib" ]; + configureFlags = [ "--with-svn-include=${subversion.dev}/include" + "--with-svn-lib=${subversion.out}/lib" ]; meta = { description = "Multi-platform GUI front-end for the Subversion revision system"; diff --git a/pkgs/applications/version-management/redmine/bootstrap.nix b/pkgs/applications/version-management/redmine/bootstrap.nix index 5971f2e9cddc..82643f18a554 100644 --- a/pkgs/applications/version-management/redmine/bootstrap.nix +++ b/pkgs/applications/version-management/redmine/bootstrap.nix @@ -32,8 +32,8 @@ in stdenv.mkDerivation rec { bundle config --local build.nokogiri --use-system-libraries \ --with-iconv-dir=${libiconv} \ - --with-xslt-dir=${libxslt} \ - --with-xml2-dir=${libxml2} \ + --with-xslt-dir=${libxslt.out} \ + --with-xml2-dir=${libxml2.out} \ --with-pkg-config \ --with-pg-config=${postgresql}/bin/pg_config diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 08b07b64b68b..da21c29e6f9f 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -26,6 +26,9 @@ let inherit sha256; }; + # Can't do separate $lib and $bin, as libs reference bins + outputs = [ "dev" "out" "man" ]; + buildInputs = [ zlib apr aprutil sqlite ] ++ stdenv.lib.optional httpSupport serf ++ stdenv.lib.optional pythonBindings python @@ -65,6 +68,12 @@ let mkdir -p $out/share/bash-completion/completions cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion + + for f in $out/lib/*.la; do + substituteInPlace $f --replace "${expat.dev}/lib" "${expat.out}/lib" + substituteInPlace $f --replace "${zlib.dev}/lib" "${zlib.out}/lib" + substituteInPlace $f --replace "${sqlite.dev}/lib" "${sqlite.out}/lib" + done ''; inherit perlBindings pythonBindings; diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix index ec20122d0ce8..60e713512081 100644 --- a/pkgs/applications/version-management/tortoisehg/default.nix +++ b/pkgs/applications/version-management/tortoisehg/default.nix @@ -1,25 +1,24 @@ -{ pkgs, lib, mercurial, pyPackages ? pkgs.python27Packages }: +{lib, fetchurl, mercurial, pythonPackages}: -pkgs.buildPythonApplication rec { +pythonPackages.buildPythonApplication rec { name = "tortoisehg-${version}"; - version = "3.6"; + version = "3.7.1"; namePrefix = ""; - src = pkgs.fetchurl { + src = fetchurl { url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz"; - sha256 = "ec43d13f029bb23a12129d2a2c3b3b4daf3d8121cbb5c9c23e4872f7b0b75ad8"; + sha256 = "1ycf8knwk1rs99s5caq611sk4c4nzwyzq8g35hw5kwj15b6dl4k6"; }; - pythonPath = [ pkgs.pyqt4 mercurial ] - ++ (with pyPackages; [qscintilla iniparse]); + pythonPath = with pythonPackages; [ pyqt4 mercurial qscintilla iniparse ]; - propagatedBuildInputs = with pyPackages; [ qscintilla iniparse ]; + propagatedBuildInputs = with pythonPackages; [ qscintilla iniparse ]; doCheck = false; postUnpack = '' substituteInPlace $sourceRoot/setup.py \ - --replace "/usr/share/" "$out/share/" + --replace "sharedir = os.path.join(installcmd.install_data[rootlen:], 'share')" "sharedir = '$out/share/'" ''; postInstall = '' diff --git a/pkgs/applications/video/avxsynth/default.nix b/pkgs/applications/video/avxsynth/default.nix index d8ec715a38cb..06dcaf31b443 100644 --- a/pkgs/applications/video/avxsynth/default.nix +++ b/pkgs/applications/video/avxsynth/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { "--enable-subtitle" "--enable-ffms2" (enableFeature avxeditSupport "avxedit") - "--with-jpeg=${libjpeg}/lib" + "--with-jpeg=${libjpeg.out}/lib" ]; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix index f1a999e5554e..f9301781fc10 100644 --- a/pkgs/applications/video/bomi/default.nix +++ b/pkgs/applications/video/bomi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python, which, makeWrapper +{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python, which, makeQtWrapper , libX11, libxcb, mesa , qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras , ffmpeg @@ -27,9 +27,6 @@ assert pulseSupport -> libpulseaudio != null; assert cddaSupport -> libcdda != null; assert youtubeSupport -> youtube-dl != null; -let qtPath = makeSearchPath "lib/qt5/qml" [ qtdeclarative qtquickcontrols ]; -in - stdenv.mkDerivation rec { name = "bomi-${version}"; version = "0.9.11"; @@ -56,6 +53,7 @@ stdenv.mkDerivation rec { libvdpau libva libbluray + qtdeclarative qtquickcontrols ] ++ optional jackSupport jack @@ -74,8 +72,7 @@ stdenv.mkDerivation rec { ''; postInstall = '' - wrapProgram $out/bin/bomi \ - --set QML2_IMPORT_PATH ${qtPath} \ + wrapQtProgram $out/bin/bomi \ ${optionalString youtubeSupport "--prefix PATH ':' '${youtube-dl}/bin'"} ''; @@ -87,7 +84,7 @@ stdenv.mkDerivation rec { ++ optional cddaSupport "--enable-cdda" ; - nativeBuildInputs = [ pkgconfig perl python which qttools makeWrapper ]; + nativeBuildInputs = [ pkgconfig perl python which qttools makeQtWrapper ]; enableParallelBuilding = true; diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix index 961471cd9b36..e634a0caa3f4 100644 --- a/pkgs/applications/video/clipgrab/default.nix +++ b/pkgs/applications/video/clipgrab/default.nix @@ -14,8 +14,8 @@ stdenv.mkDerivation rec { postPatch = stdenv.lib.optionalString (ffmpeg != null) '' substituteInPlace converter_ffmpeg.cpp \ - --replace '"ffmpeg"' '"${ffmpeg}/bin/ffmpeg"' \ - --replace '"ffmpeg ' '"${ffmpeg}/bin/ffmpeg ' + --replace '"ffmpeg"' '"${ffmpeg.bin}/bin/ffmpeg"' \ + --replace '"ffmpeg ' '"${ffmpeg.bin}/bin/ffmpeg ' ''; configurePhase = '' diff --git a/pkgs/applications/video/dvd-slideshow/default.nix b/pkgs/applications/video/dvd-slideshow/default.nix index fe95c2c6d7d8..040a7a2e7a69 100644 --- a/pkgs/applications/video/dvd-slideshow/default.nix +++ b/pkgs/applications/video/dvd-slideshow/default.nix @@ -4,7 +4,7 @@ let wrapper = writeScript "dvd-slideshow.sh" '' #!/bin/bash # wrapper script for dvd-slideshow programs - export PATH=${cdrtools}/bin:${dvdauthor}/bin:${ffmpeg}/bin:${imagemagick}/bin:${lame}/bin:${mjpegtools}/bin:${sox}/bin:${transcode}/bin:${vorbis-tools}/bin:$PATH + export PATH=${cdrtools}/bin:${dvdauthor}/bin:${ffmpeg.bin}/bin:${imagemagick}/bin:${lame}/bin:${mjpegtools}/bin:${sox}/bin:${transcode}/bin:${vorbis-tools}/bin:$PATH dir=`dirname "$0"` exe=`basename "$0"` diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix index f53ce93328bf..0200b0c70f4e 100644 --- a/pkgs/applications/video/gnash/default.nix +++ b/pkgs/applications/video/gnash/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { for lib in $libs; do echo -n "$lib " >> macros/libslist done - echo -n "${stdenv.glibc}/lib" >> macros/libslist + echo -n "${stdenv.glibc.out}/lib" >> macros/libslist # Make sure to honor $TMPDIR, for chroot builds. for file in configure gui/Makefile.in Makefile.in @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { preConfigure = '' configureFlags=" \ - --with-sdl-incl=${SDL}/include/SDL \ + --with-sdl-incl=${SDL.dev}/include/SDL \ --with-npapi-plugindir=$out/plugins \ --enable-media=gst \ --without-gconf diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix index 7217f4746c8f..22b47c532e5f 100644 --- a/pkgs/applications/video/kazam/default.nix +++ b/pkgs/applications/video/kazam/default.nix @@ -34,9 +34,9 @@ python3Packages.buildPythonApplication rec { preFixup = '' wrapProgram $out/bin/kazam \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH ":" "${gtk3}/lib:${gst_all_1.gstreamer}/lib:${keybinder}/lib" \ + --prefix LD_LIBRARY_PATH ":" "${gtk3.out}/lib:${gst_all_1.gstreamer}/lib:${keybinder}/lib" \ --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share" \ + --prefix XDG_DATA_DIRS : "${gtk3.out}/share" \ --set GST_REGISTRY "/tmp/kazam.gstreamer.registry"; ''; diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix index c2b3914f8502..bb3aeed26ca8 100644 --- a/pkgs/applications/video/kodi/default.nix +++ b/pkgs/applications/video/kodi/default.nix @@ -110,15 +110,9 @@ in stdenv.mkDerivation rec { --prefix PATH ":" "${pythonFull}/bin" \ --prefix PATH ":" "${glxinfo}/bin" \ --prefix PATH ":" "${xdpyinfo}/bin" \ - --prefix LD_LIBRARY_PATH ":" "${curl}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${libmad}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${libcec}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${libcec_platform}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${libass}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${rtmpdump}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${SDL2}/lib" + --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath + [ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass SDL2 ] + }" done ''; diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix index 66f249b8e4a5..07d60fe4764b 100644 --- a/pkgs/applications/video/miro/default.nix +++ b/pkgs/applications/video/miro/default.nix @@ -33,7 +33,7 @@ buildPythonApplication rec { sed -i -e 's|/usr/bin/||' -e 's|/usr||' \ -e 's/BUILD_TIME[^,]*/BUILD_TIME=0/' setup.py - sed -i -e 's|default="/usr/bin/ffmpeg"|default="${ffmpeg}/bin/ffmpeg"|' \ + sed -i -e 's|default="/usr/bin/ffmpeg"|default="${ffmpeg.bin}/bin/ffmpeg"|' \ plat/options.py sed -i -e 's|/usr/share/miro/themes|'"$out/share/miro/themes"'|' \ @@ -64,7 +64,7 @@ buildPythonApplication rec { mv "$out/bin/miro.real" "$out/bin/miro" wrapProgram "$out/bin/miro" \ --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" ''; diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 7fb62a5e1acc..dd5f25d3a6c6 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, docutils, makeWrapper, perl, pkgconfig, python, which , ffmpeg, freefont_ttf, freetype, libass, libpthreadstubs, lua, lua5_sockets +, libuchardet, rubberband , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null , xineramaSupport ? true, libXinerama ? null , xvSupport ? true, libXv ? null @@ -59,11 +60,11 @@ in stdenv.mkDerivation rec { name = "mpv-${version}"; - version = "0.16.0"; + version = "0.17.0"; src = fetchurl { url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; - sha256 = "1fiqxx85s418qynq2fp0v7cpzrz8j285hwmc4fqgn5ny1vg1jdpw"; + sha256 = "0vms3viwqcwl1mrgmf2yy4c69fvv7xpbkyrl693l6zpwynqd4b30"; }; patchPhase = '' @@ -89,7 +90,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ docutils makeWrapper perl pkgconfig python which ]; buildInputs = [ - ffmpeg freetype libass libpthreadstubs lua lua5_sockets + ffmpeg freetype libass libpthreadstubs lua lua5_sockets libuchardet rubberband ] ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ] ++ optional alsaSupport alsaLib ++ optional xvSupport libXv diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index a84f24a303a2..a23bb9a1a942 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -9,13 +9,13 @@ , libvdpau, libsamplerate, live555, fluidsynth , onlyLibVLC ? false , qt4 ? null -, withQt5 ? false, qtbase ? null +, withQt5 ? false, qtbase ? null, qtx11extras ? null , jackSupport ? false }: with stdenv.lib; -assert (withQt5 -> qtbase != null); +assert (withQt5 -> qtbase != null && qtx11extras != null); assert (!withQt5 -> qt4 != null); stdenv.mkDerivation rec { @@ -43,6 +43,7 @@ stdenv.mkDerivation rec { fluidsynth ] ++ [(if withQt5 then qtbase else qt4)] + ++ optional withQt5 qtx11extras ++ optional jackSupport libjack2; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix index 9a75a3ddfd40..2cf57d78ba0c 100644 --- a/pkgs/applications/virtualization/bochs/default.nix +++ b/pkgs/applications/virtualization/bochs/default.nix @@ -143,8 +143,8 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional busMouse "--enable-busmouse" ; - NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/ -I${libtool}/include/"; - NIX_LDFLAGS="-L${libtool}/lib"; + NIX_CFLAGS_COMPILE="-I${gtk.dev}/include/gtk-2.0/ -I${libtool}/include/"; + NIX_LDFLAGS="-L${libtool.lib}/lib"; meta = with stdenv.lib; { description = "An open-source IA-32 (x86) PC emulator"; diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 65bb6e61117c..74d23efcabe2 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ makeWrapper go sqlite iproute bridge-utils devicemapper btrfs-progs - iptables e2fsprogs systemd pkgconfig + iptables e2fsprogs systemd pkgconfig stdenv.glibc stdenv.glibc.static ]; dontStrip = true; @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit makeWrapper $out/libexec/docker/docker $out/bin/docker \ - --prefix PATH : "${iproute}/sbin:sbin:${iptables}/sbin:${e2fsprogs}/sbin:${xz}/bin:${utillinux}/bin:${optionalString enableLxc "${lxc}/bin"}" + --prefix PATH : "${iproute}/sbin:sbin:${iptables}/sbin:${e2fsprogs}/sbin:${xz.bin}/bin:${utillinux}/bin:${optionalString enableLxc "${lxc}/bin"}" # systemd install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service diff --git a/pkgs/applications/virtualization/openstack/keystone.nix b/pkgs/applications/virtualization/openstack/keystone.nix index 61a366f7ab08..bbce75b5e51e 100644 --- a/pkgs/applications/virtualization/openstack/keystone.nix +++ b/pkgs/applications/virtualization/openstack/keystone.nix @@ -33,7 +33,7 @@ pythonPackages.buildPythonApplication rec { ldap ldappool webtest requests2 oslotest pep8 pymongo which ]; - makeWrapperArgs = ["--prefix PATH : '${openssl}/bin:$PATH'"]; + makeWrapperArgs = ["--prefix PATH : '${openssl.bin}/bin:$PATH'"]; postInstall = '' # install .ini files diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index c0fd8214b317..2cbf68671c90 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -81,14 +81,14 @@ in stdenv.mkDerivation { -e 's@MKISOFS --version@MKISOFS -version@' \ -e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \ -i configure - ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 - ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 + ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 + ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 find . -type f -iname '*makefile*' -exec sed -i -e 's/depmod -a/:/g' {} + sed -i -e ' - s@"libdbus-1\.so\.3"@"${dbus}/lib/libdbus-1.so.3"@g - s@"libasound\.so\.2"@"${alsaLib}/lib/libasound.so.2"@g + s@"libdbus-1\.so\.3"@"${dbus.lib}/lib/libdbus-1.so.3"@g + s@"libasound\.so\.2"@"${alsaLib.out}/lib/libasound.so.2"@g ${optionalString pulseSupport '' - s@"libpulse\.so\.0"@"${libpulseaudio}/lib/libpulse.so.0"@g + s@"libpulse\.so\.0"@"${libpulseaudio.out}/lib/libpulse.so.0"@g ''} ' src/VBox/Main/xml/Settings.cpp \ src/VBox/Devices/Audio/{alsa,pulse}_stubs.c \ diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 57d9d28a773a..ba32ff98b0da 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -63,19 +63,19 @@ stdenv.mkDerivation { for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} lib/VBoxGuestAdditions/mount.vboxsf do ${if stdenv.system == "i686-linux" then '' - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $i + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $i '' else if stdenv.system == "x86_64-linux" then '' - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $i + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 $i '' else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions") } - patchelf --set-rpath ${stdenv.cc.cc}/lib:${dbus}/lib:${libX11}/lib:${libXt}/lib:${libXext}/lib:${libXmu}/lib:${libXfixes}/lib:${libXrandr}/lib:${libXcursor}/lib $i + patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc dbus libX11 libXt libXext libXmu libXfixes libXrandr libXcursor ]} $i done for i in lib/VBoxOGL*.so do - patchelf --set-rpath $out/lib:${dbus}/lib:${libXcomposite}/lib:${libXdamage}/lib:${libXext}/lib:${libXfixes}/lib $i + patchelf --set-rpath $out/lib:${dbus.lib}/lib:${libXcomposite.out}/lib:${libXdamage.out}/lib:${libXext.out}/lib:${libXfixes.out}/lib $i done # FIXME: Virtualbox 4.3.22 moved VBoxClient-all (required by Guest Additions diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix index c169519a8e54..c830fccb1201 100644 --- a/pkgs/applications/virtualization/xen/generic.nix +++ b/pkgs/applications/virtualization/xen/generic.nix @@ -106,7 +106,7 @@ stdenv.mkDerivation { --replace /usr/bin/pkill ${procps}/bin/pkill substituteInPlace tools/xenstat/Makefile \ - --replace /usr/include/curses.h ${ncurses}/include/curses.h + --replace /usr/include/curses.h ${ncurses.dev}/include/curses.h substituteInPlace tools/qemu-xen-traditional/xen-hooks.mak \ --replace /usr/include/pci ${pciutils}/include/pci diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix index 2991169a7025..d4721c992008 100644 --- a/pkgs/applications/window-managers/awesome/default.nix +++ b/pkgs/applications/window-managers/awesome/default.nix @@ -63,8 +63,8 @@ stdenv.mkDerivation rec { #cmakeFlags = "-DGENERATE_MANPAGES=ON"; - LD_LIBRARY_PATH = "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib"; - GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0"; + LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}"; + GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0"; LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so"; LUA_PATH = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"; @@ -73,8 +73,8 @@ stdenv.mkDerivation rec { --prefix LUA_CPATH ";" '"${lgi}/lib/lua/${lua.luaversion}/?.so"' \ --prefix LUA_PATH ";" '"${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"' \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib" \ - --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl}/bin:${alsaUtils}/bin:${findutils}/bin:${xterm}/bin" + --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \ + --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl.bin}/bin:${alsaUtils}/bin:${findutils}/bin:${xterm}/bin" wrapProgram $out/bin/awesome-client \ --prefix PATH : "${which}/bin" diff --git a/pkgs/applications/window-managers/fvwm/default.nix b/pkgs/applications/window-managers/fvwm/default.nix index aded77a466da..77263293847c 100644 --- a/pkgs/applications/window-managers/fvwm/default.nix +++ b/pkgs/applications/window-managers/fvwm/default.nix @@ -1,7 +1,7 @@ { gestures ? false , stdenv, fetchurl, pkgconfig , cairo, fontconfig, freetype, libXft, libXcursor, libXinerama -, libXpm, librsvg, libpng, fribidi, perl +, libXpm, libXt, librsvg, libpng, fribidi, perl , libstroke ? null }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig cairo fontconfig freetype - libXft libXcursor libXinerama libXpm + libXft libXcursor libXinerama libXpm libXt librsvg libpng fribidi perl ] ++ stdenv.lib.optional gestures libstroke; diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix index adbdef5e2844..540e5d1c1e6f 100644 --- a/pkgs/applications/window-managers/jwm/default.nix +++ b/pkgs/applications/window-managers/jwm/default.nix @@ -1,22 +1,24 @@ { stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, which, xorg, - libX11, libXext, libXinerama, libXpm, libXft, libXau, libXdmcp, libpng, - libjpeg, expat, xproto, xextproto, xineramaproto, librsvg, gettext, + libX11, libXext, libXinerama, libXpm, libXft, libXau, libXdmcp, libXmu, + libpng, libjpeg, expat, xproto, xextproto, xineramaproto, librsvg, gettext, freetype, fontconfig }: stdenv.mkDerivation rec { name = "jwm-${version}"; - version = "1406"; + version = "1495"; src = fetchurl { url = "https://github.com/joewing/jwm/archive/s${version}.tar.gz"; - sha256 = "0yk22b7cshhyfpcqnb4p59yxspx95xg9yp1kmkxi2fyw95cacab4"; + sha256 = "0sn9la3k36k1d9qyxab1sbv2mqicq2w7q4wgy4bj8d48zc8xjy6v"; }; - nativeBuildInputs = [ pkgconfig automake autoconf libtool which ]; + nativeBuildInputs = [ pkgconfig automake autoconf libtool which gettext ]; buildInputs = [ libX11 libXext libXinerama libXpm libXft xorg.libXrender - libXau libXdmcp libpng libjpeg expat xproto xextproto xineramaproto - librsvg gettext freetype fontconfig ]; + libXau libXdmcp libXmu libpng libjpeg expat xproto xextproto xineramaproto + librsvg freetype fontconfig ]; + + enableParallelBuilding = true; preConfigure = "./autogen.sh"; diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix index f2f864506d37..4060b9887f79 100644 --- a/pkgs/applications/window-managers/qtile/default.nix +++ b/pkgs/applications/window-managers/qtile/default.nix @@ -24,9 +24,9 @@ buildPythonApplication rec { postPatch = '' substituteInPlace libqtile/manager.py --subst-var-by out $out - substituteInPlace libqtile/pangocffi.py --subst-var-by glib ${pkgs.glib} - substituteInPlace libqtile/pangocffi.py --subst-var-by pango ${pkgs.pango} - substituteInPlace libqtile/xcursors.py --subst-var-by xcb-cursor ${pkgs.xorg.xcbutilcursor} + substituteInPlace libqtile/pangocffi.py --subst-var-by glib ${pkgs.glib.out} + substituteInPlace libqtile/pangocffi.py --subst-var-by pango ${pkgs.pango.out} + substituteInPlace libqtile/xcursors.py --subst-var-by xcb-cursor ${pkgs.xorg.xcbutilcursor.out} ''; buildInputs = [ pkgs.pkgconfig pkgs.glib pkgs.xorg.libxcb pkgs.cairo pkgs.pango python27Packages.xcffib ]; diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index a1d653fb6d0c..8c7227847476 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ wayland mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm - mtdev libjpeg pam dbus.libs libinput pango libunwind freerdp vaapi libva + mtdev libjpeg pam dbus libinput pango libunwind freerdp vaapi libva libwebp wayland-protocols ]; @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (vaapi != null) "--enabe-vaapi-recorder" ++ stdenv.lib.optionals (xwayland != null) [ "--enable-xwayland" - "--with-xserver-path=${xwayland}/bin/Xwayland" + "--with-xserver-path=${xwayland.out}/bin/Xwayland" ]; meta = with stdenv.lib; { diff --git a/pkgs/build-support/build-fhs-chrootenv/env.nix b/pkgs/build-support/build-fhs-chrootenv/env.nix index 8c45c9c9036b..01d75727f0bf 100644 --- a/pkgs/build-support/build-fhs-chrootenv/env.nix +++ b/pkgs/build-support/build-fhs-chrootenv/env.nix @@ -3,6 +3,7 @@ { name, profile ? "" , pkgs ? null, targetPkgs ? pkgs: [], multiPkgs ? pkgs: [] , extraBuildCommands ? "", extraBuildCommandsMulti ? "" +, extraOutputsToInstall ? [] }: # HOWTO: @@ -57,6 +58,7 @@ let export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive' export LD_LIBRARY_PATH='/run/opengl-driver/lib:/run/opengl-driver-32/lib:/usr/lib:/usr/lib32' export PATH='/var/setuid-wrappers:/usr/bin:/usr/sbin' + export PKG_CONFIG_PATH=/usr/lib/pkgconfig # Force compilers to look in default search paths export NIX_CFLAGS_COMPILE='-idirafter /usr/include' @@ -118,12 +120,14 @@ let staticUsrProfileTarget = nixpkgs.buildEnv { name = "${name}-usr-target"; paths = [ etcPkg ] ++ basePkgs ++ targetPaths; + extraOutputsToInstall = [ "lib" "out" ] ++ extraOutputsToInstall; ignoreCollisions = true; }; staticUsrProfileMulti = nixpkgs.buildEnv { name = "system-profile-multi"; paths = multiPaths; + extraOutputsToInstall = [ "lib" "out" ] ++ extraOutputsToInstall; ignoreCollisions = true; }; @@ -157,8 +161,8 @@ let cp -rsHf ${staticUsrProfileTarget}/lib64/* lib64/ && chmod u+w -R lib64/ # copy gcc libs - cp -rsHf ${chosenGcc.cc}/lib/* lib32/ - cp -rsHf ${chosenGcc.cc}/lib64/* lib64/ + cp -rsHf ${chosenGcc.cc.lib}/lib/* lib32/ + cp -rsHf ${chosenGcc.cc.lib}/lib64/* lib64/ # symlink 32-bit ld-linux.so ln -s ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/ diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix index a9a4d95d7d8f..8b2167a8e74f 100644 --- a/pkgs/build-support/buildenv/default.nix +++ b/pkgs/build-support/buildenv/default.nix @@ -27,7 +27,7 @@ , # The package outputs to include. By default, only the default # output is included. - outputsToLink ? [] + extraOutputsToInstall ? [] , # Root the result in directory "$out${extraPrefix}", e.g. "/share". extraPrefix ? "" @@ -48,8 +48,14 @@ runCommand name meta pathsToLink extraPrefix postBuild buildInputs; pkgs = builtins.toJSON (map (drv: { paths = - [ drv ] - ++ lib.concatMap (outputName: lib.optional (drv.${outputName}.outPath or null != null) drv.${outputName}) outputsToLink; + # First add the usual output(s): respect if user has chosen explicitly, + # and otherwise use `meta.outputsToInstall` (guaranteed to exist by stdenv). + (if (drv.outputUnspecified or false) + then map (outName: drv.${outName}) drv.meta.outputsToInstall + else [ drv ]) + # Add any extra outputs specified by the caller of `buildEnv`. + ++ lib.filter (p: p!=null) + (builtins.map (outName: drv.${outName} or null) extraOutputsToInstall); priority = drv.meta.priority or 5; }) paths); preferLocalBuild = true; diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index 673d9ec494cb..894ea95b5fa0 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -1,7 +1,7 @@ #! @shell@ -e path_backup="$PATH" -if [ -n "@coreutils@" ]; then - PATH="@coreutils@/bin:@gnugrep@/bin" +if [ -n "@coreutils_bin@" ]; then + PATH="@coreutils_bin@/bin:@gnugrep_bin@/bin" fi if [ -n "$NIX_CC_WRAPPER_START_HOOK" ]; then diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 110f51891417..6cdd04772445 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -27,6 +27,13 @@ let ccVersion = (builtins.parseDrvName cc.name).version; ccName = (builtins.parseDrvName cc.name).name; + libc_bin = if nativeLibc then null else libc.bin or libc; + libc_dev = if nativeLibc then null else libc.dev or libc; + libc_lib = if nativeLibc then null else libc.out or libc; + cc_solib = cc.lib or cc; + binutils_bin = if nativeTools then "" else binutils.bin or binutils; + # The wrapper scripts use 'cat' and 'grep', so we may need coreutils. + coreutils_bin = if nativeTools then "" else coreutils.bin or coreutils; in stdenv.mkDerivation { @@ -36,15 +43,10 @@ stdenv.mkDerivation { preferLocalBuild = true; - inherit cc shell; - libc = if nativeLibc then null else libc; - binutils = if nativeTools then "" else binutils; - # The wrapper scripts use 'cat' and 'grep', so we may need coreutils - # and gnugrep. - coreutils = if nativeTools then "" else coreutils; - gnugrep = if nativeTools then "" else gnugrep; + inherit cc shell libc_bin libc_dev libc_lib binutils_bin coreutils_bin; + gnugrep_bin = if nativeTools then "" else gnugrep; - passthru = { inherit nativeTools nativeLibc nativePrefix isGNU isClang; }; + passthru = { inherit libc nativeTools nativeLibc nativePrefix isGNU isClang; }; buildCommand = '' @@ -60,11 +62,11 @@ stdenv.mkDerivation { '' + optionalString (!nativeLibc) (if (!stdenv.isDarwin) then '' - dynamicLinker="$libc/lib/$dynamicLinker" + dynamicLinker="${libc_lib}/lib/$dynamicLinker" echo $dynamicLinker > $out/nix-support/dynamic-linker - if [ -e $libc/lib/32/ld-linux.so.2 ]; then - echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32 + if [ -e ${libc_lib}/lib/32/ld-linux.so.2 ]; then + echo ${libc_lib}/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32 fi # The dynamic linker is passed in `ldflagsBefore' to allow @@ -78,7 +80,7 @@ stdenv.mkDerivation { '') + optionalString (!nativeLibc) '' - # The "-B$libc/lib/" flag is a quick hack to force gcc to link + # The "-B${libc_lib}/lib/" flag is a quick hack to force gcc to link # against the crt1.o from our own glibc, rather than the one in # /usr/lib. (This is only an issue when using an `impure' # compiler/linker, i.e., one that searches /usr/lib and so on.) @@ -89,11 +91,11 @@ stdenv.mkDerivation { # compile, because it uses "#include_next <limits.h>" to find the # limits.h file in ../includes-fixed. To remedy the problem, # another -idirafter is necessary to add that directory again. - echo "-B$libc/lib/ -idirafter $libc/include -idirafter $cc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags + echo "-B${libc_lib}/lib/ -idirafter ${libc_dev}/include -idirafter ${cc}/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags - echo "-L$libc/lib" > $out/nix-support/libc-ldflags + echo "-L${libc_lib}/lib" > $out/nix-support/libc-ldflags - echo $libc > $out/nix-support/orig-libc + echo "${libc_lib}" > $out/nix-support/orig-libc '' + (if nativeTools then '' @@ -102,23 +104,23 @@ stdenv.mkDerivation { '' else '' echo $cc > $out/nix-support/orig-cc - # GCC shows $cc/lib in `gcc -print-search-dirs', but not - # $cc/lib64 (even though it does actually search there...).. + # GCC shows ${cc_solib}/lib in `gcc -print-search-dirs', but not + # ${cc_solib}/lib64 (even though it does actually search there...).. # This confuses libtool. So add it to the compiler tool search # path explicitly. - if [ -e "$cc/lib64" -a ! -L "$cc/lib64" ]; then - ccLDFlags+=" -L$cc/lib64" - ccCFlags+=" -B$cc/lib64" + if [ -e "${cc_solib}/lib64" -a ! -L "${cc_solib}/lib64" ]; then + ccLDFlags+=" -L${cc_solib}/lib64" + ccCFlags+=" -B${cc_solib}/lib64" fi - ccLDFlags+=" -L$cc/lib" + ccLDFlags+=" -L${cc_solib}/lib" ${optionalString cc.langVhdl or false '' - ccLDFlags+=" -L${zlib}/lib" + ccLDFlags+=" -L${zlib.out}/lib" ''} # Find the gcc libraries path (may work only without multilib). ${optionalString cc.langAda or false '' - basePath=`echo $cc/lib/*/*/*` + basePath=`echo ${cc_solib}/lib/*/*/*` ccCFlags+=" -B$basePath -I$basePath/adainclude" gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib" echo "$gnatCFlags" > $out/nix-support/gnat-cflags @@ -134,13 +136,13 @@ stdenv.mkDerivation { echo "$ccLDFlags" > $out/nix-support/cc-ldflags echo "$ccCFlags" > $out/nix-support/cc-cflags - ccPath="$cc/bin" - ldPath="$binutils/bin" + ccPath="${cc}/bin" + ldPath="${binutils_bin}/bin" # Propagate the wrapped cc so that if you install the wrapper, # you get tools like gcov, the manpages, etc. as well (including # for binutils and Glibc). - echo $cc $binutils $libc > $out/nix-support/propagated-user-env-packages + echo ${cc} ${cc.man or ""} ${binutils_bin} ${libc_bin} > $out/nix-support/propagated-user-env-packages echo ${toString extraPackages} > $out/nix-support/propagated-native-build-inputs '' @@ -162,12 +164,12 @@ stdenv.mkDerivation { wrap ld ${./ld-wrapper.sh} ''${ld:-$ldPath/ld} - if [ -e $binutils/bin/ld.gold ]; then - wrap ld.gold ${./ld-wrapper.sh} $binutils/bin/ld.gold + if [ -e ${binutils_bin}/bin/ld.gold ]; then + wrap ld.gold ${./ld-wrapper.sh} ${binutils_bin}/bin/ld.gold fi - if [ -e $binutils/bin/ld.bfd ]; then - wrap ld.bfd ${./ld-wrapper.sh} $binutils/bin/ld.bfd + if [ -e ${binutils_bin}/bin/ld.bfd ]; then + wrap ld.bfd ${./ld-wrapper.sh} ${binutils_bin}/bin/ld.bfd fi export real_cc=cc diff --git a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh index 012f826a111e..0d74527dd8ad 100644 --- a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh @@ -1,7 +1,7 @@ #! @shell@ -e path_backup="$PATH" -if [ -n "@coreutils@" ]; then - PATH="@coreutils@/bin" +if [ -n "@coreutils_bin@" ]; then + PATH="@coreutils_bin@/bin" fi if [ -n "$NIX_GNAT_WRAPPER_START_HOOK" ]; then diff --git a/pkgs/build-support/cc-wrapper/ld-wrapper.sh b/pkgs/build-support/cc-wrapper/ld-wrapper.sh index 449a86459045..28d73f046e68 100644 --- a/pkgs/build-support/cc-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/ld-wrapper.sh @@ -1,7 +1,7 @@ #! @shell@ -e path_backup="$PATH" -if [ -n "@coreutils@" ]; then - PATH="@coreutils@/bin" +if [ -n "@coreutils_bin@" ]; then + PATH="@coreutils_bin@/bin" fi if [ -n "$NIX_LD_WRAPPER_START_HOOK" ]; then diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh index 35620483d2bc..f4f7ab181d3e 100644 --- a/pkgs/build-support/cc-wrapper/setup-hook.sh +++ b/pkgs/build-support/cc-wrapper/setup-hook.sh @@ -22,20 +22,20 @@ envHooks+=(addCVars) # Note: these come *after* $out in the PATH (see setup.sh). -if [ -n "@binutils@" ]; then - addToSearchPath _PATH @binutils@/bin -fi - if [ -n "@cc@" ]; then addToSearchPath _PATH @cc@/bin fi -if [ -n "@libc@" ]; then - addToSearchPath _PATH @libc@/bin +if [ -n "@binutils_bin@" ]; then + addToSearchPath _PATH @binutils_bin@/bin +fi + +if [ -n "@libc_bin@" ]; then + addToSearchPath _PATH @libc_bin@/bin fi -if [ -n "@coreutils@" ]; then - addToSearchPath _PATH @coreutils@/bin +if [ -n "@coreutils_bin@" ]; then + addToSearchPath _PATH @coreutils_bin@/bin fi if [ -z "$crossConfig" ]; then diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index d4b46cf9e9d4..3cd64ed1c02f 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -61,6 +61,7 @@ in , md5 ? "" , sha1 ? "" , sha256 ? "" +, sha512 ? "" , recursiveHash ? false @@ -91,7 +92,7 @@ assert (urls == []) != (url == ""); let hasHash = showURLs || (outputHash != "" && outputHashAlgo != "") - || md5 != "" || sha1 != "" || sha256 != ""; + || md5 != "" || sha1 != "" || sha256 != "" || sha512 != ""; urls_ = if urls != [] then urls else [url]; in @@ -114,9 +115,9 @@ if (!hasHash) then throw "Specify hash for fetchurl fixed-output derivation: ${s # New-style output content requirements. outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else - if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5"; + if sha512 != "" then "sha512" else if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5"; outputHash = if outputHash != "" then outputHash else - if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; + if sha512 != "" then sha512 else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; outputHashMode = if (recursiveHash || executable) then "recursive" else "flat"; diff --git a/pkgs/build-support/gcc-wrapper-old/builder.sh b/pkgs/build-support/gcc-wrapper-old/builder.sh index 7bb487096145..a8e8a370ec0d 100644 --- a/pkgs/build-support/gcc-wrapper-old/builder.sh +++ b/pkgs/build-support/gcc-wrapper-old/builder.sh @@ -24,7 +24,7 @@ if test -z "$nativeLibc"; then # compile, because it uses "#include_next <limits.h>" to find the # limits.h file in ../includes-fixed. To remedy the problem, # another -idirafter is necessary to add that directory again. - echo "-B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags + echo "-B$libc/lib/ -idirafter $libc_dev/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags echo "-L$libc/lib" > $out/nix-support/libc-ldflags @@ -39,9 +39,9 @@ if test -n "$nativeTools"; then ldPath="$nativePrefix/bin" else if test -e "$gcc/lib64"; then - gccLDFlags="$gccLDFlags -L$gcc/lib64" + gccLDFlags="$gccLDFlags -L$gcc_lib/lib64" fi - gccLDFlags="$gccLDFlags -L$gcc/lib" + gccLDFlags="$gccLDFlags -L$gcc_lib/lib" if [ -n "$langVhdl" ]; then gccLDFlags="$gccLDFlags -L$zlib/lib" fi @@ -95,6 +95,7 @@ doSubstitute() { -e "s^@binutils@^$binutils^g" \ -e "s^@coreutils@^$coreutils^g" \ -e "s^@libc@^$libc^g" \ + -e "s^@libc_bin@^$libc_bin^g" \ -e "s^@ld@^$ld^g" \ < "$src" > "$dst" } @@ -210,5 +211,5 @@ cp -p $utils $out/nix-support/utils.sh # tools like gcov, the manpages, etc. as well (including for binutils # and Glibc). if test -z "$nativeTools"; then - echo $gcc $binutils $libc > $out/nix-support/propagated-user-env-packages + echo $gcc $binutils $libc $libc_bin > $out/nix-support/propagated-user-env-packages fi diff --git a/pkgs/build-support/gcc-wrapper-old/default.nix b/pkgs/build-support/gcc-wrapper-old/default.nix index 20f1bc97ad1b..f44aaec5d9d7 100644 --- a/pkgs/build-support/gcc-wrapper-old/default.nix +++ b/pkgs/build-support/gcc-wrapper-old/default.nix @@ -41,7 +41,10 @@ stdenv.mkDerivation { addFlags = ./add-flags; inherit nativeTools nativeLibc nativePrefix gcc; + gcc_lib = gcc.lib or gcc; libc = if nativeLibc then null else libc; + libc_dev = if nativeLibc then null else libc.dev or libc; + libc_bin = if nativeLibc then null else libc.bin or libc; binutils = if nativeTools then null else binutils; # The wrapper scripts use 'cat', so we may need coreutils coreutils = if nativeTools then null else coreutils; diff --git a/pkgs/build-support/gcc-wrapper-old/setup-hook.sh b/pkgs/build-support/gcc-wrapper-old/setup-hook.sh index 298ade21d1f5..d8bdf858ae58 100644 --- a/pkgs/build-support/gcc-wrapper-old/setup-hook.sh +++ b/pkgs/build-support/gcc-wrapper-old/setup-hook.sh @@ -25,7 +25,7 @@ if test -n "@binutils@"; then fi if test -n "@libc@"; then - addToSearchPath PATH @libc@/bin + addToSearchPath PATH @libc_bin@/bin fi if test -n "@coreutils@"; then diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix index 18719e6e22ba..6c2e98b9cc1d 100644 --- a/pkgs/build-support/grsecurity/default.nix +++ b/pkgs/build-support/grsecurity/default.nix @@ -114,16 +114,10 @@ let "-${grkern.grversion}-${grkern.revision}"; grsecurityOverrider = args: grkern: { - # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins) - # include libgmp headers, so we need these extra tweaks - # As of gcc5 we also need libmpc - buildInputs = args.buildInputs ++ [ pkgs.gmp pkgs.libmpc pkgs.mpfr ]; - preConfigure = '' - extraIncludes="-I${pkgs.gmp}/include -I${pkgs.libmpc}/include -I${pkgs.mpfr}/include" - ${args.preConfigure or ""} - sed -i "s|-I|$extraIncludes -I|" scripts/gcc-plugin.sh - sed -i "s|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += $extraIncludes|" tools/gcc/Makefile - sed -i "s|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += $extraIncludes|" tools/gcc/Makefile + # additional build inputs for gcc plugins, required by some PaX/grsec features + nativeBuildInputs = args.nativeBuildInputs ++ (with pkgs; [ gmp libmpc mpfr ]); + + preConfigure = args.preConfigure or "" + '' rm localversion-grsec echo ${localver grkern} > localversion-grsec ''; diff --git a/pkgs/build-support/setup-hooks/compress-man-pages.sh b/pkgs/build-support/setup-hooks/compress-man-pages.sh index 1dd9788419b8..f1d9cf3a3696 100644 --- a/pkgs/build-support/setup-hooks/compress-man-pages.sh +++ b/pkgs/build-support/setup-hooks/compress-man-pages.sh @@ -3,6 +3,7 @@ fixupOutputHooks+=('if [ -z "$dontGzipMan" ]; then compressManPages "$prefix"; f compressManPages() { local dir="$1" + if [ ! -d "$dir/share/man" ]; then return; fi echo "gzipping man pages in $dir" GLOBIGNORE=.:..:*.gz:*.bz2 diff --git a/pkgs/build-support/setup-hooks/move-docs.sh b/pkgs/build-support/setup-hooks/move-docs.sh index 57b71c15691d..ef31dcdce274 100644 --- a/pkgs/build-support/setup-hooks/move-docs.sh +++ b/pkgs/build-support/setup-hooks/move-docs.sh @@ -2,7 +2,7 @@ # $out/share/man to $man/share/man; and moves $out/share/doc to # $man/share/doc. -preFixupHooks+=(_moveDocs) +preFixupHooks+=(_moveToShare) _moveToShare() { forceShare=${forceShare:=man doc info} @@ -21,31 +21,3 @@ _moveToShare() { done } -_moveToOutput() { - local d="$1" - local dst="$2" - if [ -z "$dst" -a ! -e $dst/$d ]; then return; fi - local output - for output in $outputs; do - if [ "${!output}" = "$dst" ]; then continue; fi - if [ -d "${!output}/$d" ]; then - echo "moving ${!output}/$d to $dst/$d" - mkdir -p $dst/share - mv ${!output}/$d $dst/$d - break - fi - done -} - -_moveDocs() { - _moveToShare - _moveToOutput share/man "$man" - _moveToOutput share/info "$info" - _moveToOutput share/doc "$doc" - _moveToOutput share/gtk-doc "$doc" - - # Remove empty share directory. - if [ -d "$out/share" ]; then - rmdir $out/share 2> /dev/null || true - fi -} diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh new file mode 100644 index 000000000000..2cf08d42ae04 --- /dev/null +++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh @@ -0,0 +1,177 @@ +# The base package for automatic multiple-output splitting. Used in stdenv as well. +preConfigureHooks+=(_multioutConfig) +preFixupHooks+=(_multioutDocs) +preFixupHooks+=(_multioutDevs) +postFixupHooks+=(_multioutPropagateDev) + +# Assign the first string containing nonempty variable to the variable named $1 +_assignFirst() { + local varName="$1" + local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name) + shift + while [ $# -ge 1 ]; do + if [ -n "${!1}" ]; then eval "${varName}"="$1"; return; fi + shift + done + echo "Error: _assignFirst found no valid variant!" + return 1 # none found +} +# Same as _assignFirst, but only if "$1" = "" +_overrideFirst() { + if [ -z "${!1}" ]; then + _assignFirst "$@" + fi +} + + +# Setup chains of sane default values with easy overridability. +# The variables are global to be usable anywhere during the build. +# Typical usage in package is defining outputBin = "dev"; + +_overrideFirst outputDev "dev" "out" +_overrideFirst outputBin "bin" "out" + +_overrideFirst outputInclude "$outputDev" + +# so-libs are often among the main things to keep, and so go to $out +_overrideFirst outputLib "lib" "out" + +_overrideFirst outputDoc "doc" "out" +_overrideFirst outputDocdev "docdev" REMOVE # documentation for developers +# man and info pages are small and often useful to distribute with binaries +_overrideFirst outputMan "man" "doc" "$outputBin" +_overrideFirst outputInfo "info" "doc" "$outputMan" + + +# Add standard flags to put files into the desired outputs. +_multioutConfig() { + if [ "$outputs" = "out" ] || [ -z "${setOutputFlags-1}" ]; then return; fi; + + configureFlags="\ + --bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \ + --includedir=${!outputInclude}/include --oldincludedir=${!outputInclude}/include \ + --mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \ + --docdir=${!outputDoc}/share/doc \ + --libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \ + --localedir=${!outputLib}/share/locale \ + $configureFlags" + + installFlags="\ + pkgconfigdir=${!outputDev}/lib/pkgconfig \ + m4datadir=${!outputDev}/share/aclocal aclocaldir=${!outputDev}/share/aclocal \ + $installFlags" +} + +# Add rpath prefixes to library paths, and avoid stdenv doing it for $out. +_addRpathPrefix "${!outputLib}" +NIX_NO_SELF_RPATH=1 + + +# Move subpaths that match pattern $1 from under any output/ to the $2 output/ +# Beware: only globbing patterns are accepted, e.g.: * ? {foo,bar} +# A special target "REMOVE" is allowed: moveToOutput foo REMOVE +moveToOutput() { + local patt="$1" + local dstOut="$2" + local output + for output in $outputs; do + if [ "${!output}" = "$dstOut" ]; then continue; fi + local srcPath + for srcPath in "${!output}"/$patt; do + if [ ! -e "$srcPath" ]; then continue; fi + + if [ "$dstOut" = REMOVE ]; then + echo "Removing $srcPath" + rm -r "$srcPath" + else + local dstPath="$dstOut${srcPath#${!output}}" + echo "Moving $srcPath to $dstPath" + + if [ -d "$dstPath" ] && [ -d "$srcPath" ] + then # attempt directory merge + # check the case of trying to move an empty directory + rmdir "$srcPath" --ignore-fail-on-non-empty + if [ -d "$srcPath" ]; then + mv -t "$dstPath" "$srcPath"/* + rmdir "$srcPath" + fi + else # usual move + mkdir -p "$(readlink -m "$dstPath/..")" + mv "$srcPath" "$dstPath" + fi + fi + + # remove empty directories, printing iff at least one gets removed + local srcParent="$(readlink -m "$srcPath/..")" + if rmdir "$srcParent"; then + echo "Removing empty $srcParent/ and (possibly) its parents" + rmdir -p --ignore-fail-on-non-empty "$(readlink -m "$srcParent/..")" \ + 2> /dev/null || true # doesn't ignore failure for some reason + fi + done + done +} + +# Move documentation to the desired outputs. +_multioutDocs() { + local REMOVE=REMOVE # slightly hacky - we expand ${!outputFoo} + + moveToOutput share/info "${!outputInfo}" + moveToOutput share/doc "${!outputDoc}" + moveToOutput share/gtk-doc "${!outputDocdev}" + + # the default outputMan is in $bin + moveToOutput share/man "${!outputMan}" + moveToOutput share/man/man3 "${!outputDocdev}" +} + +# Move development-only stuff to the desired outputs. +_multioutDevs() { + if [ "$outputs" = "out" ] || [ -z "${moveToDev-1}" ]; then return; fi; + moveToOutput include "${!outputInclude}" + # these files are sometimes provided even without using the corresponding tool + moveToOutput lib/pkgconfig "${!outputDev}" + moveToOutput share/pkgconfig "${!outputDev}" + moveToOutput lib/cmake "${!outputDev}" + moveToOutput share/aclocal "${!outputDev}" + # don't move *.la, as libtool needs them in the directory of the library + + for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc; do + echo "Patching '$f' includedir to output ${!outputInclude}" + sed -i "/^includedir=/s,=\${prefix},=${!outputInclude}," "$f" + done +} + +# Make the first output (typically "dev") propagate other outputs needed for development. +# Take the first, because that's what one gets when putting the package into buildInputs. +# Note: during the build, probably only the "native" development packages are useful. +# With current cross-building setup, all packages are "native" if not cross-building. +_multioutPropagateDev() { + if [ "$outputs" = "out" ]; then return; fi; + + local outputFirst + for outputFirst in $outputs; do + break + done + + # Default value: propagate binaries, includes and libraries + if [ -z "${propagatedBuildOutputs+1}" ]; then + local po_dirty="$outputBin $outputInclude $outputLib" + set +o pipefail + propagatedBuildOutputs=`echo "$po_dirty" \ + | tr -s ' ' '\n' | grep -v -F "$outputFirst" \ + | sort -u | tr '\n' ' ' ` + set -o pipefail + fi + + # The variable was explicitly set to empty or we resolved it so + if [ -z "$propagatedBuildOutputs" ]; then + return + fi + + mkdir -p "${!outputFirst}"/nix-support + for output in $propagatedBuildOutputs; do + echo -n " ${!output}" >> "${!outputFirst}"/nix-support/propagated-native-build-inputs + done +} + diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 774c1b700c69..e670e1ef2258 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -40,9 +40,9 @@ rec { mkdir -p $out/lib # Copy what we need from Glibc. - cp -p ${pkgs.stdenv.glibc}/lib/ld-linux*.so.? $out/lib - cp -p ${pkgs.stdenv.glibc}/lib/libc.so.* $out/lib - cp -p ${pkgs.stdenv.glibc}/lib/libm.so.* $out/lib + cp -p ${pkgs.stdenv.glibc.out}/lib/ld-linux*.so.? $out/lib + cp -p ${pkgs.stdenv.glibc.out}/lib/libc.so.* $out/lib + cp -p ${pkgs.stdenv.glibc.out}/lib/libm.so.* $out/lib # Copy BusyBox. cp -pd ${pkgs.busybox}/bin/* $out/bin @@ -584,7 +584,7 @@ rec { buildCommand = '' ${createRootFS} - PATH=$PATH:${dpkg}/bin:${dpkg}/bin:${glibc}/bin:${lzma}/bin + PATH=$PATH:${dpkg}/bin:${dpkg}/bin:${glibc.bin}/bin:${lzma.bin}/bin # Unpack the .debs. We do this to prevent pre-install scripts # (which have lots of circular dependencies) from barfing. diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix index 56956280feac..3ee2242adecd 100644 --- a/pkgs/data/documentation/man-pages/default.nix +++ b/pkgs/data/documentation/man-pages/default.nix @@ -9,7 +9,10 @@ stdenv.mkDerivation rec { sha256 = "03d6aqgvhcsyciwdhl50h9bwn53iivvd7rbnh8als2ia9jwm2026"; }; + # keep developer docs separately (man2 and man3) + outputs = [ "out" "docdev" ]; makeFlags = [ "MANDIR=$(out)/share/man" ]; + postFixup = ''moveToOutput share/man/man2 "$docdev" ''; meta = with stdenv.lib; { description = "Linux development manual pages"; diff --git a/pkgs/data/documentation/std-man-pages/default.nix b/pkgs/data/documentation/std-man-pages/default.nix index 3b45da914d25..c438f839dbda 100644 --- a/pkgs/data/documentation/std-man-pages/default.nix +++ b/pkgs/data/documentation/std-man-pages/default.nix @@ -2,12 +2,14 @@ stdenv.mkDerivation rec { name = "std-man-pages-4.4.0"; - + src = fetchurl { url = mirror://gcc/libstdc++/doxygen/libstdc++-man.4.4.0.tar.bz2; sha256 = "0153py77ll759jacq41dp2z2ksr08pdcfic0rwjd6pr84dk89y9v"; }; + outputDocdev = "out"; + installPhase = '' mkdir -p $out/share/man cp -R * $out/share/man diff --git a/pkgs/data/documentation/stdman/default.nix b/pkgs/data/documentation/stdman/default.nix index 33c002e98013..249e5b6841bf 100644 --- a/pkgs/data/documentation/stdman/default.nix +++ b/pkgs/data/documentation/stdman/default.nix @@ -11,13 +11,15 @@ stdenv.mkDerivation rec { sha256 = "09c5gjhcz97ghfrv9zkgfb1wckvmqnhbzga0xidbm1ir7640di8l"; }; + outputDocdev = "out"; + preConfigure = " patchShebangs ./configure patchShebangs ./do_install "; buildInputs = [ curl ]; - + meta = with stdenv.lib; { description = "Formatted C++11/14 stdlib man pages (cppreference)"; longDescription = "stdman is a tool that parses archived HTML diff --git a/pkgs/data/misc/media-player-info/default.nix b/pkgs/data/misc/media-player-info/default.nix index f31c7c503a29..9cfb89914b11 100644 --- a/pkgs/data/misc/media-player-info/default.nix +++ b/pkgs/data/misc/media-player-info/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, python3, udev }: +{ stdenv, fetchurl, pkgconfig, python3, udev, systemd }: let name = "media-player-info-22"; @@ -12,7 +12,7 @@ in sha256 = "0di3gfx5z8c34yspzyllydr5snzg71r985kbqhrhb1il51qxgrvy"; }; - buildInputs = [ udev ]; + buildInputs = [ udev systemd ]; nativeBuildInputs = [ pkgconfig python3 ]; postPatch = '' diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 5b51da58e622..8ffd21330602 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -16,14 +16,16 @@ stdenv.mkDerivation rec { ]; sourceRoot = "."; - outputs = [ "out" "lib" ]; + + outputs = [ "out" "man" "dev" ]; + propagatedBuildOutputs = []; makeFlags = [ "TOPDIR=$(out)" "TZDIR=$(out)/share/zoneinfo" "ETCDIR=$(TMPDIR)/etc" - "LIBDIR=$(lib)/lib" - "MANDIR=$(TMPDIR)/man" + "LIBDIR=$(dev)/lib" + "MANDIR=$(man)/man" "AWK=awk" "CFLAGS=-DHAVE_LINK=0" ]; @@ -34,8 +36,8 @@ stdenv.mkDerivation rec { ln -s . $out/share/zoneinfo/posix mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right - mkdir -p "$lib/include" - cp tzfile.h "$lib/include/tzfile.h" + mkdir -p "$dev/include" + cp tzfile.h "$dev/include/tzfile.h" ''; meta = { diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index c2124f0b2928..3df091fd48a7 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, libwebp, curl, libinput }: +{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, libwebp, curl, libinput, systemd }: stdenv.mkDerivation rec { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.printproto - xorg.libX11 udev utillinux ]; + xorg.libX11 udev utillinux systemd ]; propagatedBuildInputs = [ libxkbcommon python27Packages.dbus dbus libjpeg xorg.libXcomposite xorg.libXdamage xorg.libXinerama xorg.libXp xorg.libXtst xorg.libXi xorg.libXext @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { "--disable-tslib" "--with-systemdunitdir=$out/systemd/user" "ac_ct_CXX=foo" ]; - NIX_CFLAGS_COMPILE = [ "-I${xorg.libXtst}" "-I${dbus_libs}/include/dbus-1.0" "-I${dbus_libs}/lib/dbus-1.0/include" ]; + NIX_CFLAGS_COMPILE = [ "-I${xorg.libXtst}" "-I${dbus_libs.dev}/include/dbus-1.0" "-I${dbus_libs.lib}/lib/dbus-1.0/include" ]; patches = [ ./efl-elua.patch ]; diff --git a/pkgs/desktops/enlightenment/rage.nix b/pkgs/desktops/enlightenment/rage.nix index 8c3391cf2714..67f9c68cd613 100644 --- a/pkgs/desktops/enlightenment/rage.nix +++ b/pkgs/desktops/enlightenment/rage.nix @@ -7,19 +7,23 @@ stdenv.mkDerivation rec { url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.gz"; sha256 = "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg"; }; - buildInputs = [ elementary efl automake autoconf libtool pkgconfig - makeWrapper ]; - GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [ + buildInputs = [ + elementary efl automake autoconf libtool pkgconfig + makeWrapper + gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad - gst_all_1.gst-libav ]; + gst_all_1.gst-libav + ]; + configurePhase = '' ./autogen.sh --prefix=$out ''; + postInstall = '' wrapProgram $out/bin/rage \ - --prefix GST_PLUGIN_PATH : "$GST_PLUGIN_PATH" + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" ''; meta = { description = "Video + Audio player along the lines of mplayer"; diff --git a/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix index f31875bed91c..50f2cd081332 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { sha256 = "02r9gv3a4a705jf3h7c0bizn33c73wz0iw2500m7z291nrnmqkmj"; }; - buildInputs = [ dbus.libs libgcrypt pam python gtk GConf libgnome_keyring ]; + buildInputs = [ dbus libgcrypt pam python gtk GConf libgnome_keyring ]; propagatedBuildInputs = [ glib libtasn1 ]; diff --git a/pkgs/desktops/gnome-3/3.18/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.18/apps/evolution/default.nix index a9bb87d4dddf..100dfbf3acec 100644 --- a/pkgs/desktops/gnome-3/3.18/apps/evolution/default.nix +++ b/pkgs/desktops/gnome-3/3.18/apps/evolution/default.nix @@ -27,7 +27,7 @@ in stdenv.mkDerivation rec { configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar" "--disable-libcryptui" ]; - NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0"; + NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0"; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/3.18/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.18/core/empathy/default.nix index 4c42c6c026d3..48b45f28522e 100644 --- a/pkgs/desktops/gnome-3/3.18/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/empathy/default.nix @@ -35,9 +35,9 @@ stdenv.mkDerivation rec { gnome3.defaultIconTheme gnome3.gsettings_desktop_schemas file libtool librsvg ]; - NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0" - "-I${dbus_libs}/include/dbus-1.0" - "-I${dbus_libs}/lib/dbus-1.0/include" ]; + NIX_CFLAGS_COMPILE = [ "-I${dbus_glib.dev}/include/dbus-1.0" + "-I${dbus_libs.dev}/include/dbus-1.0" + "-I${dbus_libs.lib}/lib/dbus-1.0/include" ]; preFixup = '' for f in $out/bin/* $out/libexec/*; do diff --git a/pkgs/desktops/gnome-3/3.18/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.18/core/epiphany/default.nix index 322dd3bedac6..d50036a597e6 100644 --- a/pkgs/desktops/gnome-3/3.18/core/epiphany/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/epiphany/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf ]; - NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0"; + NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0"; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/3.18/core/folks/default.nix b/pkgs/desktops/gnome-3/3.18/core/folks/default.nix index 6e200bdb3188..4385c6b6f75b 100644 --- a/pkgs/desktops/gnome-3/3.18/core/folks/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/folks/default.nix @@ -23,8 +23,8 @@ stdenv.mkDerivation rec { configureFlags = "--disable-fatal-warnings"; - NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss" - "-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"]; + NIX_CFLAGS_COMPILE = ["-I${nspr.dev}/include/nspr" "-I${nss.dev}/include/nss" + "-I${dbus_glib.dev}/include/dbus-1.0" "-I${dbus_libs.dev}/include/dbus-1.0"]; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/3.18/core/gdm/3.16-wip/default.nix b/pkgs/desktops/gnome-3/3.18/core/gdm/3.16-wip/default.nix index 51b67afb01fd..3749be2de27f 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gdm/3.16-wip/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gdm/3.16-wip/default.nix @@ -11,9 +11,9 @@ stdenv.mkDerivation rec { }; preConfigure = '' - substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X" + substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X" substituteInPlace daemon/gdm-simple-slave.c --replace 'BINDIR "/gnome-session' '"${gnome_session}/bin/gnome-session' - substituteInPlace daemon/gdm-launch-environment.c --replace 'BINDIR "/dbus-launch' '"${dbus.tools}/bin/dbus-launch' + substituteInPlace daemon/gdm-launch-environment.c --replace 'BINDIR "/dbus-launch' '"${dbus.dbus-launch}' substituteInPlace data/gdm.conf-custom.in --replace '#WaylandEnable=false' 'WaylandEnable=false' sed 's/#Enable=true/Enable=true/' -i data/gdm.conf-custom.in ''; diff --git a/pkgs/desktops/gnome-3/3.18/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.18/core/gdm/default.nix index 1db969651317..a13370e5c9a9 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gdm/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gdm/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { # Only needed to make it build preConfigure = '' - substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X" + substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X" ''; configureFlags = [ "--sysconfdir=/etc" diff --git a/pkgs/desktops/gnome-3/3.18/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.18/core/gjs/default.nix index 792e34c7b148..ac53726bc537 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gjs/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gjs/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ spidermonkey_24 ]; postInstall = '' - sed 's|-lreadline|-L${readline}/lib -lreadline|g' -i $out/lib/libgjs.la + sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-dictionary/default.nix index 1d1f9d18c566..51e3f6ab3133 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-dictionary/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-dictionary/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/gnome-dictionary" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-online-accounts/default.nix index d810fbb862b7..c6688fd30cd7 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-online-accounts/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-online-accounts/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { inherit (import ./src.nix fetchurl) name src; - NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0"; + NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0"; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-screenshot/default.nix index 763fc990bdab..15d93793088b 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-screenshot/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-screenshot/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/gnome-screenshot" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-system-log/default.nix index 716f92a072d4..6b7b28ad4000 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-system-log/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-system-log/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/gnome-system-log" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-user-share/default.nix index 49ad40912c66..e8f649835062 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-user-share/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-user-share/default.nix @@ -14,8 +14,8 @@ stdenv.mkDerivation rec { sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf ''; - configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd" - "--with-modules-path=${apacheHttpd_2_2}/modules" + configureFlags = [ "--with-httpd=${apacheHttpd_2_2.out}/bin/httpd" + "--with-modules-path=${apacheHttpd_2_2.out}/modules" "--disable-bluetooth" "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ]; diff --git a/pkgs/desktops/gnome-3/3.18/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.18/core/libcroco/default.nix index e8ddf7096e62..76d9118c4b95 100644 --- a/pkgs/desktops/gnome-3/3.18/core/libcroco/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/libcroco/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" ]; + outputBin = "dev"; configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic"; diff --git a/pkgs/desktops/gnome-3/3.18/core/vte/2.90.nix b/pkgs/desktops/gnome-3/3.18/core/vte/2.90.nix index 5ccca36bcaad..cbb52c9aaa12 100644 --- a/pkgs/desktops/gnome-3/3.18/core/vte/2.90.nix +++ b/pkgs/desktops/gnome-3/3.18/core/vte/2.90.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; postInstall = '' - substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses" + substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/vte/default.nix b/pkgs/desktops/gnome-3/3.18/core/vte/default.nix index 334718403a0d..38850f0fe761 100644 --- a/pkgs/desktops/gnome-3/3.18/core/vte/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/vte/default.nix @@ -20,7 +20,7 @@ let baseAttrs = rec { enableParallelBuilding = true; postInstall = '' - substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses" + substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gitg/default.nix index 19f340ac291e..e7f833bf7172 100644 --- a/pkgs/desktops/gnome-3/3.18/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/3.18/misc/gitg/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gitg" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gnome-tweak-tool/default.nix index 986d4058af92..d0c6674ad9bd 100644 --- a/pkgs/desktops/gnome-3/3.18/misc/gnome-tweak-tool/default.nix +++ b/pkgs/desktops/gnome-3/3.18/misc/gnome-tweak-tool/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/gnome-tweak-tool" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --suffix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --suffix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" ''; diff --git a/pkgs/desktops/gnome-3/3.18/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gpaste/default.nix index eeb2cee86cdd..fd7ecbea01ff 100644 --- a/pkgs/desktops/gnome-3/3.18/misc/gpaste/default.nix +++ b/pkgs/desktops/gnome-3/3.18/misc/gpaste/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ intltool autoreconfHook pkgconfig vala glib - gtk3 gnome3.gnome_control_center dbus.libs + gtk3 gnome3.gnome_control_center dbus clutter pango appstream-glib makeWrapper ]; preConfigure = "intltoolize -f"; diff --git a/pkgs/desktops/kde-4.14/kde-runtime.nix b/pkgs/desktops/kde-4.14/kde-runtime.nix index 655555cd140a..495ea242e0d0 100644 --- a/pkgs/desktops/kde-4.14/kde-runtime.nix +++ b/pkgs/desktops/kde-4.14/kde-runtime.nix @@ -16,7 +16,7 @@ kde { nativeBuildInputs = [ shared_mime_info ]; - NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include"; + NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; passthru.propagatedUserEnvPackages = [ virtuoso ]; diff --git a/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix index 267c2b782129..f5750d60045f 100644 --- a/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix +++ b/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix @@ -9,6 +9,7 @@ kde { patches = [ (fetchurl { + name = "kopete.patch"; url = "https://bugs.kde.org/attachment.cgi?id=91567"; sha256 = "0a44rjiqzn6v3sywm17d1741sygbvlfnbqadq7qbdj3amny014m1"; }) diff --git a/pkgs/desktops/kde-5/applications-15.12/kcalc.nix b/pkgs/desktops/kde-5/applications-15.12/kcalc.nix index a1f0316825da..e4c8e9d69253 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kcalc.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kcalc.nix @@ -1,14 +1,14 @@ { kdeApp , lib +, makeQtWrapper , extra-cmake-modules +, gmp , kdoctools -, makeQtWrapper , kconfig , kconfigwidgets , kguiaddons , kinit , knotifications - }: kdeApp { @@ -20,6 +20,7 @@ kdeApp { ]; buildInputs = [ + gmp kconfig kconfigwidgets kguiaddons diff --git a/pkgs/desktops/kde-5/applications-15.12/kde-app.nix b/pkgs/desktops/kde-5/applications-15.12/kde-app.nix index 242f3d9c793d..2f1fdc1d643c 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kde-app.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kde-app.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation (args // { name = "${name}-${version}"; inherit src; + outputs = args.outputs or [ "dev" "out" ]; + cmakeFlags = (args.cmakeFlags or []) ++ [ "-DBUILD_TESTING=OFF" ] diff --git a/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix b/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix index 4b612ee3e3c2..e83794c60d81 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix @@ -6,6 +6,8 @@ kdeApp (args // { sname = "kde-l10n-${name}"; name = "kde-l10n-${name}-qt4"; + outputs = [ "out" ]; + nativeBuildInputs = [ automoc4 cmake gettext perl ] ++ (args.nativeBuildInputs or []); @@ -17,4 +19,9 @@ kdeApp (args // { sed -e 's/add_subdirectory(5)//' -i CMakeLists.txt ${args.preConfigure or ""} ''; + + preFixup = '' + propagatedBuildInputs= + propagatedNativeBuildInputs= + ''; }) diff --git a/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix b/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix index 522fc542aeb2..772ebe37e44f 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix @@ -6,6 +6,8 @@ kdeApp (args // { sname = "kde-l10n-${name}"; name = "kde-l10n-${name}-qt5"; + outputs = [ "out" ]; + nativeBuildInputs = [ cmake extra-cmake-modules gettext kdoctools ] ++ (args.nativeBuildInputs or []); @@ -14,4 +16,9 @@ kdeApp (args // { sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt ${args.preConfigure or ""} ''; + + preFixup = '' + propagatedBuildInputs= + propagatedNativeBuildInputs= + ''; }) diff --git a/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix b/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix index a30b19774f2a..389362deecc6 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix @@ -2,16 +2,18 @@ , docbook_xml_dtd_42, docbook_xsl, flex, giflib, ilmbase , libdbusmenu_qt, libjpeg, libxml2, libxslt, perl, phonon, pkgconfig , polkit_qt4, qca2, qt4, shared_desktop_ontologies, shared_mime_info -, soprano, strigi, udev, xz +, soprano, strigi, udev, xz, pcre , lib }: kdeApp { name = "kdelibs"; + outputs = [ "out" ]; + buildInputs = [ attica attr avahi giflib libdbusmenu_qt libjpeg libxml2 - polkit_qt4 qca2 shared_desktop_ontologies udev xz + polkit_qt4 qca2 shared_desktop_ontologies udev xz pcre ]; propagatedBuildInputs = [ qt4 soprano phonon strigi ]; nativeBuildInputs = [ diff --git a/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix b/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix index 879262c56a41..44cc99daf261 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix @@ -6,5 +6,5 @@ kdeFramework { name = "breeze-icons"; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedUserEnvPkgs = [ qtsvg ]; + buildInputs = [ qtsvg ]; } diff --git a/pkgs/desktops/kde-5/frameworks-5.19/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/default.nix index cd314e27cacb..2c15f31a9c9e 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/default.nix @@ -29,6 +29,8 @@ let name = "${name}-${version}"; inherit src; + outputs = args.outputs or [ "dev" "out" ]; + cmakeFlags = (args.cmakeFlags or []) ++ [ "-DBUILD_TESTING=OFF" ] @@ -64,14 +66,14 @@ let kdbusaddons = callPackage ./kdbusaddons.nix {}; kdeclarative = callPackage ./kdeclarative.nix {}; kded = callPackage ./kded.nix {}; - kdelibs4support = callPackage ./kdelibs4support.nix {}; + kdelibs4support = callPackage ./kdelibs4support {}; kdesignerplugin = callPackage ./kdesignerplugin.nix {}; kdewebkit = callPackage ./kdewebkit.nix {}; kdesu = callPackage ./kdesu.nix {}; kdnssd = callPackage ./kdnssd.nix {}; kdoctools = callPackage ./kdoctools {}; kemoticons = callPackage ./kemoticons.nix {}; - kfilemetadata = callPackage ./kfilemetadata.nix {}; + kfilemetadata = callPackage ./kfilemetadata {}; kglobalaccel = callPackage ./kglobalaccel.nix {}; kguiaddons = callPackage ./kguiaddons.nix {}; khtml = callPackage ./khtml.nix {}; diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch deleted file mode 100644 index 9717716faf5b..000000000000 --- a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 3cc148e878b69fc3e0228f3e3bf1bbe689dad87c Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel <ttuegel@gmail.com> -Date: Fri, 20 Feb 2015 23:17:39 -0600 -Subject: [PATCH] extra-cmake-modules paths - ---- - kde-modules/KDEInstallDirs.cmake | 37 ++++--------------------------------- - 1 file changed, 4 insertions(+), 33 deletions(-) - -diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake -index b7cd34d..2f868ac 100644 ---- a/kde-modules/KDEInstallDirs.cmake -+++ b/kde-modules/KDEInstallDirs.cmake -@@ -193,37 +193,8 @@ - # (To distribute this file outside of extra-cmake-modules, substitute the full - # License text for the above reference.) - --# Figure out what the default install directory for libraries should be. --# This is based on the logic in GNUInstallDirs, but simplified (the --# GNUInstallDirs code deals with re-configuring, but that is dealt with --# by the _define_* macros in this module). -+# The default library directory on NixOS is *always* /lib. - set(_LIBDIR_DEFAULT "lib") --# Override this default 'lib' with 'lib64' iff: --# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling --# - we are NOT on debian --# - we are on a 64 bits system --# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf --# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if --# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu" --# See http://wiki.debian.org/Multiarch --if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") -- AND NOT CMAKE_CROSSCOMPILING) -- if (EXISTS "/etc/debian_version") # is this a debian system ? -- if(CMAKE_LIBRARY_ARCHITECTURE) -- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") -- endif() -- else() # not debian, rely on CMAKE_SIZEOF_VOID_P: -- if(NOT DEFINED CMAKE_SIZEOF_VOID_P) -- message(AUTHOR_WARNING -- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. " -- "Please enable at least one language before including KDEInstallDirs.") -- else() -- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") -- set(_LIBDIR_DEFAULT "lib64") -- endif() -- endif() -- endif() --endif() - - set(_gnu_install_dirs_vars - BINDIR -@@ -445,15 +416,15 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS) - "QtQuick2 imports" - QML_INSTALL_DIR) - else() -- _define_relative(QTPLUGINDIR LIBDIR "plugins" -+ _define_relative(QTPLUGINDIR LIBDIR "qt5/plugins" - "Qt plugins" - QT_PLUGIN_INSTALL_DIR) - -- _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports" -+ _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "qt5/imports" - "QtQuick1 imports" - IMPORTS_INSTALL_DIR) - -- _define_relative(QMLDIR LIBDIR "qml" -+ _define_relative(QMLDIR LIBDIR "qt5/qml" - "QtQuick2 imports" - QML_INSTALL_DIR) - endif() --- -2.3.0 - diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix index 4e1b1aff3bd1..1c2ea70442d3 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix @@ -1,9 +1,11 @@ -{ kdeFramework, lib, stdenv, cmake, pkgconfig, qttools }: +{ kdeFramework, lib, copyPathsToStore, cmake, pkgconfig, qttools }: kdeFramework { name = "extra-cmake-modules"; - patches = [ ./0001-extra-cmake-modules-paths.patch ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + + outputs = [ "out" ]; # this package has no runtime components setupHook = ./setup-hook.sh; # It is OK to propagate these inputs as long as @@ -11,8 +13,8 @@ kdeFramework { # of some other derivation. propagatedNativeBuildInputs = [ cmake pkgconfig qttools ]; - meta = { - license = stdenv.lib.licenses.bsd2; - maintainers = [ lib.maintainers.ttuegel ]; + meta = with lib; { + license = licenses.bsd2; + maintainers = [ maintainers.ttuegel ]; }; } diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/nix-lib-path.patch b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/nix-lib-path.patch new file mode 100644 index 000000000000..a74340a6dc96 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/nix-lib-path.patch @@ -0,0 +1,37 @@ +Index: extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake +=================================================================== +--- extra-cmake-modules-5.18.0.orig/kde-modules/KDEInstallDirs.cmake ++++ extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake +@@ -200,32 +200,6 @@ + # GNUInstallDirs code deals with re-configuring, but that is dealt with + # by the _define_* macros in this module). + set(_LIBDIR_DEFAULT "lib") +-# Override this default 'lib' with 'lib64' iff: +-# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling +-# - we are NOT on debian +-# - we are on a 64 bits system +-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf +-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if +-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu" +-# See http://wiki.debian.org/Multiarch +-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") +- AND NOT CMAKE_CROSSCOMPILING) +- if (EXISTS "/etc/debian_version") # is this a debian system ? +- if(CMAKE_LIBRARY_ARCHITECTURE) +- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") +- endif() +- else() # not debian, rely on CMAKE_SIZEOF_VOID_P: +- if(NOT DEFINED CMAKE_SIZEOF_VOID_P) +- message(AUTHOR_WARNING +- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. " +- "Please enable at least one language before including KDEInstallDirs.") +- else() +- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") +- set(_LIBDIR_DEFAULT "lib64") +- endif() +- endif() +- endif() +-endif() + + set(_gnu_install_dirs_vars + BINDIR diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/series b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/series new file mode 100644 index 000000000000..b4569e50a5f7 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/series @@ -0,0 +1 @@ +nix-lib-path.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh index a6fa6189240b..56ed09f4ea59 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh +++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh @@ -1,27 +1,81 @@ -addMimePkg() { - local propagated +_ecmSetXdgDirs() { + addToSearchPathOnce XDG_DATA_DIRS "$1/share" + addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg" + addToSearchPathOnce NIX_WRAP_XDG_CONFIG_DIRS "$1/etc/xdg" +} - if [[ -d "$1/share/mime" ]]; then - propagated= - for pkg in $propagatedBuildInputs; do - if [[ "z$pkg" == "z$1" ]]; then - propagated=1 - fi - done - if [[ -z $propagated ]]; then - propagatedBuildInputs="$propagatedBuildInputs $1" +_ecmPropagateSharedData() { + local sharedPaths=( \ + "config.cfg" \ + "doc" \ + "kconf_update" \ + "kservices5" \ + "kservicetypes5" \ + "kxmlgui5" \ + "knotifications5" \ + "icons" \ + "sounds" \ + "templates" \ + "wallpapers" \ + "applications" \ + "desktop-directories" \ + "mime" \ + "info" \ + "dbus-1" \ + "interfaces" \ + "services" \ + "system-services" ) + for dir in ${sharedPaths[@]}; do + if [ -d "$1/share/$dir" ]; then + addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share" + propagateOnce propagatedUserEnvPkgs "$1" + break fi + done +} - propagated= - for pkg in $propagatedUserEnvPkgs; do - if [[ "z$pkg" == "z$1" ]]; then - propagated=1 - fi - done - if [[ -z $propagated ]]; then - propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1" - fi - fi +_ecmConfig() { + # Because we need to use absolute paths here, we must set *all* the paths. + cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}" + cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin" + cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" + cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib" + cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec" + cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" + cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins" + cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins" + cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports" + cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml" + cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" + cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" + cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share" + cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share" + cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML" + cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg" + cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update" + cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5" + cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5" + cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5" + cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5" + cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons" + cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" + cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds" + cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates" + cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers" + cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications" + cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories" + cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages" + cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata" + cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man" + cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info" + cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1" + cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces" + cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services" + cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services" + cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc" + cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg" + cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart" } -envHooks+=(addMimePkg) +envHooks+=(_ecmSetXdgDirs _ecmPropagateSharedData) +preConfigureHooks+=(_ecmConfig) diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kauth/cmake-install-paths.patch b/pkgs/desktops/kde-5/frameworks-5.19/kauth/cmake-install-paths.patch new file mode 100644 index 000000000000..c66f5ecd008f --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/cmake-install-paths.patch @@ -0,0 +1,17 @@ +Index: kauth-5.18.0/KF5AuthConfig.cmake.in +=================================================================== +--- kauth-5.18.0.orig/KF5AuthConfig.cmake.in ++++ kauth-5.18.0/KF5AuthConfig.cmake.in +@@ -4,9 +4,9 @@ set(KAUTH_STUB_FILES_DIR "@PACKAGE_KDE_I + + set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@") + set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@") +-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@") +-set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@") +-set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@") ++set(KAUTH_POLICY_FILES_INSTALL_DIR "${KDE_INSTALL_DATADIR}/polkit-1/actions") ++set(KAUTH_HELPER_INSTALL_DIR "${KDE_INSTALL_LIBEXECDIR}") ++set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "${KDE_INSTALL_LIBEXECDIR}") + + find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@") + diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix index 2b000ff3c041..1352d8c5821f 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix @@ -1,4 +1,4 @@ -{ kdeFramework, lib +{ kdeFramework, lib, copyPathsToStore , extra-cmake-modules , kcoreaddons , polkit-qt @@ -9,7 +9,7 @@ kdeFramework { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ polkit-qt ]; propagatedBuildInputs = [ kcoreaddons ]; - patches = [ ./kauth-policy-install.patch ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); meta = { maintainers = [ lib.maintainers.ttuegel ]; }; diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kauth/series b/pkgs/desktops/kde-5/frameworks-5.19/kauth/series new file mode 100644 index 000000000000..d2689425c387 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/series @@ -0,0 +1 @@ +cmake-install-paths.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/default.nix new file mode 100644 index 000000000000..843db83a99b2 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/default.nix @@ -0,0 +1,36 @@ +{ kdeFramework, lib, copyPathsToStore +, extra-cmake-modules, docbook_xml_dtd_45, kauth +, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons +, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons +, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels +, kinit, knotifications, kparts, kservice, ktextwidgets +, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui +, networkmanager, qtsvg, qtx11extras, xlibs +}: + +# TODO: debug docbook detection + +kdeFramework { + name = "kdelibs4support"; + outputs = [ "dev" "out" ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + setupHook = ./setup-hook.sh; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kcompletion kconfig kded kservice kwidgetsaddons + kxmlgui networkmanager qtsvg qtx11extras xlibs.libSM + ]; + propagatedBuildInputs = [ + kauth karchive kconfigwidgets kcoreaddons kcrash kdbusaddons + kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n kio + kiconthemes kitemmodels kinit knotifications kparts ktextwidgets + kunitconversion kwindowsystem + ]; + cmakeFlags = [ + "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" + "-DDocBookXML4_DTD_VERSION=4.5" + ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch new file mode 100644 index 000000000000..eabb70254483 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch @@ -0,0 +1,13 @@ +Index: kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp +=================================================================== +--- kdelibs4support-5.18.0.orig/src/kdecore/kstandarddirs.cpp ++++ kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp +@@ -292,7 +292,7 @@ static QString relativeInstallPath(const + return QFile::decodeName(ICON_INSTALL_DIR "/"); + } + if (strcmp("include", type) == 0) { +- return QFile::decodeName(INCLUDE_INSTALL_DIR "/"); ++ return QFile::decodeName(qgetenv("NIX_KDE_INCLUDE_DIR")); + } + break; + case 'l': diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/series b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/series new file mode 100644 index 000000000000..9b08ab208774 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/series @@ -0,0 +1 @@ +nix-kde-include-dir.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/setup-hook.sh new file mode 100644 index 000000000000..21ac2e83b5da --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/setup-hook.sh @@ -0,0 +1 @@ +export NIX_KDE_INCLUDE_DIR="@dev@/include/" # trailing slash is required! diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix index 138c3fc33b94..f67c19f42395 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix @@ -4,7 +4,6 @@ kdeFramework { name = "kdoctools"; - setupHook = ./setup-hook.sh; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ karchive ]; propagatedBuildInputs = [ ki18n ]; diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/cmake-install-paths.patch b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/cmake-install-paths.patch new file mode 100644 index 000000000000..732f7b69c828 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/cmake-install-paths.patch @@ -0,0 +1,13 @@ +Index: kfilemetadata-5.18.0/src/CMakeLists.txt +=================================================================== +--- kfilemetadata-5.18.0.orig/src/CMakeLists.txt ++++ kfilemetadata-5.18.0/src/CMakeLists.txt +@@ -49,7 +49,7 @@ install(TARGETS KF5FileMetaData EXPORT K + + install(EXPORT KF5FileMetaDataTargets + NAMESPACE KF5:: +- DESTINATION ${LIB_INSTALL_DIR}/cmake/KF5FileMetaData ++ DESTINATION ${KDE_INSTALL_FULL_CMAKEPACKAGEDIR}/KF5FileMetaData + FILE KF5FileMetaDataTargets.cmake) + + install(FILES diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/default.nix new file mode 100644 index 000000000000..9bb4831cf8da --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/default.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules +, attr, ebook_tools, exiv2, ffmpeg, karchive, ki18n, poppler, qtbase, taglib +}: + +kdeFramework { + name = "kfilemetadata"; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ attr ebook_tools exiv2 ffmpeg karchive poppler taglib ]; + propagatedBuildInputs = [ qtbase ki18n ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/series b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/series new file mode 100644 index 000000000000..d2689425c387 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/series @@ -0,0 +1 @@ +cmake-install-paths.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix index 03b7c7c2f51d..3a27d85b9166 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix @@ -4,11 +4,10 @@ kdeFramework { name = "kservice"; - setupHook = ./setup-hook.sh; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + propagatedNativeBuildInputs = [ extra-cmake-modules ]; + nativeBuildInputs = [ kdoctools ]; buildInputs = [ kcrash kdbusaddons ]; propagatedBuildInputs = [ kconfig kcoreaddons ki18n kwindowsystem ]; - propagatedUserEnvPkgs = [ kcoreaddons ]; patches = [ ./0001-qdiriterator-follow-symlinks.patch ./0002-no-canonicalize-path.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix b/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix index 46e3cb37d112..5ade5f63a8d0 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix @@ -1,7 +1,7 @@ { kdeFramework, lib, extra-cmake-modules, kconfig, kconfigwidgets -, kcoreaddons, kdbusaddons, kdoctools, ki18n, kiconthemes, knotifications -, kservice, kwidgetsaddons, kwindowsystem, libgcrypt, makeQtWrapper -}: +, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes +, knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt +, makeQtWrapper }: kdeFramework { name = "kwallet"; diff --git a/pkgs/desktops/kde-5/plasma-5.5/default.nix b/pkgs/desktops/kde-5/plasma-5.5/default.nix index c9fcbdd8e6a0..384fa6f6d272 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/default.nix @@ -26,7 +26,7 @@ let name = "${name}-${version}"; inherit src; - setupHook = args.setupHook or ./setup-hook.sh; + outputs = args.outputs or [ "dev" "out" ]; cmakeFlags = (args.cmakeFlags or []) @@ -48,8 +48,11 @@ let breeze-qt4 = callPackage ./breeze-qt4.nix {}; breeze-qt5 = callPackage ./breeze-qt5.nix {}; breeze = - let version = (builtins.parseDrvName breeze-qt5.name).version; - in symlinkJoin "breeze-${version}" [ breeze-gtk breeze-qt4 breeze-qt5 ]; + let + version = (builtins.parseDrvName breeze-qt5.name).version; + in + symlinkJoin "breeze-${version}" + (map (pkg: pkg.out or pkg) [ breeze-gtk breeze-qt4 breeze-qt5 ]); kde-cli-tools = callPackage ./kde-cli-tools.nix {}; kde-gtk-config = callPackage ./kde-gtk-config {}; kdecoration = callPackage ./kdecoration.nix {}; diff --git a/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix b/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix index 6b41599994d5..ab8867520b38 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix @@ -22,7 +22,7 @@ plasmaPackage { ]; propagatedBuildInputs = [ ki18n kio ]; cmakeFlags = [ - "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include" - "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include" + "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" + "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" ]; } diff --git a/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix b/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix index 2cfd0df2e1d3..a521a7993628 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix @@ -23,11 +23,6 @@ plasmaPackage { qtdeclarative qtgraphicaleffects ]; - propagatedUserEnvPkgs = [ - libkscreen # D-Bus service - qtdeclarative # QML import - qtgraphicaleffects # QML import - ]; postInstall = '' wrapQtProgram "$out/bin/kscreen-console" ''; diff --git a/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix index a73060ad1af1..5f27efc7f24c 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix @@ -60,9 +60,6 @@ plasmaPackage rec { qtquickcontrols qtx11extras ]; - # All propagatedBuildInputs should be present in the profile because - # wrappers cannot be used here. - propagatedUserEnvPkgs = propagatedBuildInputs; patches = [ ./0001-qt-5.5-QML-import-paths.patch (substituteAll { diff --git a/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix index afd8a18bbbd6..7088f45d64e2 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix @@ -17,7 +17,4 @@ plasmaPackage rec { baloo kactivities kdeclarative kfilemetadata ki18n kio plasma-framework ]; - # All propagatedBuildInputs should be present in the profile because - # wrappers cannot be used here. - propagatedUserEnvPkgs = propagatedBuildInputs; } diff --git a/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix index 2d9364d446eb..01c5c63ce0aa 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix @@ -11,7 +11,7 @@ , xprop, xrdb, xset, xsetroot, solid, qtquickcontrols }: -plasmaPackage rec { +plasmaPackage { name = "plasma-workspace"; nativeBuildInputs = [ @@ -20,10 +20,11 @@ plasmaPackage rec { makeQtWrapper ]; buildInputs = [ - kcmutils kcrash kdbusaddons kdesu kdewebkit kjsembed knewstuff - knotifyconfig kpackage ktextwidgets kwallet kwayland kxmlrpcclient - libdbusmenu libSM libXcursor networkmanager-qt pam phonon - qtscript wayland + dbus_tools kcmutils kconfig kcrash kdbusaddons kdesu kdewebkit + kinit kjsembed knewstuff knotifyconfig kpackage kservice + ktextwidgets kwallet kwayland kxmlrpcclient libdbusmenu libSM + libXcursor mkfontdir networkmanager-qt pam phonon qtscript qttools + socat wayland xmessage xprop xset xsetroot ]; propagatedBuildInputs = [ baloo kactivities kdeclarative kdelibs4support kglobalaccel @@ -32,13 +33,31 @@ plasmaPackage rec { ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); - inherit bash coreutils gnused gnugrep socat; - inherit kconfig kinit kservice qttools; - inherit dbus_tools mkfontdir xmessage xprop xrdb xset xsetroot; + postPatch = '' - substituteAllInPlace startkde/startkde.cmake + substituteInPlace startkde/startkde.cmake \ + --subst-var-by bash $(type -P bash) \ + --subst-var-by sed $(type -P sed) \ + --subst-var-by grep $(type -P grep) \ + --subst-var-by socat $(type -P socat) \ + --subst-var-by kcheckrunning $(type -P kcheckrunning) \ + --subst-var-by xmessage $(type -P xmessage) \ + --subst-var-by tr $(type -P tr) \ + --subst-var-by qtpaths $(type -P qtpaths) \ + --subst-var-by qdbus $(type -P qdbus) \ + --subst-var-by dbus-launch $(type -P dbus-launch) \ + --subst-var-by mkfontdir $(type -P mkfontdir) \ + --subst-var-by xset $(type -P xset) \ + --subst-var-by xsetroot $(type -P xsetroot) \ + --subst-var-by xprop $(type -P xprop) \ + --subst-var-by start_kdeinit_wrapper "${kinit.out}/lib/libexec/kf5/start_kdeinit_wrapper" \ + --subst-var-by kwrapper5 $(type -P kwrapper5) \ + --subst-var-by kdeinit5_shutdown $(type -P kdeinit5_shutdown) \ + --subst-var-by kbuildsycoca5 $(type -P kbuildsycoca5) \ + --subst-var-by kreadconfig5 $(type -P kreadconfig5) \ + --subst-var out substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \ - --replace kdostartupconfig5 $out/bin/kdostartupconfig5 + --replace kdostartupconfig5 $out/bin/kdostartupconfig5 ''; postInstall = '' diff --git a/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch index 802c92da64d0..eea0ae4c199d 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch +++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch @@ -1,10 +1,10 @@ -Index: plasma-workspace-5.5.1/startkde/startkde.cmake +Index: plasma-workspace-5.5.5/startkde/startkde.cmake =================================================================== ---- plasma-workspace-5.5.1.orig/startkde/startkde.cmake -+++ plasma-workspace-5.5.1/startkde/startkde.cmake -@@ -1,8 +1,31 @@ +--- plasma-workspace-5.5.5.orig/startkde/startkde.cmake ++++ plasma-workspace-5.5.5/startkde/startkde.cmake +@@ -1,8 +1,36 @@ -#!/bin/sh -+#!@bash@/bin/bash ++#!@bash@ # # DEFAULT KDE STARTUP SCRIPT ( @PROJECT_VERSION@ ) # @@ -29,13 +29,18 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake +# in Trolltech.conf. A better solution would be to stop +# Qt from doing this wackiness in the first place. +if [ -e $HOME/.config/Trolltech.conf ]; then -+ @gnused@/bin/sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf ++ @sed@ -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf +fi + ++# (NixOS) We run kbuildsycoca5 before starting the user session because things ++# may be missing or moved if they have run nixos-rebuild and it may not be ++# possible for them to start Konsole to run it manually! ++@kbuildsycoca5@ ++ if test "x$1" = x--failsafe; then KDE_FAILSAFE=1 # General failsafe flag KWIN_COMPOSE=N # Disable KWin's compositing -@@ -17,29 +40,16 @@ trap 'echo GOT SIGHUP' HUP +@@ -17,29 +45,16 @@ trap 'echo GOT SIGHUP' HUP # we have to unset this for Darwin since it will screw up KDE's dynamic-loading unset DYLD_FORCE_FLAT_NAMESPACE @@ -54,13 +59,13 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake - # Check if a KDE session already is running and whether it's possible to connect to X -kcheckrunning -+@out@/bin/kcheckrunning ++@kcheckrunning@ kcheckrunning_result=$? if test $kcheckrunning_result -eq 0 ; then - echo "KDE seems to be already running on this display." - xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null + echo "KDE seems to be already running on this display." -+ @xmessage@/bin/xmessage -geometry 500x100 "KDE seems to be already running on this display." ++ @xmessage@ -geometry 500x100 "KDE seems to be already running on this display." exit 1 elif test $kcheckrunning_result -eq 2 ; then echo "\$DISPLAY is not set or cannot connect to the X server." @@ -69,7 +74,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake fi # Boot sequence: -@@ -57,13 +67,8 @@ fi +@@ -57,13 +72,8 @@ fi # * Then ksmserver is started which takes control of the rest of the startup sequence # We need to create config folder so we can write startupconfigkeys @@ -80,12 +85,12 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake -fi - -mkdir -p $configDir -+configDir=$(@qttools@/bin/qtpaths --writable-path GenericConfigLocation) ++configDir=$(@qtpaths@ --writable-path GenericConfigLocation) +mkdir -p "$configDir" #This is basically setting defaults so we can use them with kstartupconfig5 cat >$configDir/startupconfigkeys <<EOF -@@ -102,42 +107,10 @@ XftSubPixel=none +@@ -102,42 +112,10 @@ XftSubPixel=none EOF } @@ -126,15 +131,15 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake returncode=$? if test $returncode -ne 0; then - xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation." -+ @xmessage@/bin/xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation." ++ @xmessage@ -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation." exit 1 fi [ -r $configDir/startupconfig ] && . $configDir/startupconfig -@@ -146,9 +119,11 @@ if test "$kdeglobals_kscreen_scalefactor +@@ -146,9 +124,11 @@ if test "$kdeglobals_kscreen_scalefactor export QT_DEVICE_PIXEL_RATIO=$kdeglobals_kscreen_scalefactor fi -+XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | @coreutils@/bin/tr ":" "\n" | @gnused@/bin/sed 's,$,/icons,g' | @coreutils@/bin/tr "\n" ":") ++XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | @tr@ ":" "\n" | @sed@ 's,$,/icons,g' | @tr@ "\n" ":") +export XCURSOR_PATH + # XCursor mouse theme needs to be applied here to work even for kded or ksmserver @@ -143,7 +148,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize" if test $? -eq 10; then -@@ -164,21 +139,39 @@ if test -n "$kcminputrc_mouse_cursorthem +@@ -164,21 +144,39 @@ if test -n "$kcminputrc_mouse_cursorthem fi fi @@ -160,7 +165,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake +# If the user has overwritten fonts, the cursor font may be different now +# so don't move this up. +# -+@xsetroot@/bin/xsetroot -cursor_name left_ptr ++@xsetroot@ -cursor_name left_ptr dl=$DESKTOP_LOCKED unset DESKTOP_LOCKED # Don't want it in the environment @@ -168,14 +173,14 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake +# Make sure that D-Bus is running +# D-Bus autolaunch is broken +if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then -+ eval `@dbus_tools@/bin/dbus-launch --sh-syntax --exit-with-session` ++ eval `@dbus-launch@ --sh-syntax --exit-with-session` +fi -+if @qttools@/bin/qdbus >/dev/null 2>/dev/null; then ++if @qdbus@ >/dev/null 2>/dev/null; then + : # ok +else + echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2 + test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null -+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" ++ @xmessage@ -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" + exit 1 +fi + @@ -189,26 +194,26 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake ;; None) ;; -@@ -201,8 +194,7 @@ fi +@@ -201,8 +199,7 @@ fi # For anything else (that doesn't set env vars, or that needs a window manager), # better use the Autostart folder. -# TODO: Use GenericConfigLocation once we depend on Qt 5.4 -scriptpath=`qtpaths --paths ConfigLocation | tr ':' '\n' | sed 's,$,/plasma-workspace,g'` -+scriptpath=$(@qttools@/bin/qtpaths --paths GenericConfigLocation | tr ':' '\n' | @gnused@/bin/sed 's,$,/plasma-workspace,g') ++scriptpath=$(@qtpaths@ --paths GenericConfigLocation | tr ':' '\n' | @sed@ 's,$,/plasma-workspace,g') # Add /env/ to the directory to locate the scripts to be sourced for prefix in `echo $scriptpath`; do -@@ -232,7 +224,7 @@ usr_odir=$HOME/.fonts/kde-override +@@ -232,7 +229,7 @@ usr_odir=$HOME/.fonts/kde-override usr_fdir=$HOME/.fonts if test -n "$KDEDIRS"; then - kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'` -+ kdedirs_first=`echo "$KDEDIRS" | @gnused@/bin/sed -e 's/:.*//'` ++ kdedirs_first=`echo "$KDEDIRS" | @sed@ -e 's/:.*//'` sys_odir=$kdedirs_first/share/fonts/override sys_fdir=$kdedirs_first/share/fonts else -@@ -245,23 +237,13 @@ fi +@@ -245,23 +242,13 @@ fi # add the user's dirs to the font path, as they might simply have been made # read-only by the administrator, for whatever reason. @@ -216,10 +221,10 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake -test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir") -test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir") -test -d "$sys_fdir" && xset fp+ "$sys_fdir" -+test -d "$sys_odir" && @xset@/bin/xset +fp "$sys_odir" -+test -d "$usr_odir" && ( @mkfontdir@/bin/mkfontdir "$usr_odir" ; @xset@/bin/xset +fp "$usr_odir" ) -+test -d "$usr_fdir" && ( @mkfontdir@/bin/mkfontdir "$usr_fdir" ; @xset@/bin/xset fp+ "$usr_fdir" ) -+test -d "$sys_fdir" && @xset@/bin/xset fp+ "$sys_fdir" ++test -d "$sys_odir" && @xset@ +fp "$sys_odir" ++test -d "$usr_odir" && ( @mkfontdir@ "$usr_odir" ; @xset@ +fp "$usr_odir" ) ++test -d "$usr_fdir" && ( @mkfontdir@ "$usr_fdir" ; @xset@ fp+ "$usr_fdir" ) ++test -d "$sys_fdir" && @xset@ fp+ "$sys_fdir" # Ask X11 to rebuild its font list. -xset fp rehash @@ -233,11 +238,11 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake -# so don't move this up. -# -xsetroot -cursor_name left_ptr -+@xset@/bin/xset fp rehash ++@xset@ fp rehash # Get Ghostscript to look into user's KDE fonts dir for additional Fontmap if test -n "$GS_LIB" ; then -@@ -274,26 +256,6 @@ fi +@@ -274,26 +261,6 @@ fi echo 'startkde: Starting up...' 1>&2 @@ -264,96 +269,88 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake # Mark that full KDE session is running (e.g. Konqueror preloading works only # with full KDE running). The KDE_FULL_SESSION property can be detected by # any X client connected to the same X session, even if not launched -@@ -318,11 +280,11 @@ fi +@@ -318,11 +285,11 @@ fi # KDE_FULL_SESSION=true export KDE_FULL_SESSION -xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true -+@xprop@/bin/xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true ++@xprop@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true KDE_SESSION_VERSION=5 export KDE_SESSION_VERSION -xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 -+@xprop@/bin/xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 ++@xprop@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 KDE_SESSION_UID=`id -ru` export KDE_SESSION_UID -@@ -332,11 +294,11 @@ export XDG_CURRENT_DESKTOP +@@ -332,11 +299,11 @@ export XDG_CURRENT_DESKTOP # At this point all the environment is ready, let's send it to kwalletd if running if test -n "$PAM_KWALLET_LOGIN" ; then - env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN -+ env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN ++ env | @socat@ STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN fi # ...and also to kwalletd5 if test -n "$PAM_KWALLET5_LOGIN" ; then - env | socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN -+ env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN ++ env | @socat@ STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN fi # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment -@@ -349,21 +311,26 @@ if test $? -ne 0; then +@@ -349,18 +316,18 @@ if test $? -ne 0; then # Startup error echo 'startkde: Could not sync environment to dbus.' 1>&2 test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null - xmessage -geometry 500x100 "Could not sync environment to dbus." -+ @xmessage@/bin/xmessage -geometry 500x100 "Could not sync environment to dbus." ++ @xmessage@ -geometry 500x100 "Could not sync environment to dbus." exit 1 fi # We set LD_BIND_NOW to increase the efficiency of kdeinit. # kdeinit unsets this variable before loading applications. -LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup -+LD_BIND_NOW=true @kinit@/lib/libexec/kf5/start_kdeinit_wrapper --kded +kcminit_startup ++LD_BIND_NOW=true @start_kdeinit_wrapper@ --kded +kcminit_startup if test $? -ne 0; then # Startup error echo 'startkde: Could not start kdeinit5. Check your installation.' 1>&2 test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null - xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation." -+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation." ++ @xmessage@ -geometry 500x100 "Could not start kdeinit5. Check your installation." exit 1 fi -+# (NixOS) We run kbuildsycoca5 before starting the user session because things -+# may be missing or moved if they have run nixos-rebuild and it may not be -+# possible for them to start Konsole to run it manually! -+@kservice@/bin/kbuildsycoca5 -+ - # finally, give the session control to the session manager - # see kdebase/ksmserver for the description of the rest of the startup sequence - # if the KDEWM environment variable has been set, then it will be used as KDE's @@ -379,27 +346,27 @@ test -n "$KDEWM" && KDEWM="--windowmanag # lock now and do the rest of the KDE startup underneath the locker. KSMSERVEROPTIONS="" test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen" -kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS -+@kinit@/bin/kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS ++@kwrapper5@ @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS if test $? -eq 255; then # Startup error echo 'startkde: Could not start ksmserver. Check your installation.' 1>&2 test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null - xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." -+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." ++ @xmessage@ -geometry 500x100 "Could not start ksmserver. Check your installation." fi -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` -+wait_drkonqi=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` ++wait_drkonqi=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true` if test x"$wait_drkonqi"x = x"true"x ; then # wait for remaining drkonqi instances with timeout (in seconds) - wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900` -+ wait_drkonqi_timeout=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900` ++ wait_drkonqi_timeout=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Timeout --default 900` wait_drkonqi_counter=0 - while $qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do -+ while @qttools@/bin/qdbus | @gnugrep@/bin/grep "^[^w]*org.kde.drkonqi" > /dev/null ; do ++ while @qdbus@ | @grep@ "^[^w]*org.kde.drkonqi" > /dev/null ; do sleep 5 wait_drkonqi_counter=$((wait_drkonqi_counter+5)) if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then # ask remaining drkonqis to die in a graceful way - $qdbus | grep 'org.kde.drkonqi-' | while read address ; do - $qdbus "$address" "/MainApplication" "quit" -+ @qttools@/bin/qdbus | @gnugrep@/bin/grep 'org.kde.drkonqi-' | while read address ; do -+ @qttools@/bin/qdbus "$address" "/MainApplication" "quit" ++ @qdbus@ | @grep@ 'org.kde.drkonqi-' | while read address ; do ++ @qdbus@ "$address" "/MainApplication" "quit" done break fi @@ -362,14 +359,14 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake # Clean up -kdeinit5_shutdown -+@kinit@/bin/kdeinit5_shutdown ++@kdeinit5_shutdown@ unset KDE_FULL_SESSION -xprop -root -remove KDE_FULL_SESSION -+@xprop@/bin/xprop -root -remove KDE_FULL_SESSION ++@xprop@ -root -remove KDE_FULL_SESSION unset KDE_SESSION_VERSION -xprop -root -remove KDE_SESSION_VERSION -+@xprop@/bin/xprop -root -remove KDE_SESSION_VERSION ++@xprop@ -root -remove KDE_SESSION_VERSION unset KDE_SESSION_UID echo 'startkde: Done.' 1>&2 diff --git a/pkgs/desktops/xfce/core/exo.nix b/pkgs/desktops/xfce/core/exo.nix index 83610a4e4a65..4d3f09105433 100644 --- a/pkgs/desktops/xfce/core/exo.nix +++ b/pkgs/desktops/xfce/core/exo.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util }: +{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util +, hicolor_icon_theme }: stdenv.mkDerivation rec { p_name = "exo"; @@ -11,9 +12,11 @@ stdenv.mkDerivation rec { }; name = "${p_name}-${ver_maj}.${ver_min}"; - buildInputs = [ pkgconfig intltool URI glib gtk libxfce4ui libxfce4util ]; + outputs = [ "dev" "out" "docdev" ]; + # lib/xfce4/exo-1/exo-compose-mail-1 is a perl script :-/ - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + nativeBuildInputs = [ pkgconfig intltool ]; + buildInputs = [ URI glib gtk libxfce4ui libxfce4util hicolor_icon_theme ]; meta = with stdenv.lib; { homepage = "http://www.xfce.org/projects/${p_name}"; diff --git a/pkgs/desktops/xfce/core/garcon.nix b/pkgs/desktops/xfce/core/garcon.nix index 8f8cfff76cd4..4fffc9e1ec9f 100644 --- a/pkgs/desktops/xfce/core/garcon.nix +++ b/pkgs/desktops/xfce/core/garcon.nix @@ -1,22 +1,26 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, libxfce4ui, gtk }: - -stdenv.mkDerivation rec { +let p_name = "garcon"; ver_maj = "0.4"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; + + outputs = [ "dev" "out" ]; buildInputs = [ pkgconfig intltool glib libxfce4util gtk libxfce4ui ]; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/; description = "Xfce menu support library"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2Plus; + platforms = platforms.linux; }; } + diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix index 2cb20febcb94..6bdeb50f8399 100644 --- a/pkgs/desktops/xfce/core/libxfce4ui.nix +++ b/pkgs/desktops/xfce/core/libxfce4ui.nix @@ -1,40 +1,38 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf -, libglade, libstartup_notification +, libglade, libstartup_notification, hicolor_icon_theme , withGtk3 ? false, gtk3 }: - -with { inherit (stdenv.lib) optional; }; - -stdenv.mkDerivation rec { +let p_name = "libxfce4ui"; ver_maj = "4.12"; ver_min = "1"; + inherit (stdenv.lib) optional; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "3d619811bfbe7478bb984c16543d980cadd08586365a7bc25e59e3ca6384ff43"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; - #TODO: gladeui - # Install into our own prefix instead. - configureFlags = [ - "--with-libglade-module-path=$out/lib/libglade/2.0" - ] ++ optional withGtk3 "--enable-gtk3"; + outputs = [ "dev" "out" "docdev" ]; buildInputs = [ pkgconfig intltool gtk libxfce4util xfconf libglade - libstartup_notification + libstartup_notification hicolor_icon_theme ] ++ optional withGtk3 gtk3; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + #TODO: glade? + configureFlags = optional withGtk3 "--enable-gtk3"; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/; description = "Basic GUI library for Xfce"; - license = stdenv.lib.licenses.lgpl2Plus; - platforms = stdenv.lib.platforms.linux; + license = licenses.lgpl2Plus; + platforms = platforms.linux; }; } + diff --git a/pkgs/desktops/xfce/core/libxfce4util.nix b/pkgs/desktops/xfce/core/libxfce4util.nix index 6893d7cfb20b..cab904f55107 100644 --- a/pkgs/desktops/xfce/core/libxfce4util.nix +++ b/pkgs/desktops/xfce/core/libxfce4util.nix @@ -1,15 +1,18 @@ { stdenv, fetchurl, pkgconfig, glib, intltool }: - -stdenv.mkDerivation rec { +let p_name = "libxfce4util"; ver_maj = "4.12"; ver_min = "1"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; + + outputs = [ "dev" "out" "docdev" ]; buildInputs = [ pkgconfig glib intltool ]; @@ -20,3 +23,4 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.linux; }; } + diff --git a/pkgs/desktops/xfce/core/libxfcegui4.nix b/pkgs/desktops/xfce/core/libxfcegui4.nix index 32a320c779bf..d9e5cce25e85 100644 --- a/pkgs/desktops/xfce/core/libxfcegui4.nix +++ b/pkgs/desktops/xfce/core/libxfcegui4.nix @@ -1,31 +1,32 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk -, libxfce4util, xfconf, libglade, libstartup_notification }: - -stdenv.mkDerivation rec { +, libxfce4util, xfconf, libglade, libstartup_notification, hicolor_icon_theme }: +let p_name = "libxfcegui4"; ver_maj = "4.10"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; + + outputs = [ "dev" "out" "docdev" ]; #TODO: gladeui # By default, libxfcegui4 tries to install into libglade's prefix. # Install into our own prefix instead. - preConfigure = - '' - configureFlags="--with-libglade-module-path=$out/lib/libglade/2.0" - ''; + configureFlags = [ + "--with-libglade-module-path=$(out)/lib/libglade/2.0" + ]; #NOTE: missing keyboard library support is OK according to the mailing-list buildInputs = [ pkgconfig intltool gtk libxfce4util xfconf libglade - libstartup_notification + libstartup_notification hicolor_icon_theme ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; meta = { homepage = http://www.xfce.org/; diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix index 1fc895ea412a..132003d3fc92 100644 --- a/pkgs/desktops/xfce/core/tumbler.nix +++ b/pkgs/desktops/xfce/core/tumbler.nix @@ -1,19 +1,24 @@ -{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf, curl, freetype, -libgsf, poppler, bzip2 }: - -stdenv.mkDerivation rec { +{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf, curl, freetype +, libgsf, poppler, bzip2 }: +let p_name = "tumbler"; ver_maj = "0.1"; ver_min = "31"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; - buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf curl freetype - poppler libgsf bzip2]; + outputs = [ "dev" "out" "docdev" ]; + + buildInputs = [ + pkgconfig intltool dbus_glib gdk_pixbuf curl freetype + poppler libgsf bzip2 + ]; configureFlags = [ # Needs gst-tag @@ -21,15 +26,16 @@ stdenv.mkDerivation rec { # Needs libffmpegthumbnailer # "--enable-ffmpeg-thumbnailer" - + "--enable-odf-thumbnailer" "--enable-poppler-thumbnailer" ]; - meta = { + meta = with stdenv.lib; { homepage = http://git.xfce.org/xfce/tumbler/; description = "A D-Bus thumbnailer service"; - platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.gpl2; + platforms = platforms.linux; + license = licenses.gpl2; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder.nix b/pkgs/desktops/xfce/core/xfce4-appfinder.nix index 25bd04f9ec40..d39708dd523f 100644 --- a/pkgs/desktops/xfce/core/xfce4-appfinder.nix +++ b/pkgs/desktops/xfce/core/xfce4-appfinder.nix @@ -1,27 +1,29 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, gtk, libxfce4util , libxfce4ui, garcon, xfconf }: - -stdenv.mkDerivation rec { +let p_name = "xfce4-appfinder"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig intltool glib gtk libxfce4util libxfce4ui garcon xfconf ]; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://docs.xfce.org/xfce/xfce4-appfinder/; description = "Xfce application finder, a tool to locate and launch programs on your system"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix index 5541011a5019..da7369decc46 100644 --- a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix +++ b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix @@ -1,15 +1,16 @@ { stdenv, fetchurl, pkgconfig, glib, autoconf, automake, libtool, intltool }: - -stdenv.mkDerivation rec { +let p_name = "xfce4-dev-tools"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "1jxmyp80pwbfgmqmwpjxs7z5dmm6pyf3qj62z20xy44izraadqz2"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig glib ]; @@ -22,3 +23,4 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl2Plus; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix index 0f9066876c66..816bbc05735f 100644 --- a/pkgs/desktops/xfce/core/xfce4-panel.nix +++ b/pkgs/desktops/xfce/core/xfce4-panel.nix @@ -1,49 +1,50 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui , libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification -, makeWrapper, xfce4mixer +, makeWrapper, xfce4mixer, hicolor_icon_theme , withGtk3 ? false, gtk3 }: - -with { inherit (stdenv.lib) optional; }; - -stdenv.mkDerivation rec { +let + inherit (stdenv.lib) optional; p_name = "xfce4-panel"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; patches = [ ./xfce4-panel-datadir.patch ]; patchFlags = "-p1"; - configureFlags = optional withGtk3 "--enable-gtk3"; + outputs = [ "dev" "out" "docdev" ]; buildInputs = [ pkgconfig intltool gtk libxfce4util exo libwnck - garcon xfconf libstartup_notification makeWrapper + garcon xfconf libstartup_notification makeWrapper hicolor_icon_theme ] ++ xfce4mixer.gst_plugins ++ optional withGtk3 gtk3; propagatedBuildInputs = [ (if withGtk3 then libxfce4ui_gtk3 else libxfce4ui) ]; + configureFlags = optional withGtk3 "--enable-gtk3"; + postInstall = '' wrapProgram "$out/bin/xfce4-panel" \ --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" ''; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfce4-panel; description = "Xfce panel"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix index 9a3116463c63..7695f906d317 100644 --- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix +++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix @@ -1,29 +1,29 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, upower, xfconf -, libxfce4ui, libxfce4util, libnotify, xfce4panel }: - -stdenv.mkDerivation rec { +, libxfce4ui, libxfce4util, libnotify, xfce4panel, hicolor_icon_theme }: +let p_name = "xfce4-power-manager"; ver_maj = "1.4"; ver_min = "4"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "01rvqy1cif4s8lkidb7hhmsz7d9f2fwcwvc51xycaj3qgsmch3n5"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; - buildInputs = [ pkgconfig intltool gtk dbus_glib upower xfconf libxfce4ui libxfce4util - libnotify xfce4panel + libnotify xfce4panel hicolor_icon_theme ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - meta = { + meta = with stdenv.lib; { homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager; description = "A power manager for the Xfce Desktop Environment"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix index 7599826e8f02..a0568b0dd395 100644 --- a/pkgs/desktops/xfce/core/xfce4-session.nix +++ b/pkgs/desktops/xfce/core/xfce4-session.nix @@ -1,25 +1,26 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk, polkit , libxfce4util, libxfce4ui, xfce4panel, libwnck, dbus_glib, xfconf, libglade, xorg +, hicolor_icon_theme }: -#TODO: gnome stuff: gconf (assistive?), keyring - -stdenv.mkDerivation rec { +let p_name = "xfce4-session"; ver_maj = "4.12"; ver_min = "1"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "97d7f2a2d0af7f3623b68d1f04091e02913b28f9555dab8b0d26c8a1299d08fd"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib - xfconf xfce4panel libglade xorg.iceauth - polkit - ]; + xfconf xfce4panel libglade xorg.iceauth xorg.libSM + polkit hicolor_icon_theme + ]; #TODO: upower-glib, gconf (assistive?), gnome keyring preBuild = '' sed '/^PATH=/d' -i scripts/xflock4 @@ -28,13 +29,12 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-xsession-prefix=$(out)" ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfce4-session; description = "Session manager for Xfce"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix index 4c2de64561d5..f6f7c4c3a54b 100644 --- a/pkgs/desktops/xfce/core/xfce4-settings.nix +++ b/pkgs/desktops/xfce/core/xfce4-settings.nix @@ -1,33 +1,33 @@ { stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui , libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon, upower }: - -#TODO: optional packages -stdenv.mkDerivation rec { +let p_name = "xfce4-settings"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; - patches = [ ./xfce4-settings-default-icon-theme.patch ]; buildInputs = [ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade upower xfconf xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon - ]; + ]; #TODO: optional packages - configureFlags = "--enable-pluggable-dialogs --enable-sound-settings"; + configureFlags = [ "--enable-pluggable-dialogs" "--enable-sound-settings" ]; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfce4-settings; description = "Settings manager for Xfce"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfconf.nix b/pkgs/desktops/xfce/core/xfconf.nix index f12f96895cd9..13902fa4428c 100644 --- a/pkgs/desktops/xfce/core/xfconf.nix +++ b/pkgs/desktops/xfce/core/xfconf.nix @@ -1,24 +1,28 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus_glib }: - -stdenv.mkDerivation rec { +let p_name = "xfconf"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; + + outputs = [ "dev" "out" "docdev" ]; #TODO: no perl bingings yet (ExtUtils::Depends, ExtUtils::PkgConfig, Glib) buildInputs = [ pkgconfig intltool glib libxfce4util ]; propagatedBuildInputs = [ dbus_glib ]; - meta = { + meta = with stdenv.lib; { homepage = http://docs.xfce.org/xfce/xfconf/start; description = "Simple client-server configuration storage and query system for Xfce"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; }; } + diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix index e5d04879008e..8802862eddde 100644 --- a/pkgs/desktops/xfce/core/xfdesktop.nix +++ b/pkgs/desktops/xfce/core/xfdesktop.nix @@ -1,30 +1,32 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui -, libwnck, xfconf, libglade, xfce4panel, thunar, exo, garcon, libnotify }: - -stdenv.mkDerivation rec { +, libwnck, xfconf, libglade, xfce4panel, thunar, exo, garcon, libnotify +, hicolor_icon_theme }: +let p_name = "xfdesktop"; ver_maj = "4.12"; ver_min = "3"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "a8a8d93744d842ca6ac1f9bd2c8789ee178937bca7e170e5239cbdbef30520ac"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck xfconf - libglade xfce4panel thunar exo garcon libnotify + libglade xfce4panel thunar exo garcon libnotify hicolor_icon_theme ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfdesktop; description = "Xfce desktop manager"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix index dd18b1355f79..d861e5f2d557 100644 --- a/pkgs/desktops/xfce/core/xfwm4.nix +++ b/pkgs/desktops/xfce/core/xfwm4.nix @@ -1,16 +1,17 @@ { stdenv, fetchurl, pkgconfig, gtk, intltool, libglade, libxfce4util , libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }: - -stdenv.mkDerivation rec { +let p_name = "xfwm4"; ver_maj = "4.12"; ver_min = "3"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "f4a988fbc4e0df7e8583c781d271559e56fd28696092f94ae052e9e6edb09eac"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig intltool gtk libglade libxfce4util libxfce4ui xfconf @@ -20,11 +21,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfwm4; description = "Window manager for Xfce"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix index b6f6ac51ba2a..1c549907c31d 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix @@ -1,4 +1,5 @@ -{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses }: +{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses +, dirName ? null, subdirName ? null }: with stdenv.lib; let versionParts = splitString "-" version; # 4.7 2013q3 20130916 @@ -8,13 +9,15 @@ let yearQuarterParts = splitString "q" yearQuarter; # 2013 3 year = elemAt yearQuarterParts 0; # 2013 quarter = elemAt yearQuarterParts 1; # 3 - subdirName = "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update + dirName_ = if dirName != null then dirName else majorVersion; + subdirName_ = if subdirName != null then subdirName + else "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update in stdenv.mkDerivation { name = "gcc-arm-embedded-${version}"; src = fetchurl { - url = "https://launchpad.net/gcc-arm-embedded/${majorVersion}/${subdirName}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2"; + url = "https://launchpad.net/gcc-arm-embedded/${dirName_}/${subdirName_}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2"; sha256 = sha256; }; @@ -30,8 +33,8 @@ stdenv.mkDerivation { for f in $(find $out); do if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then - patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \ - --set-rpath $out/lib:${gcc}/lib:${ncurses}/lib \ + patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \ + --set-rpath $out/lib:${gcc.lib or gcc}/lib:${ncurses.out}/lib \ "$f" || true fi done diff --git a/pkgs/development/compilers/gcc/4.6/builder.sh b/pkgs/development/compilers/gcc/4.6/builder.sh index af2e97b1e4e5..af36ec33b70a 100644 --- a/pkgs/development/compilers/gcc/4.6/builder.sh +++ b/pkgs/development/compilers/gcc/4.6/builder.sh @@ -8,9 +8,10 @@ mkdir $NIX_FIXINC_DUMMY if test "$staticCompiler" = "1"; then EXTRA_LDFLAGS="-static" else - EXTRA_LDFLAGS="" + EXTRA_LDFLAGS="-Wl,-rpath,$lib/lib" fi + # GCC interprets empty paths as ".", which we don't want. if test -z "$CPATH"; then unset CPATH; fi if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi @@ -29,7 +30,7 @@ if test "$noSysDirs" = "1"; then # Use *real* header files, otherwise a limits.h is generated # that does not include Glibc's limits.h (notably missing # SSIZE_MAX, which breaks the build). - export NIX_FIXINC_DUMMY=$(cat $NIX_CC/nix-support/orig-libc)/include + export NIX_FIXINC_DUMMY=$libc_dev/include # The path to the Glibc binaries such as `crti.o'. glibc_libdir="$(cat $NIX_CC/nix-support/orig-libc)/lib" @@ -50,10 +51,10 @@ if test "$noSysDirs" = "1"; then # bootstrap compiler are optimized and (optionally) contain # debugging information (info "(gccinstall) Building"). if test -n "$dontStrip"; then - extraFlags="-O2 -g $extraFlags" + extraFlags="-O2 -g $extraFlags" else - # Don't pass `-g' at all; this saves space while building. - extraFlags="-O2 $extraFlags" + # Don't pass `-g' at all; this saves space while building. + extraFlags="-O2 $extraFlags" fi EXTRA_FLAGS="$extraFlags" @@ -170,9 +171,8 @@ preConfigure() { # Patch the configure script so it finds glibc headers. It's # important for example in order not to get libssp built, # because its functionality is in glibc already. - glibc_headers="$(cat $NIX_CC/nix-support/orig-libc)/include" sed -i \ - -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \ + -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$libc_dev/include", \ gcc/configure fi @@ -206,6 +206,14 @@ preInstall() { postInstall() { + # Move runtime libraries to $lib. + mkdir -p $lib/lib + ln -s lib $lib/lib64 + mv -v $out/lib/lib*.so $out/lib/lib*.so.*[0-9] $out/lib/*.la $lib/lib/ + for i in $lib/lib/*.la; do + substituteInPlace $i --replace $out $lib + done + # Remove precompiled headers for now. They are very big and # probably not very useful yet. find $out/include -name "*.gch" -exec rm -rf {} \; -prune @@ -217,6 +225,7 @@ postInstall() { # More dependencies with the previous gcc or some libs (gccbug stores the build command line) rm -rf $out/bin/gccbug + # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out for i in $out/libexec/gcc/*/*/*; do if PREV_RPATH=`patchelf --print-rpath $i`; then @@ -225,7 +234,7 @@ postInstall() { done # Get rid of some "fixed" header files - rm -rf $out/lib/gcc/*/*/include/root + rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux} # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. for i in $out/bin/*-gcc*; do diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix index b3caad11b716..bc968d1f66e3 100644 --- a/pkgs/development/compilers/gcc/4.6/default.nix +++ b/pkgs/development/compilers/gcc/4.6/default.nix @@ -170,7 +170,7 @@ let version = "4.6.4"; "-stage-final"; crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; - bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; + bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; in @@ -182,13 +182,19 @@ stdenv.mkDerivation ({ builder = ./builder.sh; - src = (import ./sources.nix) { + srcs = (import ./sources.nix) { inherit fetchurl optional version; inherit langC langCC langFortran langJava langAda langGo; }; + outputs = [ "out" "lib" ]; + + setOutputFlags = false; + inherit patches enableMultilib; + libc_dev = stdenv.cc.libc_dev; + postPatch = if (stdenv.isGNU || (libcCross != null # e.g., building `gcc.crossDrv' diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index fd80f4ec8c5f..09e3751580c5 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -197,7 +197,7 @@ let version = "4.8.5"; stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; - bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; + bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; in @@ -209,8 +209,6 @@ stdenv.mkDerivation ({ builder = ../builder.sh; - outputs = [ "out" "info" ]; - src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; sha256 = "08yggr18v373a1ihj0rg2vd6psnic42b518xcgp3r9k81xz1xyr2"; @@ -218,6 +216,12 @@ stdenv.mkDerivation ({ inherit patches; + outputs = [ "out" "lib" "doc" ]; + setOutputFlags = false; + NIX_NO_SELF_RPATH = true; + + libc_dev = stdenv.cc.libc_dev; + postPatch = if (stdenv.isGNU || (libcCross != null # e.g., building `gcc.crossDrv' @@ -358,7 +362,7 @@ stdenv.mkDerivation ({ ) } ${if (stdenv ? glibc && cross == null) - then " --with-native-system-header-dir=${stdenv.glibc}/include" + then " --with-native-system-header-dir=${stdenv.glibc.dev}/include" else ""} ${if langAda then " --enable-libada" else ""} ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 9e4823966cf3..74612ae77548 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -199,7 +199,7 @@ let version = "4.9.3"; stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; - bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; + bootstrap = cross == null; in @@ -211,8 +211,6 @@ stdenv.mkDerivation ({ builder = ../builder.sh; - outputs = [ "out" "info" ]; - src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; sha256 = "0zmnm00d2a1hsd41g34bhvxzvxisa2l584q3p447bd91lfjv4ci3"; @@ -220,6 +218,12 @@ stdenv.mkDerivation ({ inherit patches; + outputs = if langJava then ["out" "man" "info"] else [ "out" "lib" "man" "info" ]; + setOutputFlags = false; + NIX_NO_SELF_RPATH = true; + + libc_dev = stdenv.cc.libc_dev; + postPatch = if (stdenv.isGNU || (libcCross != null # e.g., building `gcc.crossDrv' @@ -311,7 +315,11 @@ stdenv.mkDerivation ({ FLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \ ) fi - ''; + '' + + stdenv.lib.optionalString langJava '' + export lib=$out; + '' + ; dontDisableStatic = true; @@ -360,7 +368,7 @@ stdenv.mkDerivation ({ ) } ${if (stdenv ? glibc && cross == null) - then " --with-native-system-header-dir=${stdenv.glibc}/include" + then " --with-native-system-header-dir=${stdenv.glibc.dev}/include" else ""} ${if langAda then " --enable-libada" else ""} ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} @@ -534,4 +542,10 @@ stdenv.mkDerivation ({ // optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } + +// optionalAttrs (langJava) { + postFixup = '' + target="$(echo "$out/libexec/gcc"/*/*/ecj*)" + patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target" + '';} ) diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 3b105143c0bf..20c60eac3097 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -34,6 +34,7 @@ , stripped ? true , gnused ? null , binutils ? null +, cloog # unused; just for compat with gcc4, as we override the parameter on some places }: assert langJava -> zip != null && unzip != null @@ -197,7 +198,7 @@ let version = "5.3.0"; stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; - bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; + bootstrap = cross == null; in @@ -209,8 +210,6 @@ stdenv.mkDerivation ({ builder = ../builder.sh; - outputs = [ "out" "info" ]; - src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; sha256 = "1ny4smkp5bzs3cp8ss7pl6lk8yss0d9m4av1mvdp72r1x695akxq"; @@ -218,6 +217,12 @@ stdenv.mkDerivation ({ inherit patches; + outputs = [ "out" "lib" "man" "info" ]; + setOutputFlags = false; + NIX_NO_SELF_RPATH = true; + + libc_dev = stdenv.cc.libc_dev; + postPatch = if (stdenv.isGNU || (libcCross != null # e.g., building `gcc.crossDrv' @@ -358,7 +363,7 @@ stdenv.mkDerivation ({ ) } ${if (stdenv ? glibc && cross == null) - then " --with-native-system-header-dir=${stdenv.glibc}/include" + then " --with-native-system-header-dir=${stdenv.glibc.dev}/include" else ""} ${if langAda then " --enable-libada" else ""} ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index 6d9e93138737..3190c5f5739f 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -8,9 +8,10 @@ mkdir $NIX_FIXINC_DUMMY if test "$staticCompiler" = "1"; then EXTRA_LDFLAGS="-static" else - EXTRA_LDFLAGS="" + EXTRA_LDFLAGS="-Wl,-rpath,$lib/lib" fi + # GCC interprets empty paths as ".", which we don't want. if test -z "$CPATH"; then unset CPATH; fi if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi @@ -29,7 +30,7 @@ if test "$noSysDirs" = "1"; then # Use *real* header files, otherwise a limits.h is generated # that does not include Glibc's limits.h (notably missing # SSIZE_MAX, which breaks the build). - export NIX_FIXINC_DUMMY=$(cat $NIX_CC/nix-support/orig-libc)/include + export NIX_FIXINC_DUMMY=$libc_dev/include # The path to the Glibc binaries such as `crti.o'. glibc_libdir="$(cat $NIX_CC/nix-support/orig-libc)/lib" @@ -171,9 +172,8 @@ preConfigure() { # Patch the configure script so it finds glibc headers. It's # important for example in order not to get libssp built, # because its functionality is in glibc already. - glibc_headers="$(cat $NIX_CC/nix-support/orig-libc)/include" sed -i \ - -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \ + -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$libc_dev/include", \ gcc/configure fi @@ -210,9 +210,15 @@ preInstall() { postInstall() { - # Remove precompiled headers for now. They are very big and - # probably not very useful yet. - find $out/include -name "*.gch" -exec rm -rf {} \; -prune + # Move runtime libraries to $lib. + moveToOutput "lib/lib*.so*" "$lib" + moveToOutput "lib/lib*.la" "$lib" + ln -s lib "$lib/lib64" # for *.la + moveToOutput "share/gcc-*/python" "$lib" + + for i in "$lib"/lib/*.{la,py}; do + substituteInPlace "$i" --replace "$out" "$lib" + done # Remove `fixincl' to prevent a retained dependency on the # previous gcc. @@ -221,15 +227,23 @@ postInstall() { # More dependencies with the previous gcc or some libs (gccbug stores the build command line) rm -rf $out/bin/gccbug + # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out - for i in $out/libexec/gcc/*/*/*; do - if PREV_RPATH=`patchelf --print-rpath $i`; then - patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i - fi + for i in $(find "$out"/libexec/gcc/*/*/* -type f -a \! -name '*.la'); do + PREV_RPATH=`patchelf --print-rpath "$i"` + NEW_RPATH=`echo "$PREV_RPATH" | sed 's,:[^:]*bootstrap-tools/lib,,g'` + patchelf --set-rpath "$NEW_RPATH" "$i" && echo OK + done + + # For some reason the libs retain RPATH to $out + for i in "$lib"/lib/{libtsan,libasan,libubsan}.so.*.*.*; do + PREV_RPATH=`patchelf --print-rpath "$i"` + NEW_RPATH=`echo "$PREV_RPATH" | sed "s,:${out}[^:]*,,g"` + patchelf --set-rpath "$NEW_RPATH" "$i" && echo OK done # Get rid of some "fixed" header files - rm -rf $out/lib/gcc/*/*/include/root + rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux} # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. for i in $out/bin/*-gcc*; do @@ -250,6 +264,9 @@ postInstall() { paxmark r $out/libexec/gcc/*/*/{cc1,cc1plus} eval "$postInstallGhdl" + + # Two identical man pages are shipped (moving and compressing is done later) + ln -sf gcc.1 "$out"/share/man/man1/g++.1 } genericBuild diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix index 96ec4e6c114a..3ad872518f9e 100644 --- a/pkgs/development/compilers/ghc/6.10.2-binary.nix +++ b/pkgs/development/compilers/ghc/6.10.2-binary.nix @@ -40,14 +40,14 @@ stdenv.mkDerivation rec { (if stdenv.isLinux then '' find . -type f -perm -0100 \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \; + --set-rpath "${libedit}/lib:${ncurses.out}/lib:${gmp.out}/lib" {} \; for prog in ld ar gcc strip ranlib; do find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \; done '' else ""); configurePhase = '' - ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include + ./configure --prefix=$out --with-gmp-libraries=${gmp.out}/lib --with-gmp-includes=${gmp.dev or gmp}/include ''; # Stripping combined with patchelf breaks the executables (they die @@ -65,8 +65,8 @@ stdenv.mkDerivation rec { (if stdenv.isDarwin then '' mkdir -p $out/frameworks/GMP.framework/Versions/A - ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP - ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP + ln -s ${gmp.out}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP + ln -s ${gmp.out}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP # !!! fix this mkdir -p $out/frameworks/GNUeditline.framework/Versions/A ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { + '' # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way - sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf + sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp.out}/lib\",\2@" $out/lib/ghc-${version}/package.conf # Sanity check, can ghc create executables? cd $TMP diff --git a/pkgs/development/compilers/ghc/6.10.4.nix b/pkgs/development/compilers/ghc/6.10.4.nix index d8157673fbc3..d8d25ef8082c 100644 --- a/pkgs/development/compilers/ghc/6.10.4.nix +++ b/pkgs/development/compilers/ghc/6.10.4.nix @@ -13,8 +13,8 @@ stdenv.mkDerivation rec { buildInputs = [ghc libedit perl gmp]; configureFlags = [ - "--with-gmp-libraries=${gmp}/lib" - "--with-gmp-includes=${gmp}/include" + "--with-gmp-libraries=${gmp.out}/lib" + "--with-gmp-includes=${gmp.dev}/include" "--with-gcc=${stdenv.cc}/bin/gcc" ]; diff --git a/pkgs/development/compilers/ghc/6.12.3.nix b/pkgs/development/compilers/ghc/6.12.3.nix index e480a6f837c3..5c33a193c501 100644 --- a/pkgs/development/compilers/ghc/6.12.3.nix +++ b/pkgs/development/compilers/ghc/6.12.3.nix @@ -13,10 +13,10 @@ stdenv.mkDerivation rec { buildInputs = [ghc perl gmp ncurses]; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" ''; preConfigure = '' diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix index 31df7f1fa355..c03cfbaaadda 100644 --- a/pkgs/development/compilers/ghc/7.0.4-binary.nix +++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { # We have to patch the GMP paths for the integer-gmp package. '' find . -name integer-gmp.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \; + -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \; '' + stdenv.lib.optionalString stdenv.isDarwin '' find . -name base.buildinfo \ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \; @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { stdenv.lib.optionalString stdenv.isLinux '' find . -type f -perm -0100 \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${ncurses}/lib:${gmp}/lib" {} \; + --set-rpath "${ncurses.out}/lib:${gmp.out}/lib" {} \; sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 for prog in ld ar gcc strip ranlib; do @@ -89,7 +89,7 @@ stdenv.mkDerivation rec { configurePhase = '' ./configure --prefix=$out \ - --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \ + --with-gmp-libraries=${gmp.out}/lib --with-gmp-includes=${gmp}/include \ ${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"} ''; diff --git a/pkgs/development/compilers/ghc/7.0.4.nix b/pkgs/development/compilers/ghc/7.0.4.nix index 281e5ca66a2c..9152210b420d 100644 --- a/pkgs/development/compilers/ghc/7.0.4.nix +++ b/pkgs/development/compilers/ghc/7.0.4.nix @@ -14,10 +14,10 @@ stdenv.mkDerivation rec { buildInputs = [ ghc perl gmp ncurses ]; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" diff --git a/pkgs/development/compilers/ghc/7.10.2.nix b/pkgs/development/compilers/ghc/7.10.2.nix index 87490842b3b6..d7f1e064030b 100644 --- a/pkgs/development/compilers/ghc/7.10.2.nix +++ b/pkgs/development/compilers/ghc/7.10.2.nix @@ -6,10 +6,10 @@ let inherit (bootPkgs) ghc; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-gcc=${stdenv.cc}/bin/cc" - "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" + "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" ]; # required, because otherwise all symbols from HSffi.o are stripped, and diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index 53ba058def4d..8d540fb3ad8a 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -40,8 +40,8 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-gcc=${stdenv.cc}/bin/cc" - "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" - "--with-curses-includes=${ncurses}/include" "--with-curses-libraries=${ncurses}/lib" + "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" + "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ stdenv.lib.optional stdenv.isDarwin [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" ]; diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix index 7276f413967f..a08745732f88 100644 --- a/pkgs/development/compilers/ghc/7.2.2.nix +++ b/pkgs/development/compilers/ghc/7.2.2.nix @@ -14,10 +14,10 @@ stdenv.mkDerivation rec { buildInputs = [ ghc perl gmp ncurses ]; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix index 03dd4dcd35bb..cf21a61b1b39 100644 --- a/pkgs/development/compilers/ghc/7.4.2-binary.nix +++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { # We have to patch the GMP paths for the integer-gmp package. '' find . -name integer-gmp.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \; + -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \; '' + stdenv.lib.optionalString stdenv.isDarwin '' find . -name base.buildinfo \ -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \; @@ -61,10 +61,10 @@ stdenv.mkDerivation rec { # find editline/gmp. stdenv.lib.optionalString stdenv.isLinux '' mkdir -p "$out/lib" - ln -sv "${ncurses}/lib/libncurses.so" "$out/lib/libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5" + ln -sv "${ncurses.out}/lib/libncurses.so" "$out/lib/libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5" find . -type f -perm -0100 \ -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$out/lib:${gmp}/lib" {} \; + --set-rpath "$out/lib:${gmp.out}/lib" {} \; sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 for prog in ld ar gcc strip ranlib; do @@ -91,7 +91,7 @@ stdenv.mkDerivation rec { configurePhase = '' ./configure --prefix=$out \ - --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \ + --with-gmp-libraries=${gmp.out}/lib --with-gmp-includes=${gmp}/include \ ${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}"} ''; diff --git a/pkgs/development/compilers/ghc/7.4.2.nix b/pkgs/development/compilers/ghc/7.4.2.nix index b2abcb08ec3a..bf48e50b6b73 100644 --- a/pkgs/development/compilers/ghc/7.4.2.nix +++ b/pkgs/development/compilers/ghc/7.4.2.nix @@ -15,10 +15,10 @@ stdenv.mkDerivation rec { buildInputs = [ ghc perl gmp ncurses ]; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix index 366c0044a67a..af9fd3f8d93c 100644 --- a/pkgs/development/compilers/ghc/7.6.3.nix +++ b/pkgs/development/compilers/ghc/7.6.3.nix @@ -22,10 +22,10 @@ in stdenv.mkDerivation rec { buildInputs = [ ghc perl gmp ncurses ]; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" diff --git a/pkgs/development/compilers/ghc/7.8.3.nix b/pkgs/development/compilers/ghc/7.8.3.nix index 2e0f5ba07e4d..706899a8f7ba 100644 --- a/pkgs/development/compilers/ghc/7.8.3.nix +++ b/pkgs/development/compilers/ghc/7.8.3.nix @@ -14,10 +14,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" DYNAMIC_BY_DEFAULT = NO ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" diff --git a/pkgs/development/compilers/ghc/7.8.4.nix b/pkgs/development/compilers/ghc/7.8.4.nix index 4323341dc4a4..cdcc2cf0e75e 100644 --- a/pkgs/development/compilers/ghc/7.8.4.nix +++ b/pkgs/development/compilers/ghc/7.8.4.nix @@ -14,10 +14,10 @@ stdenv.mkDerivation (rec { enableParallelBuilding = true; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" DYNAMIC_BY_DEFAULT = NO ${stdenv.lib.optionalString stdenv.isDarwin '' libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix index 00482d013c23..10aa16391866 100644 --- a/pkgs/development/compilers/ghc/8.0.1.nix +++ b/pkgs/development/compilers/ghc/8.0.1.nix @@ -33,8 +33,8 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-gcc=${stdenv.cc}/bin/cc" - "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" - "--with-curses-includes=${ncurses}/include" "--with-curses-libraries=${ncurses}/lib" + "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp.out}/lib" + "--with-curses-includes=${ncurses}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ stdenv.lib.optional stdenv.isDarwin [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" ]; diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 18e22f0100be..0fc80a24eca0 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -43,8 +43,8 @@ in stdenv.mkDerivation rec { configureFlags = [ "--with-gcc=${stdenv.cc}/bin/cc" - "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" - "--with-curses-includes=${ncurses}/include" "--with-curses-libraries=${ncurses}/lib" + "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" + "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ stdenv.lib.optional stdenv.isDarwin [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" ]; diff --git a/pkgs/development/compilers/ghc/nokinds.nix b/pkgs/development/compilers/ghc/nokinds.nix index acaef9c5ab11..ca0a78eb0b67 100644 --- a/pkgs/development/compilers/ghc/nokinds.nix +++ b/pkgs/development/compilers/ghc/nokinds.nix @@ -4,10 +4,10 @@ let inherit (bootPkgs) ghc; buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" + libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" DYNAMIC_BY_DEFAULT = NO SRC_HC_OPTS = -H64m -O -fasm GhcLibHcOpts = -O -dcore-lint @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-gcc=${stdenv.cc}/bin/cc" - "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib" + "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" ]; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix index 77b3a15cb32f..e18c3213a3c0 100644 --- a/pkgs/development/compilers/ghcjs/default.nix +++ b/pkgs/development/compilers/ghcjs/default.nix @@ -117,13 +117,13 @@ in mkDerivation (rec { # This is necessary due to: https://github.com/haskell/cabal/commit/af19fb2c2d231d8deff1cb24164a2bf7efb8905a # Cabal otherwise fails to build: http://hydra.nixos.org/build/31824079/nixlog/1/raw postInstall = '' - PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \ + PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp.out}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \ env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \ --dev \ --quick \ --with-cabal ${cabal-install}/bin/cabal \ - --with-gmp-includes ${gmp}/include \ - --with-gmp-libraries ${gmp}/lib + --with-gmp-includes ${gmp.dev}/include \ + --with-gmp-libraries ${gmp.out}/lib ''; passthru = let ghcjsNodePkgs = pkgs.nodePackages.override { diff --git a/pkgs/development/compilers/go/1.1.nix b/pkgs/development/compilers/go/1.1.nix new file mode 100644 index 000000000000..0c6d41264149 --- /dev/null +++ b/pkgs/development/compilers/go/1.1.nix @@ -0,0 +1,101 @@ +{ stdenv, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc +, removeGodocExternals ? false }: + +let + loader386 = "${glibc.out}/lib/ld-linux.so.2"; + loaderAmd64 = "${glibc.out}/lib/ld-linux-x86-64.so.2"; + loaderArm = "${glibc.out}/lib/ld-linux.so.3"; +in + +stdenv.mkDerivation { + name = "go-1.1.2"; + + src = fetchurl { + url = http://go.googlecode.com/files/go1.1.2.src.tar.gz; + sha256 = "0w7bchhb4b053az3wjp6z342rs9lp9nxf4w2mnfd1b89d6sb7izz"; + }; + + buildInputs = [ bison glibc bash makeWrapper ]; + + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + + # I'm not sure what go wants from its 'src', but the go installation manual + # describes an installation keeping the src. + preUnpack = '' + mkdir -p $out/share + cd $out/share + ''; + + prePatch = '' + cd .. + if [ ! -d go ]; then + mv * go + fi + cd go + + patchShebangs ./ # replace /bin/bash + # !!! substituteInPlace does not seems to be effective. + sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.3,${loaderArm},' src/cmd/5l/asm.c + sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go + sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go + + #sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \ + # -e 's,/bin/echo,${coreutils}/bin/echo,' \ + # src/pkg/exec/exec_test.go + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go} + # The os test wants to read files in an existing path. Just it don't be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/pkg/os/os_test.go + # ParseInLocation fails the test + sed -i '/TestParseInSydney/areturn' src/pkg/time/time_test.go + '' + stdenv.lib.optionalString removeGodocExternals '' + sed -i -e '/googleapi/d' -e '/javascript">$/,+6d' lib/godoc/godoc.html + ''; + + patches = [ ./cacert.patch ]; + + GOOS = "linux"; + GOARCH = if stdenv.system == "i686-linux" then "386" + else if stdenv.system == "x86_64-linux" then "amd64" + else if stdenv.system == "armv5tel-linux" then "arm" + else throw "Unsupported system"; + GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + + installPhase = '' + mkdir -p "$out/bin" + export GOROOT="$(pwd)/" + export GOBIN="$out/bin" + export PATH="$GOBIN:$PATH" + cd ./src + ./all.bash + cd - + + # Wrap the tools to define the location of the + # libraries. + for a in go gofmt godoc; do + wrapProgram "$out/bin/$a" \ + --set "GOROOT" $out/share/go \ + ${if stdenv.system == "armv5tel-linux" then "--set GOARM $GOARM" else ""} + done + + # Copy the emacs configuration for Go files. + mkdir -p "$out/share/emacs/site-lisp" + cp ./misc/emacs/* $out/share/emacs/site-lisp/ + ''; + + meta = { + branch = "1.1"; + homepage = http://golang.org/; + description = "The Go Programming language"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [ pierron viric ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix new file mode 100644 index 000000000000..0454ea96d892 --- /dev/null +++ b/pkgs/development/compilers/go/1.2.nix @@ -0,0 +1,91 @@ +{ stdenv, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc }: + +let + loader386 = "${glibc.out}/lib/ld-linux.so.2"; + loaderAmd64 = "${glibc.out}/lib/ld-linux-x86-64.so.2"; + loaderArm = "${glibc.out}/lib/ld-linux.so.3"; +in + +stdenv.mkDerivation { + name = "go-1.2.2"; + + src = fetchurl { + url = https://storage.googleapis.com/golang/go1.2.2.src.tar.gz; + sha1 = "3ce0ac4db434fc1546fec074841ff40dc48c1167"; + }; + + buildInputs = [ bison glibc bash makeWrapper ]; + + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + + # I'm not sure what go wants from its 'src', but the go installation manual + # describes an installation keeping the src. + preUnpack = '' + mkdir -p $out/share + cd $out/share + ''; + + prePatch = '' + cd .. + if [ ! -d go ]; then + mv * go + fi + cd go + + patchShebangs ./ # replace /bin/bash + # !!! substituteInPlace does not seems to be effective. + sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.3,${loaderArm},' src/cmd/5l/asm.c + sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go + sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go + + #sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \ + # -e 's,/bin/echo,${coreutils}/bin/echo,' \ + # src/pkg/exec/exec_test.go + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go} + # The os test wants to read files in an existing path. Just it don't be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/pkg/os/os_test.go + # ParseInLocation fails the test + sed -i '/TestParseInSydney/areturn' src/pkg/time/time_test.go + ''; + + patches = [ ./cacert-1.2.patch ]; + + GOOS = "linux"; + GOARCH = if stdenv.system == "i686-linux" then "386" + else if stdenv.system == "x86_64-linux" then "amd64" + else if stdenv.system == "armv5tel-linux" then "arm" + else throw "Unsupported system"; + GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + GO386 = 387; # from Arch: don't assume sse2 on i686 + + installPhase = '' + mkdir -p "$out/bin" + export GOROOT="$(pwd)/" + export GOBIN="$out/bin" + export PATH="$GOBIN:$PATH" + cd ./src + ./all.bash + cd - + + # Copy the emacs configuration for Go files. + mkdir -p "$out/share/emacs/site-lisp" + cp ./misc/emacs/* $out/share/emacs/site-lisp/ + ''; + + meta = { + branch = "1.2"; + homepage = http://golang.org/; + description = "The Go Programming language"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [ pierron viric ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/compilers/go/1.3.nix b/pkgs/development/compilers/go/1.3.nix new file mode 100644 index 000000000000..a9a3c10584b0 --- /dev/null +++ b/pkgs/development/compilers/go/1.3.nix @@ -0,0 +1,113 @@ +{ stdenv, lib, fetchurl, fetchhg, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl }: + +let + loader386 = "${glibc.out}/lib/ld-linux.so.2"; + loaderAmd64 = "${glibc.out}/lib/ld-linux-x86-64.so.2"; + loaderArm = "${glibc.out}/lib/ld-linux.so.3"; + srcs = { + golang = fetchurl { + url = https://storage.googleapis.com/golang/go1.3.3.src.tar.gz; + sha1 = "b54b7deb7b7afe9f5d9a3f5dd830c7dede35393a"; + }; + tools = fetchhg { + url = https://code.google.com/p/go.tools/; + rev = "e1c276c4e679"; + sha256 = "0x62njflwkd99i2ixbksg6mjppl1wfg86f0g3swn350l1h0xzp76"; + }; + }; +in + +stdenv.mkDerivation { + name = "go-1.3.3"; + + src = srcs.golang; + + # perl is used for testing go vet + buildInputs = [ bison bash makeWrapper perl ] ++ lib.optionals stdenv.isLinux [ glibc ] ; + + # I'm not sure what go wants from its 'src', but the go installation manual + # describes an installation keeping the src. + preUnpack = '' + mkdir -p $out/share + cd $out/share + ''; + postUnpack = '' + mkdir -p $out/share/go/src/pkg/code.google.com/p/ + cp -rv --no-preserve=mode,ownership ${srcs.tools} $out/share/go/src/pkg/code.google.com/p/go.tools + ''; + + prePatch = '' + # Ensure that the source directory is named go + cd .. + if [ ! -d go ]; then + mv * go + fi + cd go + patchShebangs ./ # replace /bin/bash + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go} + # !!! substituteInPlace does not seems to be effective. + # The os test wants to read files in an existing path. Just don't let it be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go + # Disable the unix socket test + sed -i '/TestShutdownUnix/areturn' src/pkg/net/net_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/pkg/os/os_test.go + sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go + # ParseInLocation fails the test + sed -i '/TestParseInSydney/areturn' src/pkg/time/format_test.go + '' + lib.optionalString stdenv.isLinux '' + sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go + sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c + sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c + ''; + + patches = [ ./cacert-1.2.patch ]; + + GOOS = if stdenv.isDarwin then "darwin" else "linux"; + GOARCH = if stdenv.isDarwin then "amd64" + else if stdenv.system == "i686-linux" then "386" + else if stdenv.system == "x86_64-linux" then "amd64" + else if stdenv.system == "armv5tel-linux" then "arm" + else throw "Unsupported system"; + GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + GO386 = 387; # from Arch: don't assume sse2 on i686 + CGO_ENABLED = if stdenv.isDarwin then 0 else 1; + + installPhase = '' + export CC=cc + mkdir -p "$out/bin" + unset GOPATH + export GOROOT="$(pwd)/" + export GOBIN="$out/bin" + export PATH="$GOBIN:$PATH" + cd ./src + ./all.bash + cd - + + # Build extra tooling + # TODO: Fix godoc tests + TOOL_ROOT=code.google.com/p/go.tools/cmd + go install -v $TOOL_ROOT/cover $TOOL_ROOT/vet $TOOL_ROOT/godoc + go test -v $TOOL_ROOT/cover $TOOL_ROOT/vet # $TOOL_ROOT/godoc + + # Copy the emacs configuration for Go files. + mkdir -p "$out/share/emacs/site-lisp" + cp ./misc/emacs/* $out/share/emacs/site-lisp/ + ''; + + setupHook = ./setup-hook.sh; + + meta = { + branch = "1.3"; + homepage = http://golang.org/; + description = "The Go Programming language"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [ cstrahan ]; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; +} diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index 2a1f437ffdf6..3a1f39eab242 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go # Find the loader dynamically - LOADER="$(find ${libc}/lib -name ld-linux\* | head -n 1)" + LOADER="$(find ${libc.out or libc}/lib -name ld-linux\* | head -n 1)" # Replace references to the loader find src/cmd -name asm.c -exec sed -i "s,/lib/ld-linux.*\.so\.[0-9],$LOADER," {} \; diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix new file mode 100644 index 000000000000..c684d7d5ee5d --- /dev/null +++ b/pkgs/development/compilers/go/default.nix @@ -0,0 +1,95 @@ +{ stdenv, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata}: + +let + loader386 = "${glibc.out}/lib/ld-linux.so.2"; + loaderAmd64 = "${glibc.out}/lib/ld-linux-x86-64.so.2"; + loaderArm = "${glibc.out}/lib/ld-linux.so.3"; +in + +stdenv.mkDerivation { + name = "go-1.0.3"; + + src = fetchurl { + url = http://go.googlecode.com/files/go1.0.3.src.tar.gz; + sha256 = "1pz31az3icwqfqfy3avms05jnqr0qrbrx9yqsclkdwbjs4rkbfkz"; + }; + + buildInputs = [ bison glibc bash makeWrapper ]; + + # I'm not sure what go wants from its 'src', but the go installation manual + # describes an installation keeping the src. + preUnpack = '' + mkdir -p $out/share + cd $out/share + ''; + + prePatch = '' + cd .. + if [ ! -d go ]; then + mv * go + fi + cd go + + patchShebangs ./ # replace /bin/bash + # !!! substituteInPlace does not seems to be effective. + sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.3,${loaderArm},' src/cmd/5l/asm.c + sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go + + #sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \ + # -e 's,/bin/echo,${coreutils}/bin/echo,' \ + # src/pkg/exec/exec_test.go + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go} + # The os test wants to read files in an existing path. Just it don't be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/pkg/os/os_test.go + ''; + + patches = [ ./cacert.patch ./1_0-opt-error.patch ./1_0-gcc-bug.patch ]; + + GOOS = "linux"; + GOARCH = if stdenv.system == "i686-linux" then "386" + else if stdenv.system == "x86_64-linux" then "amd64" + else if stdenv.system == "armv5tel-linux" then "arm" + else throw "Unsupported system"; + GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + + NIX_CFLAGS_COMPILE = "-Wno-error=cpp"; + + installPhase = '' + mkdir -p "$out/bin" + export GOROOT="$(pwd)/" + export GOBIN="$out/bin" + export PATH="$GOBIN:$PATH" + cd ./src + ./all.bash + cd - + + # Wrap the tools to define the location of the + # libraries. + for a in go gofmt godoc; do + wrapProgram "$out/bin/$a" \ + --set "GOROOT" $out/share/go \ + ${if stdenv.system == "armv5tel-linux" then "--set GOARM $GOARM" else ""} + done + + # Copy the emacs configuration for Go files. + mkdir -p "$out/share/emacs/site-lisp" + cp ./misc/emacs/* $out/share/emacs/site-lisp/ + ''; + + meta = { + branch = "1.0"; + homepage = http://golang.org/; + description = "The Go Programming language"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [ pierron viric ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/compilers/julia/git.nix b/pkgs/development/compilers/julia/git.nix index 49c26592f2e8..1b3ef86cdbe7 100644 --- a/pkgs/development/compilers/julia/git.nix +++ b/pkgs/development/compilers/julia/git.nix @@ -130,10 +130,10 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-fPIC" ]; - LD_LIBRARY_PATH = makeSearchPath "lib" [ + LD_LIBRARY_PATH = makeSearchPath "lib" (concatLists (map (x : x.all) [ arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm openspecfun pcre2 suitesparse - ]; + ])); dontStrip = true; dontPatchELF = true; diff --git a/pkgs/development/compilers/llvm/3.7/llvm.nix b/pkgs/development/compilers/llvm/3.7/llvm.nix index 393e889024be..be527d873754 100644 --- a/pkgs/development/compilers/llvm/3.7/llvm.nix +++ b/pkgs/development/compilers/llvm/3.7/llvm.nix @@ -56,6 +56,8 @@ in stdenv.mkDerivation rec { "-DCAN_TARGET_i386=false" ]; + NIX_LDFLAGS = "-lpthread"; # no idea what's the problem + postBuild = '' rm -fR $out diff --git a/pkgs/development/compilers/mentor/default.nix b/pkgs/development/compilers/mentor/default.nix index 7ff013b23441..74905c6ffae4 100644 --- a/pkgs/development/compilers/mentor/default.nix +++ b/pkgs/development/compilers/mentor/default.nix @@ -34,7 +34,7 @@ let # GDB needs ncurses case "$file" in - *gdb) patchelf --set-rpath "${ncurses}/lib" "$file";; + *gdb) patchelf --set-rpath "${ncurses.out}/lib" "$file";; esac done diff --git a/pkgs/development/compilers/mkcl/default.nix b/pkgs/development/compilers/mkcl/default.nix index f6ab05bd29ba..af1ebd6a1967 100644 --- a/pkgs/development/compilers/mkcl/default.nix +++ b/pkgs/development/compilers/mkcl/default.nix @@ -14,8 +14,8 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ gmp ]; configureFlags = [ - "GMP_CFLAGS=-I${gmp}/include" - "GMP_LDFLAGS=-L${gmp}/lib" + "GMP_CFLAGS=-I${gmp.dev}/include" + "GMP_LDFLAGS=-L${gmp.out}/lib" ]; postInstall = '' diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix index 381941acc20e..c4890c1ca886 100644 --- a/pkgs/development/compilers/mlton/default.nix +++ b/pkgs/development/compilers/mlton/default.nix @@ -6,8 +6,8 @@ let usr_prefix = if stdenv.isDarwin then "usr/local" else "usr"; dynamic_linker = - if stdenv.isx86_64 then "${stdenv.glibc}/lib/ld-linux-x86-64.so.2" - else "${stdenv.glibc}/lib/ld-linux.so.2"; + if stdenv.isx86_64 then "${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2" + else "${stdenv.glibc.out}/lib/ld-linux.so.2"; in stdenv.mkDerivation rec { @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { chmod u+x $(pwd)/../${usr_prefix}/bin/mlton # So the builder runs the binary compiler with gmp. - export LD_LIBRARY_PATH=${gmp}/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=${gmp.out}/lib:$LD_LIBRARY_PATH '' + stdenv.lib.optionalString stdenv.isLinux '' # Patch ELF interpreter. @@ -92,10 +92,10 @@ stdenv.mkDerivation rec { substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $out/lib/mlton # Path to libgmp. - substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp}/lib'" + substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp.out}/lib'" # Path to gmp.h. - substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp}/include'" + substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp.dev}/include'" # Path to the same cc used in the build; needed at runtime. substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p cc)"'" diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index a4dbfeac8342..f81370992a65 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildPhase = "sh build.sh"; installPhase = '' - installBin bin/nim + install -Dt "$out/bin" bin/nim substituteInPlace install.sh --replace '$1/nim' "$out" sh install.sh $out ''; diff --git a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix index 9c6d07c4681e..ab71090b3580 100644 --- a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix +++ b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { installPhase = '' for b in cgc cgfxcat cginfo do - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux*.so.? "bin/$b" + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux*.so.? "bin/$b" done # FIXME: cgfxcat and cginfo need more patchelf mkdir -p "$out/bin/" diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix index 4d18b8d328d6..492b1c4b3338 100644 --- a/pkgs/development/compilers/opendylan/bin.nix +++ b/pkgs/development/compilers/opendylan/bin.nix @@ -24,10 +24,10 @@ stdenv.mkDerivation { interpreter="$(cat "$NIX_CC"/nix-support/dynamic-linker)" for a in "$out"/bin/*; do patchelf --set-interpreter "$interpreter" "$a" - patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a" + patchelf --set-rpath "$out/lib:${boehmgc.out}/lib" "$a" done for a in "$out"/lib/*.so; do - patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a" + patchelf --set-rpath "$out/lib:${boehmgc.out}/lib" "$a" done sed -i -e "s|\-lgc|\-L${boehmgc}\/lib -lgc|" $out/lib/config.jam wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix index 97ffbf9f0993..de803a5d90c5 100644 --- a/pkgs/development/compilers/openjdk/7.nix +++ b/pkgs/development/compilers/openjdk/7.nix @@ -106,9 +106,9 @@ let makeFlags = [ "SORT=${coreutils}/bin/sort" - "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h" - "FREETYPE_HEADERS_PATH=${freetype}/include" - "FREETYPE_LIB_PATH=${freetype}/lib" + "ALSA_INCLUDE=${alsaLib.dev}/include/alsa/version.h" + "FREETYPE_HEADERS_PATH=${freetype.dev}/include" + "FREETYPE_LIB_PATH=${freetype.out}/lib" "MILESTONE=${update}" "BUILD_NUMBER=b${build}" "USRBIN_PATH=" diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index 45bef9819aab..7ba6b56a8f38 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cpio, file, which, unzip, zip, xorg, cups, freetype +{ stdenv, fetchurl, cpio, pkgconfig, file, which, unzip, zip, xorg, cups, freetype , alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig, zlib , setJavaClassPath , minimal ? false @@ -63,6 +63,7 @@ let outputs = [ "out" "jre" ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cpio file which unzip zip xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst @@ -93,7 +94,6 @@ let ''; configureFlags = [ - "--with-freetype=${freetype}" "--with-boot-jdk=${bootjdk.home}" "--with-update-version=${update}" "--with-build-number=${build}" diff --git a/pkgs/development/compilers/openjdk/bootstrap.nix b/pkgs/development/compilers/openjdk/bootstrap.nix index a9ca7673dfe9..48a22638813f 100644 --- a/pkgs/development/compilers/openjdk/bootstrap.nix +++ b/pkgs/development/compilers/openjdk/bootstrap.nix @@ -40,13 +40,13 @@ let LIBDIRS="$(find $out -name \*.so\* -exec dirname {} \; | sort | uniq | tr '\n' ':')" for i in $out/bin/*; do - patchelf --set-interpreter ${glibc}/lib/ld-linux*.so.2 $i || true - patchelf --set-rpath "${glibc}/lib:$LIBDIRS" $i || true + patchelf --set-interpreter ${glibc.out}/lib/ld-linux*.so.2 $i || true + patchelf --set-rpath "${glibc.out}/lib:$LIBDIRS" $i || true done find $out -name \*.so\* | while read lib; do - patchelf --set-interpreter ${glibc}/lib/ld-linux*.so.2 $lib || true - patchelf --set-rpath "${glibc}/lib:${stdenv.cc.cc}/lib:$LIBDIRS" $lib || true + patchelf --set-interpreter ${glibc.out}/lib/ld-linux*.so.2 $lib || true + patchelf --set-rpath "${glibc.out}/lib:${stdenv.cc.cc.lib}/lib:$LIBDIRS" $lib || true done # Temporarily, while NixOS's OpenJDK bootstrap tarball doesn't have PaX markings: diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix index d60ad0d11ec9..1488736a4808 100644 --- a/pkgs/development/compilers/orc/default.nix +++ b/pkgs/development/compilers/orc/default.nix @@ -8,20 +8,25 @@ stdenv.mkDerivation rec { sha256 = "16ykgdrgxr6pfpy931p979cs68klvwmk3ii1k0a00wr4nn9x931k"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" ]; + outputBin = "dev"; # compilation tools + + postInstall = '' + sed "/^toolsdir=/ctoolsdir=$dev/bin" -i "$dev"/lib/pkgconfig/orc*.pc + ''; # building memcpy_speed.log # ../test-driver: line 107: 4495 Segmentation fault "$@" > $log_file 2>&1 # FAIL: memcpy_speed doCheck = false; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7 - meta = { + meta = with stdenv.lib; { description = "The Oil Runtime Compiler"; homepage = "http://code.entropywave.com/orc/"; # The source code implementing the Marsenne Twister algorithm is licensed # under the 3-clause BSD license. The rest is 2-clause BSD license. - license = stdenv.lib.licenses.bsd3; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.fuuzetsu ]; }; } diff --git a/pkgs/development/compilers/path64/default.nix b/pkgs/development/compilers/path64/default.nix index d6112dcdfc48..694bdc8990fd 100644 --- a/pkgs/development/compilers/path64/default.nix +++ b/pkgs/development/compilers/path64/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { patchPhase = '' sed -i s,/usr/bin/ld,$(type -P ld), src/driver/phases.c - sed -i s,/lib64/ld-linux-x86-64.so.2,${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2, src/include/main_defs.h.in + sed -i s,/lib64/ld-linux-x86-64.so.2,${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2, src/include/main_defs.h.in ''; cmakeFlags = '' @@ -22,7 +22,7 @@ stdenv.mkDerivation { -DPATH64_ENABLE_PSCRUNTIME=OFF -DPATH64_ENABLE_PROFILING=OFF -DPATH64_ENABLE_TARGETS=x8664 -DCMAKE_BUILD_TYPE=Debug -DPATH64_ENABLE_FORTRAN=OFF - -DPSC_CRT_PATH=${stdenv.cc.libc}/lib + -DPSC_CRT_PATH=${stdenv.cc.libc.out}/lib ''; makeFlags = "-j4"; diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix index c94ba203c0ff..076146095196 100644 --- a/pkgs/development/compilers/ponyc/default.nix +++ b/pkgs/development/compilers/ponyc/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { checkTarget = "test"; patchPhase = '' - sed 's|/usr/lib/x86_64-linux-gnu/|${glibc}/lib/|g' -i src/libponyc/codegen/genexe.c + sed 's|/usr/lib/x86_64-linux-gnu/|${glibc.out}/lib/|g' -i src/libponyc/codegen/genexe.c sed 's|/lib/x86_64-linux-gnu/|${stdenv.cc.cc}/lib/|g' -i src/libponyc/codegen/genexe.c ''; @@ -26,7 +26,7 @@ stdenv.mkDerivation { ''; preCheck = '' - export LIBRARY_PATH="$out/lib:${openssl}/lib:${pcre2}/lib" + export LIBRARY_PATH="$out/lib:${openssl.out}/lib:${pcre2}/lib" ''; installPhase = '' @@ -34,7 +34,7 @@ stdenv.mkDerivation { mv $out/bin/ponyc $out/bin/ponyc.wrapped makeWrapper $out/bin/ponyc.wrapped $out/bin/ponyc \ --prefix LIBRARY_PATH : "$out/lib" \ - --prefix LIBRARY_PATH : "${openssl}/lib" \ + --prefix LIBRARY_PATH : "${openssl.out}/lib" \ --prefix LIBRARY_PATH : "${pcre2}/lib" ''; diff --git a/pkgs/development/compilers/rustc/generic.nix b/pkgs/development/compilers/rustc/generic.nix index c0f15fbd116c..177d403b4513 100644 --- a/pkgs/development/compilers/rustc/generic.nix +++ b/pkgs/development/compilers/rustc/generic.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps -, llvmPackages_37, jemalloc, ncurses, darwin +, llvmPackages_37, jemalloc, ncurses, darwin, binutils , shortVersion, isRelease , forceBundledLLVM ? false @@ -114,8 +114,8 @@ with stdenv.lib; stdenv.mkDerivation { mkdir -p "$out" cp -r bin "$out/bin" '' + optionalString stdenv.isLinux '' - patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \ - --set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/" \ + patchelf --interpreter "${stdenv.glibc.out}/lib/${stdenv.cc.dynamicLinker}" \ + --set-rpath "${stdenv.cc.cc.lib}/lib/:${stdenv.cc.cc.lib}/lib64/" \ "$out/bin/rustc" ''; }; @@ -123,7 +123,7 @@ with stdenv.lib; stdenv.mkDerivation { configureFlags = configureFlags ++ [ "--enable-local-rust" "--local-rust-root=$snapshot" "--enable-rpath" ] # ++ [ "--jemalloc-root=${jemalloc}/lib" - ++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${stdenv.cc.binutils}/bin/ar" ] + ++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils}/bin/ar" ] ++ optional (stdenv.cc.cc ? isClang) "--enable-clang" ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}"; @@ -169,6 +169,7 @@ with stdenv.lib; stdenv.mkDerivation { enableParallelBuilding = false; # missing files during linking, occasionally outputs = [ "out" "doc" ]; + setOutputFlags = false; preCheck = "export TZDIR=${tzdata}/share/zoneinfo"; diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index f1a52f5de91e..fbadb9d74366 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -25,9 +25,9 @@ stdenv.mkDerivation rec { preConfigure = '' configureFlagsArray+=("--elfinterp=$(cat $NIX_CC/nix-support/dynamic-linker)") - configureFlagsArray+=("--crtprefix=${stdenv.glibc}/lib") - configureFlagsArray+=("--sysincludepaths=${stdenv.glibc}/include:{B}/include") - configureFlagsArray+=("--libpaths=${stdenv.glibc}/lib") + configureFlagsArray+=("--crtprefix=${stdenv.glibc.out}/lib") + configureFlagsArray+=("--sysincludepaths=${stdenv.glibc.dev}/include:{B}/include") + configureFlagsArray+=("--libpaths=${stdenv.glibc.out}/lib") ''; doCheck = true; diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index f99571c6a10b..5fbfd8a96ac9 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -22,12 +22,12 @@ stdenv.mkDerivation rec { preConfigure = '' export PGHEADER="${postgresql}/include/libpq-fe.h"; export MSHEADER="${mysql.lib}/include/mysql/mysql.h"; - export SQHEADER="${sqlite}/include/sqlite3.h"; + export SQHEADER="${sqlite.dev}/include/sqlite3.h"; export CCARGS="-I$out/include \ -L${mysql.lib}/lib/mysql \ - -L${postgresql}/lib \ - -L${sqlite}/lib"; + -L${postgresql.lib}/lib \ + -L${sqlite.out}/lib"; ''; # Be sure to keep the statically linked libraries diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 1833ce3ffced..89c839d49df4 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -154,7 +154,6 @@ self: super: { gl = dontHaddock super.gl; groupoids = dontHaddock super.groupoids; hamlet = dontHaddock super.hamlet; - haste-compiler = dontHaddock super.haste-compiler; HaXml = dontHaddock super.HaXml; HDBC-odbc = dontHaddock super.HDBC-odbc; hoodle-core = dontHaddock super.hoodle-core; @@ -221,8 +220,8 @@ self: super: { else super.x509-system; double-conversion = if !pkgs.stdenv.isDarwin - then super.double-conversion - else addBuildDepend (overrideCabal super.double-conversion (drv: + then addExtraLibrary super.double-conversion pkgs.stdenv.cc.cc.lib + else addExtraLibrary (overrideCabal super.double-conversion (drv: { postPatch = '' substituteInPlace double-conversion.cabal --replace stdc++ c++ @@ -964,4 +963,8 @@ self: super: { # https://github.com/danidiaz/pipes-transduce/issues/2 pipes-transduce = super.pipes-transduce.override { foldl = self.foldl_1_1_6; }; + # Haste stuff + haste-Cabal = self.callPackage ../tools/haskell/haste/haste-Cabal.nix {}; + haste-cabal-install = self.callPackage ../tools/haskell/haste/haste-cabal-install.nix { Cabal = self.haste-Cabal; HTTP = self.HTTP_4000_2_23; }; + haste-compiler = self.callPackage ../tools/haskell/haste/haste-compiler.nix { inherit overrideCabal; super-haste-compiler = super.haste-compiler; }; } diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix index f5ff0315beef..84b474b08cb0 100644 --- a/pkgs/development/interpreters/angelscript/default.nix +++ b/pkgs/development/interpreters/angelscript/default.nix @@ -3,10 +3,10 @@ let s = # Generated upstream information rec { baseName="angelscript"; - version = "2.30.2"; + version = "2.31.0"; name="${baseName}-${version}"; url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip"; - sha256 = "1myp691m0nzv51pyfq6qmjyi0asbkx2v8slrnhj32s6aq55pf24c"; + sha256 = "03a0gmz95di62552dv873iwwy1ym96kpyrc0s708assjlslr9716"; }; buildInputs = [ unzip diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index a9854c7c4934..f71b557bc25d 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { b=$(basename $f) if [ $b == "mix" ]; then continue; fi wrapProgram $f \ - --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl}/bin:${bash}/bin" \ + --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl.bin}/bin:${bash}/bin" \ --set CURL_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt done diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 5e2883f9fb3c..847ae2997b85 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -51,7 +51,7 @@ sed -i "$out/lib/pkgconfig/guile-2.0.pc" \ -e 's|-lunistring|-L${libunistring}/lib -lunistring|g ; s|^Cflags:\(.*\)$|Cflags: -I${libunistring}/include \1|g ; - s|-lltdl|-L${libtool}/lib -lltdl|g' + s|-lltdl|-L${libtool.lib}/lib -lltdl|g' ''; # make check doesn't work on darwin diff --git a/pkgs/development/interpreters/love/0.8.nix b/pkgs/development/interpreters/love/0.8.nix index fc1f01cb3730..b12c2c405780 100644 --- a/pkgs/development/interpreters/love/0.8.nix +++ b/pkgs/development/interpreters/love/0.8.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { ''; NIX_CFLAGS_COMPILE = '' - -I${SDL}/include/SDL + -I${SDL.dev}/include/SDL -I${freetype}include/freetype2 ''; diff --git a/pkgs/development/interpreters/lua-5/expat.nix b/pkgs/development/interpreters/lua-5/expat.nix index 0dbbaf8a1614..243abae331a6 100644 --- a/pkgs/development/interpreters/lua-5/expat.nix +++ b/pkgs/development/interpreters/lua-5/expat.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { makeFlagsArray=( LUA_LDIR="$out/share/lua/${lua5.luaversion}" LUA_INC="-I${lua5}/include" LUA_CDIR="$out/lib/lua/${lua5.luaversion}" - EXPAT_INC="-I${expat}/include"); + EXPAT_INC="-I${expat.dev}/include"); ''; meta = { diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index 8b5da0528523..23ea2fd65528 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { '' + stdenv.lib.optionalString (stdenv.cc.libc != null) '' substituteInPlace Makefile \ - --replace ldconfig ${stdenv.cc.libc}/sbin/ldconfig + --replace ldconfig ${stdenv.cc.libc.bin or stdenv.cc.libc}/bin/ldconfig ''; configurePhase = false; diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 1a92f3aa0072..f8565b9637a5 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -17,7 +17,8 @@ assert enableThreading -> (stdenv ? glibc); let libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr"; - + libcInc = libc.dev or libc; + libcLib = libc.out or libc; common = { version, sha256 }: stdenv.mkDerivation rec { name = "perl-${version}"; @@ -26,7 +27,9 @@ let inherit sha256; }; - outputs = [ "out" "man" ]; + # TODO: Add a "dev" output containing the header files. + outputs = [ "out" "man" "docdev" ]; + setOutputFlags = false; patches = [ # Do not look in /usr etc. for dependencies. @@ -35,17 +38,11 @@ let ++ optional stdenv.isSunOS ./ld-shared.patch ++ optional stdenv.isDarwin [ ./cpp-precomp.patch ]; - # There's an annoying bug on sandboxed Darwin in Perl's Cwd.pm where it looks for pwd - # in /bin/pwd and /usr/bin/pwd and then falls back on just "pwd" if it can't get them - # while at the same time erasing the PATH environment variable so it unconditionally - # fails. The code in question is guarded by a check for Mac OS, but the patch below - # doesn't have any runtime effect on other platforms. - postPatch = optional stdenv.isDarwin '' + postPatch = '' pwd="$(type -P pwd)" substituteInPlace dist/PathTools/Cwd.pm \ --replace "/bin/pwd" "$pwd" ''; - sandboxProfile = sandbox.allow "ipc-sysv-sem"; # Build a thread-safe Perl with a dynamic libperls.o. We need the @@ -59,8 +56,8 @@ let "-Uinstallusrbinperl" "-Dinstallstyle=lib/perl5" "-Duseshrplib" - "-Dlocincpth=${libc}/include" - "-Dloclibpth=${libc}/lib" + "-Dlocincpth=${libcInc}/include" + "-Dloclibpth=${libcLib}/lib" ] ++ optional stdenv.isSunOS "-Dcc=gcc" ++ optional enableThreading "-Dusethreads"; @@ -74,10 +71,8 @@ let preConfigure = '' configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" - - ${optionalString stdenv.isArm '' - configureFlagsArray=(-Dldflags="-lm -lrt") - ''} + '' + optionalString stdenv.isArm '' + configureFlagsArray=(-Dldflags="-lm -lrt") '' + optionalString stdenv.isDarwin '' substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" "" '' + optionalString (!enableThreading) '' @@ -91,18 +86,26 @@ let substituteInPlace dist/PathTools/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" ''; - # Inspired by nuke-references, which I can't depend on because it uses perl. Perhaps it should just use sed :) - postInstall = '' - self=$(echo $out | sed -n "s|^$NIX_STORE/\\([a-z0-9]\{32\}\\)-.*|\1|p") - - sed -i "/$self/b; s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" "$out"/lib/perl5/*/*/Config.pm - sed -i "/$self/b; s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" "$out"/lib/perl5/*/*/Config_heavy.pl - ''; - setupHook = ./setup-hook.sh; passthru.libPrefix = "lib/perl5/site_perl"; + # TODO: it seems like absolute paths to some coreutils is required. + postInstall = + '' + # Remove dependency between "out" and "man" outputs. + rm "$out"/lib/perl5/*/*/.packlist + + # Remove dependencies on glibc and gcc + sed "/ *libpth =>/c libpth => ' '," \ + -i "$out"/lib/perl5/*/*/Config.pm + # TODO: removing those paths would be cleaner than overwriting with nonsense. + substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \ + --replace "${libcInc}" /no-such-path \ + --replace "${stdenv.cc.cc or "/no-such-path"}" /no-such-path \ + --replace "$man" /no-such-path + ''; # */ + meta = { homepage = https://www.perl.org/; description = "The standard implementation of the Perl 5 programmming language"; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index fc8041b597b4..a618fd85d719 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -30,7 +30,7 @@ let # SAPI modules: apxs2 = { - configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"]; + configureFlags = ["--with-apxs2=${apacheHttpd.dev}/bin/apxs"]; buildInputs = [apacheHttpd]; }; @@ -44,7 +44,13 @@ let }; ldap = { - configureFlags = ["--with-ldap=${openldap}"]; + configureFlags = [ + "--with-ldap" + "LDAP_DIR=${openldap.dev}" + "LDAP_INCDIR=${openldap.dev}/include" + "LDAP_LIBDIR=${openldap.out}/lib" + "--with-ldap-sasl=${cyrus_sasl.dev}" + ]; buildInputs = [openldap cyrus_sasl openssl]; }; @@ -69,7 +75,7 @@ let libxml2 = { configureFlags = [ - "--with-libxml-dir=${libxml2}" + "--with-libxml-dir=${libxml2.dev}" ]; buildInputs = [ libxml2 ]; }; @@ -148,7 +154,7 @@ let }; openssl = { - configureFlags = ["--with-openssl=${openssl}"]; + configureFlags = ["--enable-openssl"]; buildInputs = [openssl]; }; @@ -288,13 +294,13 @@ let in { php55 = generic { - version = "5.5.33"; - sha256 = "1a8ac1zcq68irvdffh08cpi4aaaira4hsqwgns7b95pm9pnv3464"; + version = "5.5.34"; + sha256 = "0745wn0qg9rqibwr948bzc719s7pywizvl1ahkg1j9m92r28i25g"; }; php56 = generic { - version = "5.6.19"; - sha256 = "0s61fncsdgr1mqgh8jma6pi6xxz4gl350467lk00ls3i97wa691a"; + version = "5.6.20"; + sha256 = "07xz48dz1ijwq45vh90jfzdd56k0s5ppi3j5rwc9p9y7mrybziss"; }; php70 = generic { diff --git a/pkgs/development/interpreters/pypy/default.nix b/pkgs/development/interpreters/pypy/default.nix index 8abc1ac489cd..095e0b7db08e 100644 --- a/pkgs/development/interpreters/pypy/default.nix +++ b/pkgs/development/interpreters/pypy/default.nix @@ -25,17 +25,17 @@ let ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++ stdenv.lib.optional zlibSupport zlib; - C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs); - LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") + C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p.dev or p}/include") buildInputs); + LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p.lib or p.out or p}/lib") buildInputs); + LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p.lib or p.out or p}/lib") (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs)); preConfigure = '' # hint pypy to find nix ncurses substituteInPlace pypy/module/_minimal_curses/fficurses.py \ - --replace "/usr/include/ncurses/curses.h" "${ncurses}/include/curses.h" \ - --replace "ncurses/curses.h" "${ncurses}/include/curses.h" \ - --replace "ncurses/term.h" "${ncurses}/include/term.h" \ + --replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \ + --replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \ + --replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \ --replace "libraries=['curses']" "libraries=['ncurses']" # tkinter hints @@ -44,7 +44,7 @@ let --replace "linklibs = ['tcl' + _ver, 'tk' + _ver]" "linklibs=['${tcl.libPrefix}', '${tk.libPrefix}']" \ --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']" - sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3_build.py + sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py ''; buildPhase = '' @@ -66,7 +66,7 @@ let doCheck = true; checkPhase = '' - export TERMINFO="${ncurses}/share/terminfo/"; + export TERMINFO="${ncurses.out}/share/terminfo/"; export TERM="xterm"; export HOME="$TMPDIR"; # disable shutils because it assumes gid 0 exists diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix index 32974778168b..96b44ddc17f3 100644 --- a/pkgs/development/interpreters/python/2.6/default.nix +++ b/pkgs/development/interpreters/python/2.6/default.nix @@ -52,6 +52,10 @@ let [ bzip2 openssl ]++ optionals includeModules [ db openssl ncurses gdbm readline xlibsWrapper tcl tk sqlite ] ++ optional zlibSupport zlib; + mkPaths = paths: { + C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p.dev or p}/include") paths); + LIBRARY_PATH = concatStringsSep ":" (map (p: "${p.lib or (p.out or p)}/lib") paths); + }; # Build the basic Python interpreter without modules that have # external dependencies. @@ -62,8 +66,7 @@ let inherit majorVersion version src patches buildInputs preConfigure configureFlags; - C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2"; @@ -83,9 +86,9 @@ let ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion} mv $out/share/man/man1/{python.1,python2.6.1} ln -s $out/share/man/man1/{python2.6.1,python.1} - + paxmark E $out/bin/python${majorVersion} - + ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"} ''; @@ -139,8 +142,7 @@ let buildInputs = [ python ] ++ deps; - C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; buildPhase = '' diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index a2c059da0607..f1ae897ea4ac 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -101,6 +101,11 @@ let propagatedBuildInputs = optional stdenv.isDarwin configd; + mkPaths = paths: { + C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p.dev or p}/include") paths); + LIBRARY_PATH = concatStringsSep ":" (map (p: "${p.lib or (p.out or p)}/lib") paths); + }; + # Build the basic Python interpreter without modules that have # external dependencies. python = stdenv.mkDerivation { @@ -111,8 +116,7 @@ let preConfigure configureFlags; LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; - C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2"; DETERMINISTIC_BUILD = 1; @@ -137,7 +141,9 @@ let paxmark E $out/bin/python${majorVersion} - ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"} + ${optionalString includeModules "$out/bin/python ./setup.py build_ext"} + + rm "$out"/lib/python*/plat-*/regen # refers to glibc.dev ''; passthru = rec { @@ -186,8 +192,7 @@ let buildInputs = [ python ] ++ deps; - C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; # non-python gdbm has a libintl dependency on i686-cygwin, not on x86_64-cygwin buildPhase = (if (stdenv.system == "i686-cygwin" && moduleName == "gdbm") then '' diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix index f4103662316e..c0b5d3401ddd 100644 --- a/pkgs/development/interpreters/python/3.2/default.nix +++ b/pkgs/development/interpreters/python/3.2/default.nix @@ -44,8 +44,8 @@ stdenv.mkDerivation { ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''} configureFlagsArray=( --enable-shared --with-threads --with-wide-unicode - CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p.dev or p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p.lib or (p.out or p)}/lib") buildInputs)}" LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" ) ''; diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix index a8953f38245a..a46ef7c056b2 100644 --- a/pkgs/development/interpreters/python/3.3/default.nix +++ b/pkgs/development/interpreters/python/3.3/default.nix @@ -46,8 +46,8 @@ stdenv.mkDerivation { ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''} configureFlagsArray=( --enable-shared --with-threads - CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p.dev or p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p.lib or (p.out or p)}/lib") buildInputs)}" LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" ) ''; diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix index ecada35a26e8..8d87c6abfbb4 100644 --- a/pkgs/development/interpreters/python/3.4/default.nix +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -58,8 +58,8 @@ stdenv.mkDerivation { ''} configureFlagsArray=( --enable-shared --with-threads - CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p.dev or p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p.lib or (p.out or p)}/lib") buildInputs)}" LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" ) ''; diff --git a/pkgs/development/interpreters/python/3.5/default.nix b/pkgs/development/interpreters/python/3.5/default.nix index 0f4b6e744aca..4bc39f4c2b3a 100644 --- a/pkgs/development/interpreters/python/3.5/default.nix +++ b/pkgs/development/interpreters/python/3.5/default.nix @@ -58,8 +58,8 @@ stdenv.mkDerivation { ''} configureFlagsArray=( --enable-shared --with-threads - CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p.dev or p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p.lib or (p.out or p)}/lib") buildInputs)}" LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" ) ''; diff --git a/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix b/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix index ecaed5077121..99f66199d939 100644 --- a/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix +++ b/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ''; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" ''; makeFlags = "-f ${makefile} JS_DIST=\${out} BUILD_OPT=1 JS_READLINE=1 JS_THREADSAFE=1"; diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix index 7573b546164b..5cc71b59d512 100644 --- a/pkgs/development/interpreters/spidermonkey/17.0.nix +++ b/pkgs/development/interpreters/spidermonkey/17.0.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1fig2wf4f10v43mqx67y68z6h77sy900d1w0pz9qarrqx57rc7ij"; }; + outputs = [ "dev" "out" "lib" ]; + propagatedBuildInputs = [ nspr ]; buildInputs = [ pkgconfig perl python zip libffi readline ]; @@ -21,11 +23,14 @@ stdenv.mkDerivation rec { ''; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" export LIBXUL_DIST=$out ''; + setOutputFlags = false; configureFlags = [ + "--libdir=$(lib)/lib" + "--includedir=$(dev)/include" "--enable-threadsafe" "--with-system-nspr" "--with-system-ffi" @@ -49,7 +54,10 @@ stdenv.mkDerivation rec { paxmark mr jsapi-tests/jsapi-tests ''; - postInstall = ''rm "$out"/lib/*.a''; # halve the output size + postInstall = '' + rm "$lib"/lib/*.a # halve the output size + moveToOutput "bin/js*-config" "$dev" # break the cycle + ''; meta = with stdenv.lib; { description = "Mozilla's JavaScript engine written in C/C++"; diff --git a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix index a036388f15ee..94f070d1a91d 100644 --- a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix +++ b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { postUnpack = "sourceRoot=\${sourceRoot}/js/src"; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" export LIBXUL_DIST=$out ''; diff --git a/pkgs/development/interpreters/spidermonkey/24.2.nix b/pkgs/development/interpreters/spidermonkey/24.2.nix index 3a9bd8ad7a46..5c4fc8508155 100644 --- a/pkgs/development/interpreters/spidermonkey/24.2.nix +++ b/pkgs/development/interpreters/spidermonkey/24.2.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6"; }; + outputs = [ "dev" "out" "lib" ]; + propagatedBuildInputs = [ nspr ]; buildInputs = [ pkgconfig perl python zip libffi readline ]; @@ -21,11 +23,14 @@ stdenv.mkDerivation rec { postUnpack = "sourceRoot=\${sourceRoot}/js/src"; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr.dev}/include/nspr" export LIBXUL_DIST=$out ''; + setOutputFlags = false; configureFlags = [ + "--libdir=$(lib)/lib" + "--includedir=$(dev)/include" "--enable-threadsafe" "--with-system-nspr" "--with-system-ffi" @@ -40,6 +45,11 @@ stdenv.mkDerivation rec { doCheck = true; preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522 + postInstall = '' + rm "$lib"/lib/*.a # halve the output size + moveToOutput "bin/js*-config" "$dev" # break the cycle + ''; + meta = with stdenv.lib; { description = "Mozilla's JavaScript engine written in C/C++"; homepage = https://developer.mozilla.org/en/SpiderMonkey; diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index 7ca594e9bc4a..6c3920ff8aa8 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -27,7 +27,8 @@ stdenv.mkDerivation rec { sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"; }; - outputs = [ "out" "man" ]; + outputs = [ "dev" "out" ]; + outputBin = "dev"; # sdl-config nativeBuildInputs = [ pkgconfig ]; @@ -58,7 +59,7 @@ stdenv.mkDerivation rec { "--disable-osmesa-shared" ] ++ stdenv.lib.optionals (stdenv ? cross) ([ "--without-x" - ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib}/lib"); + ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"); patches = [ # Fix window resizing issues, e.g. for xmonad @@ -96,6 +97,8 @@ stdenv.mkDerivation rec { }) ]; + postFixup = ''moveToOutput share/aclocal "$dev" ''; + passthru = { inherit openglSupport; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 529c485930b3..1c260c2ba911 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -19,7 +19,7 @@ let configureFlagsFun = attrs: '' --disable-oss --disable-x11-shared --disable-pulseaudio-shared --disable-alsa-shared - ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""} + ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib.out}/lib" else ""} ${if (!x11Support) then "--without-x" else ""} ''; in diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix index d7dcbeba330b..7ddb78d052e0 100644 --- a/pkgs/development/libraries/aalib/default.nix +++ b/pkgs/development/libraries/aalib/default.nix @@ -8,16 +8,30 @@ stdenv.mkDerivation { sha256 = "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv"; }; + outputs = [ "dev" "out" "bin" "doc" ]; + setOutputFlags = false; # Doesn't support all the flags + + patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ]; + # The fuloong2f is not supported by aalib still preConfigure = '' cp ${automake}/share/automake*/config.{sub,guess} . + configureFlagsArray+=( + "--bindir=$bin/bin" + "--includedir=$dev/include" + "--libdir=$out/lib" + ) ''; buildInputs = [ ncurses ]; configureFlags = "--without-x --with-ncurses=${ncurses}"; - patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ]; + postInstall = '' + mkdir -p $dev/bin + mv $bin/bin/aalib-config $dev/bin/aalib-config + substituteInPlace $out/lib/libaa.la --replace "${ncurses.dev}/lib" "${ncurses.out}/lib" + ''; meta = { description = "ASCII art graphics library"; diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix index f6445874913a..29b31a8b492c 100644 --- a/pkgs/development/libraries/acl/default.nix +++ b/pkgs/development/libraries/acl/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"; }; + outputs = [ "dev" "out" "bin" "doc" ]; + nativeBuildInputs = [ gettext ]; buildInputs = [ attr ]; diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix index c123740f5c12..6f0956f1d1d1 100644 --- a/pkgs/development/libraries/apr-util/default.nix +++ b/pkgs/development/libraries/apr-util/default.nix @@ -22,6 +22,9 @@ stdenv.mkDerivation rec { patches = optional stdenv.isFreeBSD ./include-static-dependencies.patch; + outputs = [ "dev" "out" ]; + outputBin = "dev"; + buildInputs = optional stdenv.isFreeBSD autoreconfHook; configureFlags = [ "--with-apr=${apr}" "--with-expat=${expat}" ] @@ -42,7 +45,10 @@ stdenv.mkDerivation rec { # Give apr1 access to sed for runtime invocations postInstall = '' - wrapProgram $out/bin/apu-1-config --prefix PATH : "${gnused}/bin" + for f in $out/lib/*.la $out/lib/apr-util-1/*.la; do + substituteInPlace $f --replace "${expat.dev}/lib" "${expat.out}/lib" + done + wrapProgram $dev/bin/apu-1-config --prefix PATH : "${gnused}/bin" ''; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix index 08fd1fe4d5f3..c6e505f43d23 100644 --- a/pkgs/development/libraries/apr/default.nix +++ b/pkgs/development/libraries/apr/default.nix @@ -10,6 +10,14 @@ stdenv.mkDerivation rec { patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ]; + outputs = [ "dev" "out" ]; + outputBin = "dev"; + + preConfigure = + '' + configureFlagsArray+=("--with-installbuilddir=$dev/share/build") + ''; + configureFlags = # Including the Windows headers breaks unistd.h. # Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2 @@ -17,10 +25,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://apr.apache.org/; description = "The Apache Portable Runtime library"; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = platforms.all; + maintainers = [ maintainers.eelco ]; }; } diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix index 808de07c52fd..e49569bc226a 100644 --- a/pkgs/development/libraries/at-spi2-core/default.nix +++ b/pkgs/development/libraries/at-spi2-core/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "0afn4x04j5l352vj0dccb2hkpzg3l2vhr8h1yv89fpqmjkfnm8md"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" ]; buildInputs = [ python pkgconfig popt intltool dbus_glib diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index dcb90aa16cd1..14e2e71c0bd0 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -12,6 +12,10 @@ stdenv.mkDerivation rec { sha256 = "ce6c48d77bf951083029d5a396dd552d836fff3c1715d3a7022e917e46d0c92b"; }; + enableParallelBuilding = true; + + outputs = [ "dev" "out" ]; + buildInputs = libintlOrEmpty; nativeBuildInputs = [ pkgconfig perl ]; @@ -20,8 +24,6 @@ stdenv.mkDerivation rec { #doCheck = true; # no checks in there (2.10.0) - postInstall = "rm -rf $out/share/gtk-doc"; - meta = { description = "Accessibility toolkit"; diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index 3c69a7328b23..2bb5b2d25807 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5"; }; + outputs = [ "dev" "out" "bin" "doc" ]; + nativeBuildInputs = [ gettext ]; configureFlags = "MAKE=make MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ECHO=echo SED=sed AWK=gawk"; diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index 158f4b227dd3..4839bedd8bb0 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -7,9 +7,10 @@ stdenv.mkDerivation rec { url = http://www.hboehm.info/gc/gc_source/gc-7.2f.tar.gz; sha256 = "119x7p1cqw40mpwj80xfq879l9m1dkc7vbc1f3bz3kvkf8bf6p16"; }; - patches = if stdenv.isCygwin then [ ./cygwin.patch ] else null; + outputs = [ "dev" "out" "doc" ]; + configureFlags = [ "--enable-cplusplus" ] ++ lib.optional enableLargeConfig "--enable-large-config"; @@ -19,6 +20,12 @@ stdenv.mkDerivation rec { # Don't run the native `strip' when cross-compiling. dontStrip = stdenv ? cross; + postInstall = + '' + mkdir -p $out/share/doc + mv $out/share/gc $out/share/doc/gc + ''; + meta = { description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++"; diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index b28668e7b301..5b0c06bd6bb2 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -64,8 +64,8 @@ let ] ++ optional (variant == "release") "debug-symbols=off"; nativeB2Flags = [ - "-sEXPAT_INCLUDE=${expat}/include" - "-sEXPAT_LIBPATH=${expat}/lib" + "-sEXPAT_INCLUDE=${expat.dev}/include" + "-sEXPAT_LIBPATH=${expat.out}/lib" ] ++ optional (toolset != null) "toolset=${toolset}" ++ optional (mpi != null) "--user-config=user-config.jam"; nativeB2Args = concatStringsSep " " (genericB2Flags ++ nativeB2Flags); @@ -148,7 +148,7 @@ stdenv.mkDerivation { configureScript = "./bootstrap.sh"; configureFlags = commonConfigureFlags ++ [ - "--with-icu=${icu}" + "--with-icu=${icu.dev}" "--with-python=${python.interpreter}" ] ++ optional (toolset != null) "--with-toolset=${toolset}"; @@ -159,6 +159,7 @@ stdenv.mkDerivation { postFixup = fixup; outputs = [ "out" "dev" "lib" ]; + setOutputFlags = false; crossAttrs = rec { buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ]; diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index 537107f3f6a8..2e4821b30738 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -19,6 +19,9 @@ stdenv.mkDerivation rec { sha256 = "0lmjlzmghmr27y615px9hkm552x7ap6pmq9mfbzr6smp8y2b6g31"; }; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; # very small + nativeBuildInputs = [ pkgconfig libiconv @@ -29,12 +32,12 @@ stdenv.mkDerivation rec { ]); propagatedBuildInputs = - with xorg; [ xorg.xlibsWrapper fontconfig expat freetype pixman zlib libpng ] + with xorg; [ libXext fontconfig expat freetype pixman zlib libpng ] ++ optional (!stdenv.isDarwin) libXrender ++ optionals xcbSupport [ libxcb xcbutil ] ++ optional gobjectSupport glib - ++ optionals glSupport [ mesa_noglu ] - ; + ++ optional glSupport mesa_noglu + ; # TODO: maybe liblzo but what would it be for here? configureFlags = if stdenv.isDarwin then [ "--disable-dependency-tracking" @@ -50,29 +53,24 @@ stdenv.mkDerivation rec { preConfigure = # On FreeBSD, `-ldl' doesn't exist. - (stdenv.lib.optionalString stdenv.isFreeBSD + stdenv.lib.optionalString stdenv.isFreeBSD '' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in do cat "$i" | sed -es/-ldl//g > t mv t "$i" done - '') - + + '' + + '' # Work around broken `Requires.private' that prevents Freetype # `-I' flags to be propagated. sed -i "src/cairo.pc.in" \ - -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g' + -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype.dev}/include/freetype2 -I${freetype.dev}/include|g' ''; enableParallelBuilding = true; - # The default `--disable-gtk-doc' is ignored. - postInstall = "rm -rf $out/share/gtk-doc" - + stdenv.lib.optionalString stdenv.isDarwin ('' - #newline - '' + glib.flattenInclude - ); + postInstall = stdenv.lib.optionalString stdenv.isDarwin glib.flattenInclude; meta = with stdenv.lib; { description = "A 2D graphics library with support for multiple output devices"; diff --git a/pkgs/development/libraries/cogl/1.20.nix b/pkgs/development/libraries/cogl/1.20.nix index 5eb12fe29989..ae202b093777 100644 --- a/pkgs/development/libraries/cogl/1.20.nix +++ b/pkgs/development/libraries/cogl/1.20.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { COGL_PANGO_DEP_CFLAGS = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport) - "-I${pango}/include/pango-1.0 -I${cairo}/include/cairo"; + "-I${pango.dev}/include/pango-1.0 -I${cairo.dev}/include/cairo"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; diff --git a/pkgs/development/libraries/cogl/1.22.nix b/pkgs/development/libraries/cogl/1.22.nix index ce4fda5bd468..88bb67077490 100644 --- a/pkgs/development/libraries/cogl/1.22.nix +++ b/pkgs/development/libraries/cogl/1.22.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { COGL_PANGO_DEP_CFLAGS = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport) - "-I${pango}/include/pango-1.0 -I${cairo}/include/cairo"; + "-I${pango.dev}/include/pango-1.0 -I${cairo.dev}/include/cairo"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix index a4a20fce023a..e45702090665 100644 --- a/pkgs/development/libraries/cogl/default.nix +++ b/pkgs/development/libraries/cogl/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { COGL_PANGO_DEP_CFLAGS = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport) - "-I${pango}/include/pango-1.0 -I${cairo}/include/cairo"; + "-I${pango.dev}/include/pango-1.0 -I${cairo.dev}/include/cairo"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix index 059b0ab0042a..21ad12869f9c 100644 --- a/pkgs/development/libraries/cyrus-sasl/default.nix +++ b/pkgs/development/libraries/cyrus-sasl/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"; }; + outputs = [ "dev" "bin" "out" "man" "docdev" ]; + buildInputs = [ openssl db gettext kerberos ] ++ lib.optional stdenv.isFreeBSD autoreconfHook @@ -39,6 +41,12 @@ stdenv.mkDerivation rec { installFlags = lib.optional stdenv.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ]; + postInstall = '' + for f in $out/lib/*.la $out/lib/sasl2/*.la; do + substituteInPlace $f --replace "${openssl.dev}/lib" "${openssl.out}/lib" + done + ''; + meta = { homepage = "http://cyrusimap.web.cmu.edu/"; description = "library for adding authentication support to connection-based protocols"; diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix index 480dc61897bb..59d227f0e868 100644 --- a/pkgs/development/libraries/dbus-glib/default.nix +++ b/pkgs/development/libraries/dbus-glib/default.nix @@ -8,13 +8,14 @@ stdenv.mkDerivation rec { sha256 = "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; nativeBuildInputs = [ pkgconfig gettext ]; buildInputs = [ expat libiconv ]; - propagatedBuildInputs = [ dbus.libs glib ]; + propagatedBuildInputs = [ dbus glib ]; doCheck = true; diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 7f5e2f6311b2..83635d9739f1 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -1,5 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, autoreconfHook -, expat, systemd, glib, dbus_glib, python +{ stdenv, lib, fetchurl, pkgconfig, expat, systemd, glib, dbus_glib, python , libX11 ? null, libICE ? null, libSM ? null, x11Support ? (stdenv.isLinux || stdenv.isDarwin) }: assert x11Support -> libX11 != null @@ -10,108 +9,77 @@ let version = "1.8.20"; sha256 = "0fkh3d5r57a659hw9lqnw4v0bc5556vx54fsf7l9c732ci6byksw"; - inherit (stdenv) lib; - - buildInputsX = lib.optionals x11Support [ libX11 libICE libSM ]; - - # also other parts than "libs" need this statically linked lib - makeInternalLib = "(cd dbus && make libdbus-internal.la)"; - - systemdOrEmpty = lib.optional stdenv.isLinux systemd; - - # A generic builder for individual parts (subdirs) of D-Bus - dbus_drv = name: subdirs: merge: stdenv.mkDerivation (lib.mergeAttrsByFuncDefaultsClean [{ - - name = "dbus-${name}-${version}"; +self = stdenv.mkDerivation { + name = "dbus-${version}"; src = fetchurl { url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz"; inherit sha256; }; - patches = [ - ./ignore-missing-includedirs.patch - ./ucred-dirty-hack.patch - ./no-create-dirs.patch - ] - ++ lib.optional (stdenv.isSunOS || stdenv.isLinux) ./implement-getgrouplist.patch - ; - - # build only the specified subdirs - postPatch = "sed '/SUBDIRS/s/=.*/=" + subdirs + "/' -i Makefile.am\n" - # use already packaged libdbus instead of trying to build it again - + lib.optionalString (name != "libs") '' - for mfile in */Makefile.am; do - sed 's,\$(top_builddir)/dbus/\(libdbus-[0-9]\),${libs}/lib/\1,g' -i "$mfile" - done - ''; - - nativeBuildInputs = [ pkgconfig autoreconfHook ]; - propagatedBuildInputs = [ expat ]; - - preAutoreconf = '' - substituteInPlace tools/Makefile.am --replace 'install-localstatelibDATA:' 'disabled:' + patches = [ ./ignore-missing-includedirs.patch ] + ++ lib.optional stdenv.isSunOS ./implement-getgrouplist.patch; + postPatch = '' + substituteInPlace tools/Makefile.in \ + --replace 'install-localstatelibDATA:' 'disabled:' \ + --replace 'install-data-local:' 'disabled:' \ + --replace 'installcheck-local:' 'disabled:' + substituteInPlace bus/Makefile.in \ + --replace '$(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus' ':' + '' + /* cleanup of runtime references */ '' + substituteInPlace ./dbus/dbus-sysdeps-unix.c \ + --replace 'DBUS_BINDIR "/dbus-launch"' "\"$lib/bin/dbus-launch\"" + substituteInPlace ./tools/dbus-launch.c \ + --replace 'DBUS_DAEMONDIR"/dbus-daemon"' '"/run/current-system/sw/bin/dbus-daemon"' ''; - preConfigure = '' - patchShebangs . - ''; + outputs = [ "dev" "out" "lib" "doc" ]; + + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ expat ]; + buildInputs = lib.optional stdenv.isLinux systemd + ++ lib.optionals x11Support [ libX11 libICE libSM ]; + # ToDo: optional selinux? configureFlags = [ "--localstatedir=/var" "--sysconfdir=/etc" "--with-session-socket-dir=/tmp" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + # this package installs nothing into those dirs and they create a dependency + "--datadir=/run/current-system/sw/share" + "--libexecdir=$(out)/libexec" # we don't need dbus-daemon-launch-helper ] ++ lib.optional (!x11Support) "--without-x"; - enableParallelBuilding = true; - - doCheck = true; - - installFlags = "sysconfdir=$(out)/etc"; - - } merge ]); - - libs = dbus_drv "libs" "dbus" { # Enable X11 autolaunch support in libdbus. This doesn't actually depend on X11 # (it just execs dbus-launch in dbus.tools), contrary to what the configure script demands. - NIX_CFLAGS_COMPILE = "-DDBUS_ENABLE_X11_AUTOLAUNCH=1"; - buildInputs = [ systemdOrEmpty ]; - meta.platforms = stdenv.lib.platforms.all; - }; - - - attrs = rec { - # If you change much fix indentation + # problems building without x11Support so disabled in that case for now + NIX_CFLAGS_COMPILE = lib.optionalString x11Support "-DDBUS_ENABLE_X11_AUTOLAUNCH=1"; + NIX_CFLAGS_LINK = lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed"; - # This package has been split because most applications only need dbus.lib - # which serves as an interface to a *system-wide* daemon, - # see e.g. http://en.wikipedia.org/wiki/D-Bus#Architecture . + enableParallelBuilding = true; - inherit libs; + doCheck = true; - tools = dbus_drv "tools" "tools bus" { - preBuild = makeInternalLib; - buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs ]; - NIX_CFLAGS_LINK = - stdenv.lib.optionalString (!stdenv.isDarwin && !stdenv.isSunOS) "-Wl,--as-needed " - + "-ldbus-1"; + installFlags = "sysconfdir=$(out)/etc datadir=$(out)/share"; - # don't provide another dbus-1.pc (with incorrect include and link dirs), - # also remove useless empty dirs - postInstall = '' - rm "$out"/lib/pkgconfig/dbus-1.pc - rmdir --parents --ignore-fail-on-non-empty "$out"/{lib/pkgconfig,share/dbus-1/*} + # it's executed from $lib by absolute path + postFixup = '' + moveToOutput bin/dbus-launch "$lib" + ln -s "$lib/bin/dbus-launch" "$out/bin/" ''; - meta.platforms = with stdenv.lib.platforms; allBut darwin; - }; - - daemon = tools; + passthru = { + dbus-launch = "${self.lib}/bin/dbus-launch"; + daemon = self.out; + }; - docs = dbus_drv "docs" "doc" { - postInstall = ''rm -r "$out/lib"''; + meta = with stdenv.lib; { + description = "Simple interprocess messaging system"; + homepage = http://www.freedesktop.org/wiki/Software/dbus/; + license = licenses.gpl2Plus; # most is also under AFL-2.1 + platforms = platforms.unix; + }; }; -}; -in attrs.libs // attrs +in self diff --git a/pkgs/development/libraries/dbus/no-create-dirs.patch b/pkgs/development/libraries/dbus/no-create-dirs.patch deleted file mode 100644 index cf10d9775991..000000000000 --- a/pkgs/development/libraries/dbus/no-create-dirs.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/bus/Makefile.am b/bus/Makefile.am -index 6cbc09a..be60bb8 100644 ---- a/bus/Makefile.am -+++ b/bus/Makefile.am -@@ -212,7 +212,6 @@ clean-local: - /bin/rm *.bb *.bbg *.da *.gcov || true - - install-data-hook: -- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus - $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d - $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d - $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services -diff --git a/tools/Makefile.am b/tools/Makefile.am -index cfd54b8..b6e28f9 100644 ---- a/tools/Makefile.am -+++ b/tools/Makefile.am -@@ -74,7 +74,7 @@ CLEANFILES = \ - - # create the /var/lib/dbus directory for dbus-uuidgen - install-data-local: -- $(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/dbus -+ : - - installcheck-local: -- test -d $(DESTDIR)$(localstatedir)/lib/dbus -+ : diff --git a/pkgs/development/libraries/dbus/ucred-dirty-hack.patch b/pkgs/development/libraries/dbus/ucred-dirty-hack.patch deleted file mode 100644 index a07abcc15fb0..000000000000 --- a/pkgs/development/libraries/dbus/ucred-dirty-hack.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c -index b4ecc96..267984a 100644 ---- a/dbus/dbus-sysdeps-unix.c -+++ b/dbus/dbus-sysdeps-unix.c -@@ -1635,6 +1635,13 @@ write_credentials_byte (int server_fd, - } - } - -+struct ucred -+{ -+ pid_t pid; /* PID of sending process. */ -+ uid_t uid; /* UID of sending process. */ -+ gid_t gid; /* GID of sending process. */ -+}; -+ - /** - * Reads a single byte which must be nul (an error occurs otherwise), - * and reads unix credentials if available. Clears the credentials diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix index daffae90b127..009624096605 100644 --- a/pkgs/development/libraries/epoxy/default.nix +++ b/pkgs/development/libraries/epoxy/default.nix @@ -13,6 +13,8 @@ stdenv.mkDerivation rec { sha256 = "0dfkd4xbp7v5gwsf6qwaraz54yzizf3lj5ymyc0msjn0adq3j5yl"; }; + outputs = [ "dev" "out" ]; + nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python ]; buildInputs = [ mesa libX11 ]; diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index 96d46649d916..774190278cb3 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -10,8 +10,13 @@ stdenv.mkDerivation rec { patches = [ ./CVE-2015-1283.patch ]; + outputs = [ "dev" "out" ]; # TODO: fix referrers + outputBin = "dev"; + configureFlags = stdenv.lib.optional stdenv.isFreeBSD "--with-pic"; + outputMan = "dev"; # tiny page for a dev tool + meta = with stdenv.lib; { homepage = http://www.libexpat.org/; description = "A stream-oriented XML parser library written in C"; diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index d8c488d2999f..d50c20331e4a 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -71,6 +71,10 @@ stdenv.mkDerivation rec { patchPhase = ''patchShebangs .''; + outputs = [ "dev" "out" "bin" ] + ++ optional (reqMin "1.0") "doc" ; # just dev-doc + setOutputFlags = false; # doesn't accept all and stores configureFlags in libs! + configureFlags = [ # License "--enable-gpl" @@ -155,6 +159,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + postFixup = '' + moveToOutput bin "$bin" + moveToOutput share/ffmpeg/examples "$doc" + ''; + /* Cross-compilation is untested, consider this an outline, more work needs to be done to portions of the build to get it to work correctly */ crossAttrs = let diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index dfa4541e34b7..a7a02521c69c 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -14,6 +14,9 @@ stdenv.mkDerivation rec { sha256 = "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g"; }; + outputs = [ "dev" "out" "doc" ]; # it's dev-doc only + outputBin = "dev"; # fftw-wisdom + configureFlags = [ "--enable-shared" "--disable-static" "--enable-threads" diff --git a/pkgs/development/libraries/fontconfig/2.10.nix b/pkgs/development/libraries/fontconfig/2.10.nix index 2951dbb44d4f..fea9efde1cfd 100644 --- a/pkgs/development/libraries/fontconfig/2.10.nix +++ b/pkgs/development/libraries/fontconfig/2.10.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { } ; + outputs = [ "dev" "lib" "bin" "out" ]; # $out contains all the config + propagatedBuildInputs = [ freetype ]; buildInputs = [ pkgconfig expat ]; diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index b03528de2d5d..6acf1ebce29c 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -36,6 +36,8 @@ stdenv.mkDerivation rec { }) ]; + outputs = [ "dev" "lib" "bin" "out" ]; # $out contains all the config + propagatedBuildInputs = [ freetype ]; buildInputs = [ pkgconfig expat ]; @@ -65,7 +67,7 @@ stdenv.mkDerivation rec { postInstall = '' cd "$out/etc/fonts" rm conf.d/{50-user,51-local}.conf - "${libxslt}/bin/xsltproc" --stringparam fontDirectories "${fontbhttf}" \ + "${libxslt.bin}/bin/xsltproc" --stringparam fontDirectories "${fontbhttf}" \ --stringparam fontconfig "$out" \ --stringparam fontconfigConfigVersion "${configVersion}" \ --path $out/share/xml/fontconfig \ diff --git a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix index 1321948c3c81..b996cd228c77 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix +++ b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix @@ -16,7 +16,7 @@ runCommand "fc-cache" <?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> - <include>${fontconfig}/etc/fonts/fonts.conf</include> + <include>${fontconfig.out}/etc/fonts/fonts.conf</include> <cachedir>$out</cachedir> EOF cat "$fontDirsPath" >> fonts.conf diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix index 2b02e0df7a04..2d0a21ea9ddf 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix +++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix @@ -8,9 +8,9 @@ runCommand "fonts.conf" } '' xsltproc --stringparam fontDirectories "$fontDirectories" \ - --stringparam fontconfig "${fontconfig}" \ + --stringparam fontconfig "${fontconfig.out}" \ --stringparam fontconfigConfigVersion "${fontconfig.configVersion}" \ - --path ${fontconfig}/share/xml/fontconfig \ - ${./make-fonts-conf.xsl} ${fontconfig}/etc/fonts/fonts.conf \ + --path ${fontconfig.out}/share/xml/fontconfig \ + ${./make-fonts-conf.xsl} ${fontconfig.out}/etc/fonts/fonts.conf \ > $out '' diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix index 61d8cb582a01..81e98056e90b 100644 --- a/pkgs/development/libraries/freetype/default.nix +++ b/pkgs/development/libraries/freetype/default.nix @@ -35,12 +35,16 @@ stdenv.mkDerivation rec { "0wcjf9hiymplgqm3szla633i417pb57vpzzs2dyl1dnmcxgqa2y8") ]; + outputs = [ "dev" "out" ]; + propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype # dependence on harfbuzz is looser than the reverse dependence buildInputs = [ pkgconfig which ] # FreeType requires GNU Make, which is not part of stdenv on FreeBSD. ++ optional (!stdenv.isLinux) gnumake; + configureFlags = "--disable-static --bindir=$(dev)/bin"; + # from Gentoo, see https://bugzilla.redhat.com/show_bug.cgi?id=506840 NIX_CFLAGS_COMPILE = "-fno-strict-aliasing"; # The asm for armel is written with the 'asm' keyword. diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index 18562d1d12e3..756ebf816199 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -13,12 +13,17 @@ stdenv.mkDerivation rec { sha256 = "0cfh87aqyqbfcwpbv1ihgmgfcn66il5q2n8yjyl8gxkjmkqp2rrb"; }; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; + setupHook = ./setup-hook.sh; + enableParallelBuilding = true; + # !!! We might want to factor out the gdk-pixbuf-xlib subpackage. - buildInputs = [ libX11 libintlOrEmpty ]; + buildInputs = [ libX11 gobjectIntrospection ] ++ libintlOrEmpty; - nativeBuildInputs = [ pkgconfig gobjectIntrospection ]; + nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ]; @@ -34,12 +39,11 @@ stdenv.mkDerivation rec { # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB). inherit (doCheck); - postInstall = "rm -rf $out/share/gtk-doc"; - - meta = { + meta = with stdenv.lib; { description = "A library for image loading and manipulation"; homepage = http://library.gnome.org/devel/gdk-pixbuf/; - maintainers = [ stdenv.lib.maintainers.eelco ]; - platforms = stdenv.lib.platforms.unix; + maintainers = [ maintainers.eelco ]; + platforms = platforms.unix; }; } + diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix index 83becae05a4c..0c22cc9ff9fd 100644 --- a/pkgs/development/libraries/geoclue/2.0.nix +++ b/pkgs/development/libraries/geoclue/2.0.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "geoclue-2.4.2"; + name = "geoclue-2.4.3"; src = fetchurl { url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz"; - sha256 = "0g4krigdaf5ipkp4mi16rca62crr8pdk3wkhm0fxbcqnil75fyy4"; + sha256 = "0pk07k65dlw37nz8z5spksivsv5nh96xmbi336rf2yfxf2ldpadd"; }; buildInputs = diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index c96d241ee903..940df56c03c3 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { sed -i -e "s/\(am_libgettextlib_la_OBJECTS = \)error.lo/\\1/" gettext-tools/gnulib-lib/Makefile.in ''; - buildInputs = [ xz ] ++ lib.optional (!stdenv.isLinux) libiconv; + buildInputs = [ xz xz.bin libiconv ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix index fb380d60cf92..3cf429ab1d73 100644 --- a/pkgs/development/libraries/git2/default.nix +++ b/pkgs/development/libraries/git2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, http-parser, libiconv}: +{ stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, http-parser, libiconv }: stdenv.mkDerivation (rec { version = "0.23.2"; diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix index 681137cd590b..094856b66ab7 100644 --- a/pkgs/development/libraries/glfw/3.x.nix +++ b/pkgs/development/libraries/glfw/3.x.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { ]; cmakeFlags = "-DBUILD_SHARED_LIBS=ON"; + NIX_LDFLAGS= "-lpthread -L${stdenv.cc.libc.out}/lib"; meta = with stdenv.lib; { description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time"; diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix index 6bb3c8c1e5a2..fc4707aedb75 100644 --- a/pkgs/development/libraries/glib-networking/default.nix +++ b/pkgs/development/libraries/glib-networking/default.nix @@ -13,10 +13,12 @@ stdenv.mkDerivation rec { sha256 = "1cchmi08jpjypgmm9i7xzh5qfg2q5k61kry9ns8mhw3z44a440ym"; }; + outputs = [ "dev" "out" ]; # to deal with propagatedBuildInputs + configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt"; preBuild = '' - sed -e "s@${glib}/lib/gio/modules@$out/lib/gio/modules@g" -i $(find . -name Makefile) + sed -e "s@${glib.out}/lib/gio/modules@$out/lib/gio/modules@g" -i $(find . -name Makefile) ''; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 9dd927d55ced..120d398bd44d 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -31,12 +31,12 @@ let # This is intended to be run in postInstall of any package # which has $out/include/ containing just some disjunct directories. flattenInclude = '' - for dir in "$out"/include/*; do - cp -r "$dir"/* "$out/include/" + for dir in "''${!outputInclude}"/include/*; do + cp -r "$dir"/* "''${!outputInclude}/include/" rm -r "$dir" ln -s . "$dir" done - ln -sr -t "$out/include/" "$out"/lib/*/include/* 2>/dev/null || true + ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true ''; ver_maj = "2.46"; @@ -53,21 +53,22 @@ stdenv.mkDerivation rec { patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; + setupHook = ./setup-hook.sh; - buildInputs = [ libelf ] + buildInputs = [ libelf setupHook pcre ] ++ optionals doCheck [ tzdata libxml2 desktop_file_utils shared_mime_info ]; nativeBuildInputs = [ pkgconfig gettext perl python ]; - propagatedBuildInputs = [ pcre zlib libffi libiconv ] + propagatedBuildInputs = [ zlib libffi libiconv ] ++ libintlOrEmpty; - LIBELF_CFLAGS = optional stdenv.isFreeBSD "-I${libelf}"; - LIBELF_LIBS = optional stdenv.isFreeBSD "-L${libelf} -lelf"; - - configureFlags = - optional stdenv.isDarwin "--disable-compile-warnings" + # internal pcre would only add <200kB, but it's relatively common + configureFlags = [ "--with-pcre=system" ] + ++ optional stdenv.isDarwin "--disable-compile-warnings" ++ optional (stdenv.isFreeBSD || stdenv.isSunOS) "--with-libiconv=gnu" ++ optional stdenv.isSunOS "--disable-dtrace"; @@ -79,6 +80,9 @@ stdenv.mkDerivation rec { sed -i -e 's|inotify.h|foobar-inotify.h|g' configure ''; + LIBELF_CFLAGS = optional stdenv.isFreeBSD "-I${libelf}"; + LIBELF_LIBS = optional stdenv.isFreeBSD "-L${libelf} -lelf"; + preBuild = optionalString stdenv.isDarwin '' export MACOSX_DEPLOYMENT_TARGET= @@ -87,6 +91,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; DETERMINISTIC_BUILD = 1; + postInstall = '' + moveToOutput "share/glib-2.0" "$dev" + substituteInPlace "$dev/bin/gdbus-codegen" --replace "$out" "$dev" + sed -i "$dev/bin/glib-gettextize" -e "s|^gettext_dir=.*|gettext_dir=$dev/share/glib-2.0/gettext|" + ''; + inherit doCheck; preCheck = optionalString doCheck '' export LD_LIBRARY_PATH="$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH" @@ -95,7 +105,7 @@ stdenv.mkDerivation rec { export XDG_RUNTIME_HOME="$TMP" export HOME="$TMP" export XDG_DATA_DIRS="${desktop_file_utils}/share:${shared_mime_info}/share" - export G_TEST_DBUS_DAEMON="${dbus_daemon}/bin/dbus-daemon" + export G_TEST_DBUS_DAEMON="${dbus_daemon.out}/bin/dbus-daemon" substituteInPlace gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop --replace "Exec=/bin/true" "Exec=${coreutils}/bin/true" # Needs machine-id, comment the test @@ -109,8 +119,6 @@ stdenv.mkDerivation rec { sed -e '/g_subprocess_launcher_set_environ (launcher, envp);/a g_subprocess_launcher_setenv (launcher, "PATH", g_getenv("PATH"), TRUE);' -i gio/tests/gsubprocess.c ''; - postInstall = ''rm -rvf $out/share/gtk-doc''; - passthru = { gioModuleDir = "lib/gio/modules"; inherit flattenInclude; diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh index ca7e326bd02e..c5cf293902cd 100644 --- a/pkgs/development/libraries/glib/setup-hook.sh +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -1,5 +1,3 @@ -# Install gschemas, if any, in a package-specific directory -installFlagsArray+=("gsettingsschemadir=$out/share/gsettings-schemas/$name/glib-2.0/schemas/") make_glib_find_gsettings_schemas() { # For packages that need gschemas of other packages (e.g. empathy) @@ -7,17 +5,22 @@ make_glib_find_gsettings_schemas() { addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"* fi } - envHooks+=(make_glib_find_gsettings_schemas) +# Install gschemas, if any, in a package-specific directory +glibPreInstallPhase() { + installFlagsArray+=("gsettingsschemadir=${!outputLib}/share/gsettings-schemas/$name/glib-2.0/schemas/") +} +preInstallPhases+=(glibPreInstallPhase) + glibPreFixupPhase() { # Move gschemas in case the install flag didn't help - if [ -d "$out/share/glib-2.0/schemas" ]; then - mkdir -p "$out/share/gsettings-schemas/$name/glib-2.0" - mv "$out/share/glib-2.0/schemas" "$out/share/gsettings-schemas/$name/glib-2.0/" + if [ -d "${!outputLib}/share/glib-2.0/schemas" ]; then + mkdir -p "${!outputLib}/share/gsettings-schemas/$name/glib-2.0" + mv "${!outputLib}/share/glib-2.0/schemas" "${!outputLib}/share/gsettings-schemas/$name/glib-2.0/" fi - addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/share/gsettings-schemas/$name" + addToSearchPath GSETTINGS_SCHEMAS_PATH "${!outputLib}/share/gsettings-schemas/$name" } +preFixupPhases+=(glibPreFixupPhase) -preFixupPhases="$preFixupPhases glibPreFixupPhase" diff --git a/pkgs/development/libraries/glibc/builder.sh b/pkgs/development/libraries/glibc/builder.sh index d60b143a1eca..85f27c7b3559 100644 --- a/pkgs/development/libraries/glibc/builder.sh +++ b/pkgs/development/libraries/glibc/builder.sh @@ -12,8 +12,10 @@ postConfigure() { export NIX_DONT_SET_RPATH=1 unset CFLAGS -} + # Apparently --bindir is not respected. + makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin") +} postInstall() { if test -n "$installLocales"; then @@ -25,7 +27,7 @@ postInstall() { if test -n "$linuxHeaders"; then # Include the Linux kernel headers in Glibc, except the `scsi' # subdirectory, which Glibc provides itself. - (cd $out/include && \ + (cd $dev/include && \ ln -sv $(ls -d $linuxHeaders/include/* | grep -v 'scsi$') .) fi @@ -41,6 +43,16 @@ postInstall() { for i in $out/lib/*.a; do strip -S "$i" done + # Put libraries for static linking in a separate output. Note + # that libc_nonshared.a and libpthread_nonshared.a are required + # for dynamically-linked applications. + mkdir -p $static/lib + mv $out/lib/*.a $static/lib + mv $static/lib/lib*_nonshared.a $out/lib + + # Work around a Nix bug: hard links across outputs cause a build failure. + cp $bin/bin/getconf $bin/bin/getconf_ + mv $bin/bin/getconf_ $bin/bin/getconf } genericBuild diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 13d5adcd9b13..893f65c3e205 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -112,6 +112,8 @@ stdenv.mkDerivation ({ installFlags = [ "sysconfdir=$(out)/etc" ]; + outputs = [ "dev" "out" "bin" "static" ]; + buildInputs = lib.optionals (cross != null) [ gccCross ] ++ lib.optionals withGd [ gd libpng ]; diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 2630cdb127f7..80fc2ce1e93d 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -64,7 +64,7 @@ in # To avoid a dependency on the build system 'bash'. preFixup = '' - rm $out/bin/{ldd,tzselect,catchsegv,xtrace} + rm $bin/bin/{ldd,tzselect,catchsegv,xtrace} ''; } else {})) diff --git a/pkgs/development/libraries/glibc/info.nix b/pkgs/development/libraries/glibc/info.nix index 1e60856430db..84ec43e11a85 100644 --- a/pkgs/development/libraries/glibc/info.nix +++ b/pkgs/development/libraries/glibc/info.nix @@ -8,6 +8,8 @@ build null { inherit fetchurl stdenv lib; + outputs = [ "out" ]; + configureFlags = [ "--enable-add-ons" ]; buildInputs = [ texinfo perl ]; diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix index 9607d7ecb223..994390cf8290 100644 --- a/pkgs/development/libraries/glibc/locales.nix +++ b/pkgs/development/libraries/glibc/locales.nix @@ -18,6 +18,8 @@ build null { builder = ./locales-builder.sh; + outputs = [ "out" ]; + # Awful hack: `localedef' doesn't allow the path to `locale-archive' # to be overriden, but you *can* specify a prefix, i.e. it will use # <prefix>/<path-to-glibc>/lib/locale/locale-archive. So we use @@ -25,7 +27,7 @@ build null { # $TMPDIR/nix/store/...-glibc-.../lib/locale/locale-archive. buildPhase = '' - mkdir -p $TMPDIR/"$(dirname $(readlink -f $(type -p localedef)))/../lib/locale" + mkdir -p $TMPDIR/"${stdenv.cc.libc.out}/lib/locale" # Hack to allow building of the locales (needed since glibc-2.12) sed -i -e 's,^$(rtld-prefix) $(common-objpfx)locale/localedef,localedef --prefix='$TMPDIR',' ../glibc-2*/localedata/Makefile diff --git a/pkgs/development/libraries/glibc/multi.nix b/pkgs/development/libraries/glibc/multi.nix index b5b4eabe9c74..0d7bed99f22f 100644 --- a/pkgs/development/libraries/glibc/multi.nix +++ b/pkgs/development/libraries/glibc/multi.nix @@ -3,32 +3,26 @@ let nameVersion = builtins.parseDrvName glibc.name; + glibc64 = glibc; in runCommand "${nameVersion.name}-multi-${nameVersion.version}" - { inherit glibc32; - glibc64 = glibc; - } + { outputs = [ "dev" "out" "bin" ]; } # TODO: no static version here (yet) '' - mkdir -p $out - ln -s $glibc64/* $out/ - - rm $out/lib $out/lib64 - mkdir -p $out/lib - ln -s $glibc64/lib/* $out/lib - ln -s $glibc32/lib $out/lib/32 - ln -s lib $out/lib64 + mkdir -p "$out/lib" + ln -s '${glibc64.out}'/lib/* "$out/lib" + ln -s '${glibc32.out}/lib' "$out/lib/32" + ln -s lib "$out/lib64" # fixing ldd RLTDLIST - rm $out/bin - cp -rs $glibc64/bin $out - chmod u+w $out/bin - rm $out/bin/ldd + mkdir -p "$bin/bin" + cp -s '${glibc64.bin}'/bin/* "$bin/bin/" + rm "$bin/bin/ldd" sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-linux-x86-64.so.2 $out/lib/32/ld-linux.so.2\"|g" \ - $glibc64/bin/ldd > $out/bin/ldd - chmod 555 $out/bin/ldd + '${glibc64.bin}/bin/ldd' > "$bin/bin/ldd" + chmod +x "$bin/bin/ldd" - rm $out/include - cp -rs $glibc32/include $out - chmod -R u+w $out/include - cp -rsf $glibc64/include $out + mkdir "$dev" + cp -rs '${glibc32}'/include "$dev/" + chmod +w -R "$dev" + cp -rsf '${glibc64}'/include "$dev/" '' diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix index 6564fc511867..ee81aec07976 100644 --- a/pkgs/development/libraries/gmime/default.nix +++ b/pkgs/development/libraries/gmime/default.nix @@ -8,9 +8,13 @@ stdenv.mkDerivation rec { sha256 = "0rfzbgsh8ira5p76kdghygl5i3fvmmx4wbw5rp7f8ajc4vxp18g0"; }; + outputs = [ "dev" "out" ]; + nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ glib zlib libgpgerror ]; + enableParallelBuilding = true; + meta = { homepage = http://spruce.sourceforge.net/gmime/; description = "A C/C++ library for manipulating MIME messages"; diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix index 7b393067ff52..0768df60a794 100644 --- a/pkgs/development/libraries/gmp/5.1.x.nix +++ b/pkgs/development/libraries/gmp/5.1.x.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { sha256 = "0q5i39pxrasgn9qdxzpfbwhh11ph80p57x6hf48m74261d97j83m"; }; + outputs = [ "out" "info" ]; + nativeBuildInputs = [ m4 ]; patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null; diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index 5025557458cd..a7443c02c5b6 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl, m4, cxx ? true, withStatic ? true }: +{ stdenv, fetchurl, m4, cxx ? true, withStatic ? false }: with { inherit (stdenv.lib) optional optionalString; }; -stdenv.mkDerivation rec { +let self = stdenv.mkDerivation rec { name = "gmp-6.1.0"; src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv @@ -10,6 +10,12 @@ stdenv.mkDerivation rec { sha256 = "1s3kddydvngqrpc6i1vbz39raya2jdcl042wi0ksbszgjjllk129"; }; + #outputs TODO: split $cxx due to libstdc++ dependency; maybe port to gmp5; + # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added + # - see #5855 for related discussion + outputs = [ "dev" "out" "info" ]; + passthru.static = self.out; + nativeBuildInputs = [ m4 ]; configureFlags = @@ -69,4 +75,5 @@ stdenv.mkDerivation rec { platforms = platforms.all; maintainers = [ maintainers.simons ]; }; -} +}; + in self diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix index e51b77eb5b07..b54ea52b880b 100644 --- a/pkgs/development/libraries/gnutls/generic.nix +++ b/pkgs/development/libraries/gnutls/generic.nix @@ -13,7 +13,8 @@ stdenv.mkDerivation { inherit src patches postPatch; - outputs = [ "out" "man" ]; + outputs = [ "dev" "out" "bin" "man" "docdev" ]; + outputInfo = "docdev"; configureFlags = lib.optional stdenv.isLinux "--with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt" @@ -34,8 +35,6 @@ stdenv.mkDerivation { ++ [ unbound ] ++ lib.optional guileBindings guile; - # AutoreconfHook is temporary until the patch lands upstream to fix - # header file generation with parallel building nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs; # XXX: Gnulib's `test-select' fails on FreeBSD: @@ -45,9 +44,10 @@ stdenv.mkDerivation { # Fixup broken libtool and pkgconfig files preFixup = lib.optionalString (!stdenv.isDarwin) '' sed ${lib.optionalString tpmSupport "-e 's,-ltspi,-L${trousers}/lib -ltspi,'"} \ - -e 's,-lz,-L${zlib}/lib -lz,' \ - -e 's,-lgmp,-L${gmp}/lib -lgmp,' \ - -i $out/lib/libgnutls.la $out/lib/pkgconfig/gnutls.pc + -e 's,-lz,-L${zlib.out}/lib -lz,' \ + -e 's,-L${gmp.dev}/lib,-L${gmp.out}/lib,' \ + -e 's,-lgmp,-L${gmp.out}/lib -lgmp,' \ + -i $out/lib/*.la "$dev/lib/pkgconfig/gnutls.pc" ''; meta = with lib; { diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index e13ce337f388..47ccb17e4845 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -19,20 +19,21 @@ stdenv.mkDerivation rec { sha256 = "6658bd3c2b8813eb3e2511ee153238d09ace9d309e4574af27443d87423e4233"; }; - buildInputs = [ flex bison pkgconfig python ] + outputs = [ "dev" "out" ]; + outputBin = "dev"; + outputMan = "dev"; # tiny pages + + buildInputs = [ flex bison pkgconfig python setupHook/*move .gir*/ ] ++ libintlOrEmpty ++ stdenv.lib.optional stdenv.isDarwin cctools; propagatedBuildInputs = [ libffi glib ]; - # The '--disable-tests' flag is no longer recognized, so can be safely removed - # next time this package changes. - configureFlags = [ "--disable-tests" ]; - preConfigure = '' sed 's|/usr/bin/env ||' -i tools/g-ir-tool-template.in ''; - postInstall = "rm -rf $out/share/gtk-doc"; + # outputs TODO: share/gobject-introspection-1.0/tests is needed during build + # by pygobject3 (and maybe others), but it's only searched in $out setupHook = ./setup-hook.sh; diff --git a/pkgs/development/libraries/gobject-introspection/setup-hook.sh b/pkgs/development/libraries/gobject-introspection/setup-hook.sh index d411ad69dc43..583d8475ec3b 100644 --- a/pkgs/development/libraries/gobject-introspection/setup-hook.sh +++ b/pkgs/development/libraries/gobject-introspection/setup-hook.sh @@ -12,3 +12,10 @@ make_gobject_introspection_find_gir_files() { } envHooks+=(make_gobject_introspection_find_gir_files) + +_multioutMoveGlibGir() { + moveToOutput share/gir-1.0 "${!outputDev}" +} + +preFixupHooks+=(_multioutMoveGlibGir) + diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 4572387e2252..c60311423233 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -16,6 +16,9 @@ stdenv.mkDerivation rec { sha256 = "17892sclz3yg45wbyqqrzzpq3l0icbnfl28f101b3062g8cy97dh"; }; + outputs = [ "dev" "out" "info" ]; + outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool + propagatedBuildInputs = [ libgpgerror glib libassuan pth ]; nativeBuildInputs = [ pkgconfig gnupg ]; @@ -25,11 +28,11 @@ stdenv.mkDerivation rec { "--enable-fixed-path=${gpgStorePath}/bin" ]; - meta = { + meta = with stdenv.lib; { homepage = "http://www.gnupg.org/related_software/gpgme"; description = "Library for making GnuPG easier to use"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.fuuzetsu ]; }; } diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 81e5726fa946..3118caffb11a 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -1,4 +1,4 @@ -{ callPackage }: +{ callPackage, libva-full }: rec { gstreamer = callPackage ./core { }; @@ -21,7 +21,10 @@ rec { # (Non Linear Engine). gst-editing-services = callPackage ./ges { inherit gnonlin; }; - gst-vaapi = callPackage ./vaapi { inherit gst-plugins-base gstreamer gst-plugins-bad; }; + gst-vaapi = callPackage ./vaapi { + inherit gst-plugins-base gstreamer gst-plugins-bad; + libva = libva-full; # looks also for libva-{x11,wayland} + }; gst-validate = callPackage ./validate { inherit gst-plugins-base; }; } diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix index dc39bddc232f..191c1f6b0f2c 100644 --- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix +++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, pkgconfig, gst_plugins_base, aalib, cairo , flac, libjpeg, zlib, speex, libpng, libdv, libcaca, libvpx , libiec61883, libavc1394, taglib, libpulseaudio, gdk_pixbuf, orc -, glib, gstreamer, bzip2, libsoup, libshout, libintlOrEmpty +, glib, gstreamer, bzip2, libsoup, libshout, ncurses, libintlOrEmpty , # Whether to build no plugins that have external dependencies # (except the PulseAudio plugin). minimalDeps ? false @@ -34,6 +34,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + postInstall = '' + substituteInPlace $out/lib/gstreamer-0.10/libgstaasink.la \ + --replace "${ncurses.dev}/lib" "${ncurses.out}/lib" + ''; + meta = { homepage = http://gstreamer.freedesktop.org; diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix index 015aa4e07f5d..bf061b4125b5 100644 --- a/pkgs/development/libraries/gstreamer/vaapi/default.nix +++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gst-plugins-base, bzip2, libva +{ stdenv, fetchurl, pkgconfig, gst-plugins-base, bzip2, libva, wayland , libdrm, udev, xorg, mesa, yasm, gstreamer, gst-plugins-bad, nasm , libvpx }: @@ -14,8 +14,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = with stdenv.lib; [ pkgconfig bzip2 ]; - buildInputs = with stdenv.lib; [ gstreamer gst-plugins-base gst-plugins-bad libva libdrm udev - xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM xorg.libICE mesa nasm libvpx ]; + buildInputs = [ + gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev + xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM xorg.libICE mesa nasm libvpx + ]; preConfigure = " export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0 diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index 8830e1425b68..d4d4cddb4023 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -15,11 +15,16 @@ stdenv.mkDerivation rec { sha256 = "1f1ifv1ijrda4jx831l24d3ww65v5gf56r464fi11n6k02bcah87"; }; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; + enableParallelBuilding = true; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (libintlOrEmpty != []) "-lintl"; - nativeBuildInputs = [ perl pkgconfig gettext ]; + setupHook = ./setup-hook.sh; + + nativeBuildInputs = [ setupHook perl pkgconfig gettext ]; propagatedBuildInputs = with xorg; with stdenv.lib; [ glib cairo pango gdk_pixbuf atk ] @@ -35,7 +40,9 @@ stdenv.mkDerivation rec { then "--disable-glibtest --disable-introspection --disable-visibility" else "--with-xinput=yes"; - postInstall = "rm -rf $out/share/gtk-doc"; + postInstall = '' + moveToOutput share/gtk-2.0/demo "$docdev" + ''; passthru = { gtkExeEnvPostBuild = '' diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index f738f76ca029..a2da4c7b0339 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -1,12 +1,11 @@ { stdenv, fetchurl, pkgconfig, gettext, perl , expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, gobjectIntrospection -, xlibs, x11, wayland, libxkbcommon, epoxy +, xorg, wayland, epoxy, json_glib, libxkbcommon, gmp , xineramaSupport ? stdenv.isLinux , cupsSupport ? stdenv.isLinux, cups ? null , darwin }: -assert xineramaSupport -> xlibs.libXinerama != null; assert cupsSupport -> cups != null; with stdenv.lib; @@ -24,17 +23,22 @@ stdenv.mkDerivation rec { sha256 = "107aeb9a4244ce3c044becdd6dffc32d83202595181597180d4c736302a71852"; }; + outputs = [ "dev" "out" ]; + outputBin = "dev"; + nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ]; - buildInputs = [ libxkbcommon epoxy ]; - propagatedBuildInputs = with xlibs; with stdenv.lib; - [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk libXrandr libXrender libXcomposite libXi libXcursor ] + buildInputs = [ libxkbcommon epoxy json_glib ]; + propagatedBuildInputs = with xorg; with stdenv.lib; + [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk + libXrandr libXrender libXcomposite libXi libXcursor libSM libICE ] ++ optionals stdenv.isLinux [ wayland ] ++ optional stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Cocoa ]) ++ optional xineramaSupport libXinerama ++ optional cupsSupport cups; + #TODO: colord? - NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; # demos fail to install, no idea where's the problem preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in"; @@ -49,7 +53,10 @@ stdenv.mkDerivation rec { "--enable-quartz-backend" ]; - postInstall = "rm -rf $out/share/gtk-doc"; + postInstall = '' + substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \ + --replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib' + ''; passthru = { gtkExeEnvPostBuild = '' @@ -58,7 +65,7 @@ stdenv.mkDerivation rec { ''; # workaround for bug of nix-mode for Emacs */ ''; }; - meta = { + meta = with stdenv.lib; { description = "A multi-platform toolkit for creating graphical user interfaces"; longDescription = '' @@ -74,9 +81,9 @@ stdenv.mkDerivation rec { homepage = http://www.gtk.org/; - license = stdenv.lib.licenses.lgpl2Plus; + license = licenses.lgpl2Plus; - maintainers = with stdenv.lib.maintainers; [ urkud raskin vcunat lethalman ]; - platforms = stdenv.lib.platforms.all; + maintainers = with maintainers; [ urkud raskin vcunat lethalman ]; + platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/gtk+/setup-hook.sh b/pkgs/development/libraries/gtk+/setup-hook.sh new file mode 100644 index 000000000000..c2b0ab502db7 --- /dev/null +++ b/pkgs/development/libraries/gtk+/setup-hook.sh @@ -0,0 +1,10 @@ +fixupOutputHooks+=(_gtk2CleanComments) + +# Clean comments that link to generator of the file +_gtk2CleanComments() { + local f="$prefix/lib/gtk-2.0/2.10.0/immodules.cache" + if [ -f "$f" ]; then + sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f" + fi +} + diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix index 6145c8c49477..45f5217d3c91 100644 --- a/pkgs/development/libraries/gupnp/default.nix +++ b/pkgs/development/libraries/gupnp/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { postInstall = '' ln -sv ${libsoup}/include/*/libsoup $out/include - ln -sv ${libxml2}/include/*/libxml $out/include + ln -sv ${libxml2.dev}/include/*/libxml $out/include ln -sv ${gssdp}/include/*/libgssdp $out/include ''; diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index d2a958faed8b..37403f50e2b1 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool libtool ]; buildInputs = - [ makeWrapper glib dbus.libs udev libgudev udisks2 libgcrypt + [ makeWrapper glib dbus udev libgudev udisks2 libgcrypt libgphoto2 avahi libarchive fuse libcdio libxml2 libxslt docbook_xsl samba libmtp # ToDo: a ligther version of libsoup to have FTP/HTTP support? diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index d2546ebd496d..2d84b1e73a82 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -1,38 +1,49 @@ { stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintlOrEmpty -, icu, graphite2 +, icu, graphite2, harfbuzz # The icu variant uses and propagates the non-icu one. , withIcu ? false # recommended by upstream as default, but most don't needed and it's big , withGraphite2 ? true # it is small and major distros do include it }: -# TODO: split non-icu and icu lib into different outputs? -# (icu is a ~30 MB dependency, the rest is very small in comparison) +let + version = "1.1.2"; + inherit (stdenv.lib) optional optionals optionalString; +in -stdenv.mkDerivation rec { - name = "harfbuzz-1.1.2"; +stdenv.mkDerivation { + name = "harfbuzz${optionalString withIcu "-icu"}-${version}"; src = fetchurl { - url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2"; + url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2"; sha256 = "07s6z3hbrb4rdfgzmln169wxz4nm5y7qbr02ik5c7drxpn85fb2a"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" ]; + outputBin = "dev"; configureFlags = [ ( "--with-graphite2=" + (if withGraphite2 then "yes" else "no") ) # not auto-detected by default ( "--with-icu=" + (if withIcu then "yes" else "no") ) ]; - buildInputs = [ pkgconfig glib freetype cairo ] # recommended by upstream + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ glib freetype cairo ] # recommended by upstream ++ libintlOrEmpty; propagatedBuildInputs = [] - ++ stdenv.lib.optional withGraphite2 graphite2 - ++ stdenv.lib.optional withIcu icu + ++ optional withGraphite2 graphite2 + ++ optionals withIcu [ icu harfbuzz ] ; - meta = { + # Slightly hacky; some pkgs expect them in a single directory. + postInstall = optionalString withIcu '' + rm "$out"/lib/libharfbuzz.* "$dev/lib/pkgconfig/harfbuzz.pc" + ln -s {'${harfbuzz.out}',"$out"}/lib/libharfbuzz.la + ln -s {'${harfbuzz.dev}',"$dev"}/lib/pkgconfig/harfbuzz.pc + ''; + + meta = with stdenv.lib; { description = "An OpenType text shaping engine"; homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz; - maintainers = [ stdenv.lib.maintainers.eelco ]; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + maintainers = [ maintainers.eelco ]; + platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix index 98f6511f3917..0d0ff38fb47f 100644 --- a/pkgs/development/libraries/hunspell/default.nix +++ b/pkgs/development/libraries/hunspell/default.nix @@ -8,8 +8,10 @@ stdenv.mkDerivation rec { sha256 = "0v14ff9s37vkh45diaddndcrj0hmn67arh8xh8k79q9c1vgc1cm7"; }; - propagatedBuildInputs = [ ncurses readline ]; - configureFlags = "--with-ui --with-readline"; + outputs = [ "dev" "out" "bin" "man" ]; + + buildInputs = [ ncurses readline ]; + configureFlags = [ "--with-ui" "--with-readline" ]; meta = with stdenv.lib; { homepage = http://hunspell.sourceforge.net; diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix index 224e9302baa6..d2604b03f74f 100644 --- a/pkgs/development/libraries/icu/default.nix +++ b/pkgs/development/libraries/icu/default.nix @@ -13,6 +13,9 @@ stdenv.mkDerivation ({ sha256 = "05j86714qaj0lvhvyr2s1xncw6sk0h2dcghb3iiwykbkbh8fjr1s"; }; + outputs = [ "dev" "out" ]; + outputBin = "dev"; + makeFlags = stdenv.lib.optionalString stdenv.isDarwin "CXXFLAGS=-headerpad_max_install_names"; @@ -37,6 +40,8 @@ stdenv.mkDerivation ({ sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc ''; + postFixup = ''moveToOutput lib/icu "$dev" ''; + enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix index 40d54ed400a3..50bebca6b312 100644 --- a/pkgs/development/libraries/jasper/default.nix +++ b/pkgs/development/libraries/jasper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, xorg, libjpeg }: +{ stdenv, fetchurl, unzip, libjpeg, autoreconfHook }: stdenv.mkDerivation rec { name = "jasper-1.900.1"; @@ -18,11 +18,16 @@ stdenv.mkDerivation rec { ./jasper-CVE-2014-9029.diff ]; - nativeBuildInputs = [unzip]; + # newer reconf to recognize a multiout flag + nativeBuildInputs = [ unzip autoreconfHook ]; propagatedBuildInputs = [ libjpeg ]; configureFlags = "--enable-shared"; + outputs = [ "dev" "out" "man" "bin" ]; + + enableParallelBuilding = true; + meta = { homepage = https://www.ece.uvic.ca/~frodo/jasper/; description = "JPEG2000 Library"; diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix index ad425f2a3812..d5e0694e0516 100644 --- a/pkgs/development/libraries/json-c/default.nix +++ b/pkgs/development/libraries/json-c/default.nix @@ -9,11 +9,13 @@ stdenv.mkDerivation rec { patches = [ ./unused-variable.patch ]; - buildInputs = [ autoreconfHook ]; # won't configure without it, no idea why + outputs = [ "dev" "out" ]; + + nativeBuildInputs = [ autoreconfHook ]; # won't configure without it, no idea why # compatibility hack (for mypaint at least) postInstall = '' - ln -s json-c.pc "$out/lib/pkgconfig/json.pc" + ln -s json-c.pc "$dev/lib/pkgconfig/json.pc" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/kde-frameworks-5.19/attica.nix b/pkgs/development/libraries/kde-frameworks-5.19/attica.nix new file mode 100644 index 000000000000..98721876c120 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/attica.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "attica"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/baloo.nix b/pkgs/development/libraries/kde-frameworks-5.19/baloo.nix new file mode 100644 index 000000000000..38c41d9271d8 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/baloo.nix @@ -0,0 +1,25 @@ +{ kdeFramework, lib, extra-cmake-modules, kauth, kconfig +, kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, kidletime +, kio, lmdb, makeQtWrapper, qtbase, qtquick1, solid +}: + +kdeFramework { + name = "baloo"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + buildInputs = [ + kconfig kcrash kdbusaddons lmdb qtquick1 solid + ]; + propagatedBuildInputs = [ + kauth kcoreaddons kfilemetadata ki18n kio kidletime qtbase + ]; + postInstall = '' + wrapQtProgram "$out/bin/baloo_file" + wrapQtProgram "$out/bin/baloo_file_extractor" + wrapQtProgram "$out/bin/balooctl" + wrapQtProgram "$out/bin/baloosearch" + wrapQtProgram "$out/bin/balooshow" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix b/pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix new file mode 100644 index 000000000000..f981b0516f72 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib +, extra-cmake-modules +, qtdeclarative +}: + +kdeFramework { + name = "bluez-qt"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ qtdeclarative ]; + preConfigure = '' + substituteInPlace CMakeLists.txt \ + --replace /lib/udev/rules.d "$out/lib/udev/rules.d" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix new file mode 100644 index 000000000000..44cc99daf261 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix @@ -0,0 +1,10 @@ +{ kdeFramework +, extra-cmake-modules +, qtsvg +}: + +kdeFramework { + name = "breeze-icons"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ qtsvg ]; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/default.nix new file mode 100644 index 000000000000..bb96048d6ff5 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/default.nix @@ -0,0 +1,114 @@ +# Maintainer's Notes: +# +# How To Update +# 1. Edit the URL in ./manifest.sh +# 2. Run ./manifest.sh +# 3. Fix build errors. + +{ pkgs, debug ? false }: + +let + + inherit (pkgs) lib makeSetupHook stdenv; + + mirror = "mirror://kde"; + srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; + + packages = self: with self; { + kdeFramework = args: + let + inherit (args) name; + inherit (srcs."${name}") src version; + in stdenv.mkDerivation (args // { + name = "${name}-${version}"; + inherit src; + + outputs = args.outputs or [ "dev" "out" ]; + + cmakeFlags = + (args.cmakeFlags or []) + ++ [ "-DBUILD_TESTING=OFF" ] + ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; + + meta = { + license = with lib.licenses; [ + lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 + ]; + platforms = lib.platforms.linux; + homepage = "http://www.kde.org"; + } // (args.meta or {}); + }); + + attica = callPackage ./attica.nix {}; + baloo = callPackage ./baloo.nix {}; + bluez-qt = callPackage ./bluez-qt.nix {}; + breeze-icons = callPackage ./breeze-icons.nix {}; + extra-cmake-modules = callPackage ./extra-cmake-modules {}; + frameworkintegration = callPackage ./frameworkintegration.nix {}; + kactivities = callPackage ./kactivities.nix {}; + kapidox = callPackage ./kapidox.nix {}; + karchive = callPackage ./karchive.nix {}; + kauth = callPackage ./kauth {}; + kbookmarks = callPackage ./kbookmarks.nix {}; + kcmutils = callPackage ./kcmutils {}; + kcodecs = callPackage ./kcodecs.nix {}; + kcompletion = callPackage ./kcompletion.nix {}; + kconfig = callPackage ./kconfig.nix {}; + kconfigwidgets = callPackage ./kconfigwidgets {}; + kcoreaddons = callPackage ./kcoreaddons.nix {}; + kcrash = callPackage ./kcrash.nix {}; + kdbusaddons = callPackage ./kdbusaddons.nix {}; + kdeclarative = callPackage ./kdeclarative.nix {}; + kded = callPackage ./kded.nix {}; + kdelibs4support = callPackage ./kdelibs4support {}; + kdesignerplugin = callPackage ./kdesignerplugin.nix {}; + kdewebkit = callPackage ./kdewebkit.nix {}; + kdesu = callPackage ./kdesu.nix {}; + kdnssd = callPackage ./kdnssd.nix {}; + kdoctools = callPackage ./kdoctools {}; + kemoticons = callPackage ./kemoticons.nix {}; + kfilemetadata = callPackage ./kfilemetadata {}; + kglobalaccel = callPackage ./kglobalaccel.nix {}; + kguiaddons = callPackage ./kguiaddons.nix {}; + khtml = callPackage ./khtml.nix {}; + ki18n = callPackage ./ki18n.nix {}; + kiconthemes = callPackage ./kiconthemes {}; + kidletime = callPackage ./kidletime.nix {}; + kimageformats = callPackage ./kimageformats.nix {}; + kinit = callPackage ./kinit {}; + kio = callPackage ./kio {}; + kitemmodels = callPackage ./kitemmodels.nix {}; + kitemviews = callPackage ./kitemviews.nix {}; + kjobwidgets = callPackage ./kjobwidgets.nix {}; + kjs = callPackage ./kjs.nix {}; + kjsembed = callPackage ./kjsembed.nix {}; + kmediaplayer = callPackage ./kmediaplayer.nix {}; + knewstuff = callPackage ./knewstuff.nix {}; + knotifications = callPackage ./knotifications.nix {}; + knotifyconfig = callPackage ./knotifyconfig.nix {}; + kpackage = callPackage ./kpackage {}; + kparts = callPackage ./kparts.nix {}; + kpeople = callPackage ./kpeople.nix {}; + kplotting = callPackage ./kplotting.nix {}; + kpty = callPackage ./kpty.nix {}; + kross = callPackage ./kross.nix {}; + krunner = callPackage ./krunner.nix {}; + kservice = callPackage ./kservice {}; + ktexteditor = callPackage ./ktexteditor {}; + ktextwidgets = callPackage ./ktextwidgets.nix {}; + kunitconversion = callPackage ./kunitconversion.nix {}; + kwallet = callPackage ./kwallet.nix {}; + kwidgetsaddons = callPackage ./kwidgetsaddons.nix {}; + kwindowsystem = callPackage ./kwindowsystem.nix {}; + kxmlgui = callPackage ./kxmlgui.nix {}; + kxmlrpcclient = callPackage ./kxmlrpcclient.nix {}; + modemmanager-qt = callPackage ./modemmanager-qt.nix {}; + networkmanager-qt = callPackage ./networkmanager-qt.nix {}; + oxygen-icons5 = callPackage ./oxygen-icons5.nix {}; + plasma-framework = callPackage ./plasma-framework {}; + solid = callPackage ./solid.nix {}; + sonnet = callPackage ./sonnet.nix {}; + threadweaver = callPackage ./threadweaver.nix {}; + }; + +in packages diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix new file mode 100644 index 000000000000..1c2ea70442d3 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix @@ -0,0 +1,20 @@ +{ kdeFramework, lib, copyPathsToStore, cmake, pkgconfig, qttools }: + +kdeFramework { + name = "extra-cmake-modules"; + + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + + outputs = [ "out" ]; # this package has no runtime components + setupHook = ./setup-hook.sh; + + # It is OK to propagate these inputs as long as + # extra-cmake-modules is never a propagated input + # of some other derivation. + propagatedNativeBuildInputs = [ cmake pkgconfig qttools ]; + + meta = with lib; { + license = licenses.bsd2; + maintainers = [ maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/nix-lib-path.patch b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/nix-lib-path.patch new file mode 100644 index 000000000000..a74340a6dc96 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/nix-lib-path.patch @@ -0,0 +1,37 @@ +Index: extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake +=================================================================== +--- extra-cmake-modules-5.18.0.orig/kde-modules/KDEInstallDirs.cmake ++++ extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake +@@ -200,32 +200,6 @@ + # GNUInstallDirs code deals with re-configuring, but that is dealt with + # by the _define_* macros in this module). + set(_LIBDIR_DEFAULT "lib") +-# Override this default 'lib' with 'lib64' iff: +-# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling +-# - we are NOT on debian +-# - we are on a 64 bits system +-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf +-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if +-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu" +-# See http://wiki.debian.org/Multiarch +-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") +- AND NOT CMAKE_CROSSCOMPILING) +- if (EXISTS "/etc/debian_version") # is this a debian system ? +- if(CMAKE_LIBRARY_ARCHITECTURE) +- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") +- endif() +- else() # not debian, rely on CMAKE_SIZEOF_VOID_P: +- if(NOT DEFINED CMAKE_SIZEOF_VOID_P) +- message(AUTHOR_WARNING +- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. " +- "Please enable at least one language before including KDEInstallDirs.") +- else() +- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") +- set(_LIBDIR_DEFAULT "lib64") +- endif() +- endif() +- endif() +-endif() + + set(_gnu_install_dirs_vars + BINDIR diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/series b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/series new file mode 100644 index 000000000000..b4569e50a5f7 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/series @@ -0,0 +1 @@ +nix-lib-path.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh new file mode 100644 index 000000000000..56ed09f4ea59 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh @@ -0,0 +1,81 @@ +_ecmSetXdgDirs() { + addToSearchPathOnce XDG_DATA_DIRS "$1/share" + addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg" + addToSearchPathOnce NIX_WRAP_XDG_CONFIG_DIRS "$1/etc/xdg" +} + +_ecmPropagateSharedData() { + local sharedPaths=( \ + "config.cfg" \ + "doc" \ + "kconf_update" \ + "kservices5" \ + "kservicetypes5" \ + "kxmlgui5" \ + "knotifications5" \ + "icons" \ + "sounds" \ + "templates" \ + "wallpapers" \ + "applications" \ + "desktop-directories" \ + "mime" \ + "info" \ + "dbus-1" \ + "interfaces" \ + "services" \ + "system-services" ) + for dir in ${sharedPaths[@]}; do + if [ -d "$1/share/$dir" ]; then + addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share" + propagateOnce propagatedUserEnvPkgs "$1" + break + fi + done +} + +_ecmConfig() { + # Because we need to use absolute paths here, we must set *all* the paths. + cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}" + cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin" + cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" + cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib" + cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec" + cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" + cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins" + cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins" + cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports" + cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml" + cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" + cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" + cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share" + cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share" + cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML" + cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg" + cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update" + cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5" + cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5" + cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5" + cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5" + cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons" + cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" + cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds" + cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates" + cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers" + cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications" + cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories" + cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages" + cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata" + cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man" + cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info" + cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1" + cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces" + cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services" + cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services" + cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc" + cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg" + cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart" +} + +envHooks+=(_ecmSetXdgDirs _ecmPropagateSharedData) +preConfigureHooks+=(_ecmConfig) diff --git a/pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh b/pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh new file mode 100755 index 000000000000..7937e6f8bed9 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh @@ -0,0 +1,57 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p coreutils findutils gnused nix wget + +set -x + +# The trailing slash at the end is necessary! +RELEASE_URL="http://download.kde.org/stable/frameworks/5.19/" +EXTRA_WGET_ARGS='-A *.tar.xz' + +mkdir tmp; cd tmp + +rm -f ../srcs.csv + +wget -nH -r -c --no-parent $RELEASE_URL $EXTRA_WGET_ARGS + +find . | while read src; do + if [[ -f "${src}" ]]; then + # Sanitize file name + filename=$(basename "$src" | tr '@' '_') + nameVersion="${filename%.tar.*}" + name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,') + version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,') + echo "$name,$version,$src,$filename" >>../srcs.csv + fi +done + +cat >../srcs.nix <<EOF +# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh +{ fetchurl, mirror }: + +{ +EOF + +gawk -F , "{ print \$1 }" ../srcs.csv | sort | uniq | while read name; do + versions=$(gawk -F , "/^$name,/ { print \$2 }" ../srcs.csv) + latestVersion=$(echo "$versions" | sort -rV | head -n 1) + src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" ../srcs.csv) + filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" ../srcs.csv) + url="${src:2}" + sha256=$(nix-hash --type sha256 --base32 --flat "$src") + cat >>../srcs.nix <<EOF + $name = { + version = "$latestVersion"; + src = fetchurl { + url = "\${mirror}/$url"; + sha256 = "$sha256"; + name = "$filename"; + }; + }; +EOF +done + +echo "}" >>../srcs.nix + +rm -f ../srcs.csv + +cd .. diff --git a/pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix b/pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix new file mode 100644 index 000000000000..26987c385ad5 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, extra-cmake-modules, kbookmarks, kcompletion +, kconfig, kconfigwidgets, ki18n, kiconthemes, kio, knotifications +, kwidgetsaddons, libXcursor, qtx11extras +}: + +kdeFramework { + name = "frameworkintegration"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kbookmarks kcompletion kconfig knotifications kwidgetsaddons + libXcursor + ]; + propagatedBuildInputs = [ kconfigwidgets ki18n kio kiconthemes qtx11extras ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix b/pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix new file mode 100644 index 000000000000..3225098f4398 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix @@ -0,0 +1,22 @@ +{ kdeFramework, lib, extra-cmake-modules, boost, kcmutils, kconfig +, kcoreaddons, kdbusaddons, kdeclarative, kglobalaccel, ki18n +, kio, kservice, kwindowsystem, kxmlgui, makeQtWrapper, qtdeclarative +}: + +kdeFramework { + name = "kactivities"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + buildInputs = [ + boost kcmutils kconfig kcoreaddons kdbusaddons kservice + kxmlgui + ]; + propagatedBuildInputs = [ + kdeclarative kglobalaccel ki18n kio kwindowsystem qtdeclarative + ]; + postInstall = '' + wrapQtProgram "$out/bin/kactivitymanagerd" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix b/pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix new file mode 100644 index 000000000000..647be8f052c3 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix @@ -0,0 +1,12 @@ +{ kdeFramework, lib +, extra-cmake-modules +, python +}: + +kdeFramework { + name = "kapidox"; + nativeBuildInputs = [ extra-cmake-modules python ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/karchive.nix b/pkgs/development/libraries/kde-frameworks-5.19/karchive.nix new file mode 100644 index 000000000000..a8d9a0003c3b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/karchive.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "karchive"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kauth/cmake-install-paths.patch b/pkgs/development/libraries/kde-frameworks-5.19/kauth/cmake-install-paths.patch new file mode 100644 index 000000000000..c66f5ecd008f --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kauth/cmake-install-paths.patch @@ -0,0 +1,17 @@ +Index: kauth-5.18.0/KF5AuthConfig.cmake.in +=================================================================== +--- kauth-5.18.0.orig/KF5AuthConfig.cmake.in ++++ kauth-5.18.0/KF5AuthConfig.cmake.in +@@ -4,9 +4,9 @@ set(KAUTH_STUB_FILES_DIR "@PACKAGE_KDE_I + + set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@") + set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@") +-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@") +-set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@") +-set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@") ++set(KAUTH_POLICY_FILES_INSTALL_DIR "${KDE_INSTALL_DATADIR}/polkit-1/actions") ++set(KAUTH_HELPER_INSTALL_DIR "${KDE_INSTALL_LIBEXECDIR}") ++set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "${KDE_INSTALL_LIBEXECDIR}") + + find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@") + diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix new file mode 100644 index 000000000000..1352d8c5821f --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib, copyPathsToStore +, extra-cmake-modules +, kcoreaddons +, polkit-qt +}: + +kdeFramework { + name = "kauth"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ polkit-qt ]; + propagatedBuildInputs = [ kcoreaddons ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kauth/series b/pkgs/development/libraries/kde-frameworks-5.19/kauth/series new file mode 100644 index 000000000000..d2689425c387 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kauth/series @@ -0,0 +1 @@ +cmake-install-paths.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix b/pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix new file mode 100644 index 000000000000..1a469ab4db6d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix @@ -0,0 +1,25 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kcodecs +, kconfig +, kconfigwidgets +, kcoreaddons +, kiconthemes +, kxmlgui +}: + +kdeFramework { + name = "kbookmarks"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kcodecs + kconfig + kconfigwidgets + kcoreaddons + kiconthemes + kxmlgui + ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..0d861fa95012 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch @@ -0,0 +1,25 @@ +From f14d2a275323a47104b33eb61c5b6910ae1a9f59 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Wed, 14 Oct 2015 06:43:53 -0500 +Subject: [PATCH] qdiriterator follow symlinks + +--- + src/kpluginselector.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp +index 9c3431d..d6b1ee2 100644 +--- a/src/kpluginselector.cpp ++++ b/src/kpluginselector.cpp +@@ -305,7 +305,7 @@ void KPluginSelector::addPlugins(const QString &componentName, + QStringList desktopFileNames; + const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory); + Q_FOREACH (const QString &dir, dirs) { +- QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories); ++ QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + desktopFileNames.append(it.next()); + } +-- +2.5.2 + diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix new file mode 100644 index 000000000000..dbbb783ac615 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, extra-cmake-modules, kconfigwidgets +, kcoreaddons, kdeclarative, ki18n, kiconthemes, kitemviews +, kpackage, kservice, kxmlgui +}: + +kdeFramework { + name = "kcmutils"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kcoreaddons kiconthemes kitemviews kpackage kxmlgui + ]; + propagatedBuildInputs = [ kconfigwidgets kdeclarative ki18n kservice ]; + patches = [ ./0001-qdiriterator-follow-symlinks.patch ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix new file mode 100644 index 000000000000..53a69a69b69c --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "kcodecs"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix new file mode 100644 index 000000000000..e393774f16a5 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kconfig +, kwidgetsaddons +}: + +kdeFramework { + name = "kcompletion"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ kconfig kwidgetsaddons ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix b/pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix new file mode 100644 index 000000000000..e132afe59886 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib +, extra-cmake-modules +, makeQtWrapper +}: + +kdeFramework { + name = "kconfig"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + postInstall = '' + wrapQtProgram "$out/bin/kreadconfig5" + wrapQtProgram "$out/bin/kwriteconfig5" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..7a6c0ee90534 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch @@ -0,0 +1,25 @@ +From 4f84780893d505b2d62a14633dd983baa8ec6e28 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Wed, 14 Oct 2015 06:47:01 -0500 +Subject: [PATCH] qdiriterator follow symlinks + +--- + src/khelpclient.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/khelpclient.cpp b/src/khelpclient.cpp +index 53a331e..80fbb01 100644 +--- a/src/khelpclient.cpp ++++ b/src/khelpclient.cpp +@@ -48,7 +48,7 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname) + QString docPath; + const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation); + Q_FOREACH (const QString &dir, desktopDirs) { +- QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories); ++ QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + const QString desktopPath(it.next()); + KDesktopFile desktopFile(desktopPath); +-- +2.5.2 + diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix new file mode 100644 index 000000000000..0e14d06edd36 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, extra-cmake-modules, kauth, kcodecs, kconfig +, kdoctools, kguiaddons, ki18n, kwidgetsaddons, makeQtWrapper +}: + +kdeFramework { + name = "kconfigwidgets"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ kguiaddons ]; + propagatedBuildInputs = [ kauth kconfig kcodecs ki18n kwidgetsaddons ]; + patches = [ ./0001-qdiriterator-follow-symlinks.patch ]; + postInstall = '' + wrapQtProgram "$out/bin/preparetips5" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix new file mode 100644 index 000000000000..f3a1db7bd484 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib, makeQtWrapper +, extra-cmake-modules +, shared_mime_info +}: + +kdeFramework { + name = "kcoreaddons"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + buildInputs = [ shared_mime_info ]; + postInstall = '' + wrapQtProgram "$out/bin/desktoptojson" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix new file mode 100644 index 000000000000..bbab78ccb409 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kcoreaddons +, kwindowsystem +, qtx11extras +}: + +kdeFramework { + name = "kcrash"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ kcoreaddons ]; + propagatedBuildInputs = [ kwindowsystem qtx11extras ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix new file mode 100644 index 000000000000..d2ceab31d14b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib +, extra-cmake-modules +, makeQtWrapper +, qtx11extras +}: + +kdeFramework { + name = "kdbusaddons"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + propagatedBuildInputs = [ qtx11extras ]; + postInstall = '' + wrapQtProgram "$out/bin/kquitapp5" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix new file mode 100644 index 000000000000..74d107466cfc --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix @@ -0,0 +1,22 @@ +{ kdeFramework, lib, extra-cmake-modules, epoxy, kconfig +, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kpackage +, kwidgetsaddons, kwindowsystem, makeQtWrapper, pkgconfig +, qtdeclarative +}: + +kdeFramework { + name = "kdeclarative"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + buildInputs = [ + epoxy kguiaddons kiconthemes kwidgetsaddons + ]; + propagatedBuildInputs = [ + kconfig kglobalaccel ki18n kio kpackage kwindowsystem qtdeclarative + ]; + postInstall = '' + wrapQtProgram "$out/bin/kpackagelauncherqml" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kded.nix b/pkgs/development/libraries/kde-frameworks-5.19/kded.nix new file mode 100644 index 000000000000..47ae2d68c68e --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kded.nix @@ -0,0 +1,19 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kconfig +, kcoreaddons +, kcrash +, kdbusaddons +, kdoctools +, kinit +, kservice +}: + +kdeFramework { + name = "kded"; + buildInputs = [ kconfig kcoreaddons kcrash kdbusaddons kinit kservice ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/default.nix new file mode 100644 index 000000000000..843db83a99b2 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/default.nix @@ -0,0 +1,36 @@ +{ kdeFramework, lib, copyPathsToStore +, extra-cmake-modules, docbook_xml_dtd_45, kauth +, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons +, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons +, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels +, kinit, knotifications, kparts, kservice, ktextwidgets +, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui +, networkmanager, qtsvg, qtx11extras, xlibs +}: + +# TODO: debug docbook detection + +kdeFramework { + name = "kdelibs4support"; + outputs = [ "dev" "out" ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + setupHook = ./setup-hook.sh; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kcompletion kconfig kded kservice kwidgetsaddons + kxmlgui networkmanager qtsvg qtx11extras xlibs.libSM + ]; + propagatedBuildInputs = [ + kauth karchive kconfigwidgets kcoreaddons kcrash kdbusaddons + kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n kio + kiconthemes kitemmodels kinit knotifications kparts ktextwidgets + kunitconversion kwindowsystem + ]; + cmakeFlags = [ + "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" + "-DDocBookXML4_DTD_VERSION=4.5" + ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch new file mode 100644 index 000000000000..eabb70254483 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch @@ -0,0 +1,13 @@ +Index: kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp +=================================================================== +--- kdelibs4support-5.18.0.orig/src/kdecore/kstandarddirs.cpp ++++ kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp +@@ -292,7 +292,7 @@ static QString relativeInstallPath(const + return QFile::decodeName(ICON_INSTALL_DIR "/"); + } + if (strcmp("include", type) == 0) { +- return QFile::decodeName(INCLUDE_INSTALL_DIR "/"); ++ return QFile::decodeName(qgetenv("NIX_KDE_INCLUDE_DIR")); + } + break; + case 'l': diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/series b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/series new file mode 100644 index 000000000000..9b08ab208774 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/series @@ -0,0 +1 @@ +nix-kde-include-dir.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/setup-hook.sh new file mode 100644 index 000000000000..21ac2e83b5da --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/setup-hook.sh @@ -0,0 +1 @@ +export NIX_KDE_INCLUDE_DIR="@dev@/include/" # trailing slash is required! diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix new file mode 100644 index 000000000000..cbc114ccca03 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix @@ -0,0 +1,34 @@ +{ kdeFramework, lib, makeQtWrapper +, extra-cmake-modules +, kcompletion +, kconfig +, kconfigwidgets +, kcoreaddons +, kdewebkit +, kdoctools +, kiconthemes +, kio +, kitemviews +, kplotting +, ktextwidgets +, kwidgetsaddons +, kxmlgui +, sonnet +}: + +kdeFramework { + name = "kdesignerplugin"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ + kcompletion kconfig kconfigwidgets kcoreaddons kdewebkit + kiconthemes kitemviews kplotting ktextwidgets kwidgetsaddons + kxmlgui + ]; + propagatedBuildInputs = [ kio sonnet ]; + postInstall = '' + wrapQtProgram "$out/bin/kgendesignerplugin" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix new file mode 100644 index 000000000000..364fbd6a720b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n, kpty +, kservice +}: + +kdeFramework { + name = "kdesu"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ kcoreaddons kservice ]; + propagatedBuildInputs = [ ki18n kpty ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix new file mode 100644 index 000000000000..d361313d1d49 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons +, ki18n, kio, kjobwidgets, kparts, kservice, kwallet, qtwebkit +}: + +kdeFramework { + name = "kdewebkit"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ kconfig kcoreaddons kjobwidgets kparts kservice kwallet ]; + propagatedBuildInputs = [ ki18n kio qtwebkit ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix new file mode 100644 index 000000000000..f00432b0c9ce --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib +, extra-cmake-modules +, avahi +}: + +kdeFramework { + name = "kdnssd"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ avahi ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix new file mode 100644 index 000000000000..f67c19f42395 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix @@ -0,0 +1,19 @@ +{ kdeFramework, lib, extra-cmake-modules, docbook_xml_dtd_45 +, docbook5_xsl, karchive, ki18n, makeQtWrapper, perl, perlPackages +}: + +kdeFramework { + name = "kdoctools"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ karchive ]; + propagatedBuildInputs = [ ki18n ]; + propagatedNativeBuildInputs = [ makeQtWrapper perl perlPackages.URI ]; + cmakeFlags = [ + "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" + "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook" + ]; + patches = [ ./kdoctools-no-find-docbook-xml.patch ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch b/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch new file mode 100644 index 000000000000..4e3a33efab32 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c4863c..f731775 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,7 +46,6 @@ set_package_properties(LibXml2 PROPERTIES + ) + + +-find_package(DocBookXML4 "4.5") + + set_package_properties(DocBookXML4 PROPERTIES + TYPE REQUIRED diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix new file mode 100644 index 000000000000..d165f84e3a2d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib +, extra-cmake-modules +, karchive +, kconfig +, kcoreaddons +, kservice +}: + +kdeFramework { + name = "kemoticons"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ karchive kconfig kcoreaddons ]; + propagatedBuildInputs = [ kservice ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/cmake-install-paths.patch b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/cmake-install-paths.patch new file mode 100644 index 000000000000..732f7b69c828 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/cmake-install-paths.patch @@ -0,0 +1,13 @@ +Index: kfilemetadata-5.18.0/src/CMakeLists.txt +=================================================================== +--- kfilemetadata-5.18.0.orig/src/CMakeLists.txt ++++ kfilemetadata-5.18.0/src/CMakeLists.txt +@@ -49,7 +49,7 @@ install(TARGETS KF5FileMetaData EXPORT K + + install(EXPORT KF5FileMetaDataTargets + NAMESPACE KF5:: +- DESTINATION ${LIB_INSTALL_DIR}/cmake/KF5FileMetaData ++ DESTINATION ${KDE_INSTALL_FULL_CMAKEPACKAGEDIR}/KF5FileMetaData + FILE KF5FileMetaDataTargets.cmake) + + install(FILES diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/default.nix new file mode 100644 index 000000000000..9bb4831cf8da --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/default.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules +, attr, ebook_tools, exiv2, ffmpeg, karchive, ki18n, poppler, qtbase, taglib +}: + +kdeFramework { + name = "kfilemetadata"; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ attr ebook_tools exiv2 ffmpeg karchive poppler taglib ]; + propagatedBuildInputs = [ qtbase ki18n ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/series b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/series new file mode 100644 index 000000000000..d2689425c387 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/series @@ -0,0 +1 @@ +cmake-install-paths.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix new file mode 100644 index 000000000000..c535b3590a38 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix @@ -0,0 +1,23 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kconfig +, kcoreaddons +, kcrash +, kdbusaddons +, kwindowsystem +, makeQtWrapper +, qtx11extras +}: + +kdeFramework { + name = "kglobalaccel"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + buildInputs = [ kconfig kcoreaddons kcrash kdbusaddons ]; + propagatedBuildInputs = [ kwindowsystem qtx11extras ]; + postInstall = '' + wrapQtProgram "$out/bin/kglobalaccel5" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix new file mode 100644 index 000000000000..bc4e9ab11843 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib +, extra-cmake-modules +, qtx11extras +}: + +kdeFramework { + name = "kguiaddons"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ qtx11extras ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/khtml.nix b/pkgs/development/libraries/kde-frameworks-5.19/khtml.nix new file mode 100644 index 000000000000..d40df466ebbd --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/khtml.nix @@ -0,0 +1,21 @@ +{ kdeFramework, lib, extra-cmake-modules, giflib, karchive +, kcodecs, kglobalaccel, ki18n, kiconthemes, kio, kjs +, knotifications, kparts, ktextwidgets, kwallet, kwidgetsaddons +, kwindowsystem, kxmlgui, perl, phonon, qtx11extras, sonnet +}: + +kdeFramework { + name = "khtml"; + nativeBuildInputs = [ extra-cmake-modules perl ]; + buildInputs = [ + giflib karchive kiconthemes knotifications kwallet kwidgetsaddons + kxmlgui phonon + ]; + propagatedBuildInputs = [ + kcodecs kglobalaccel ki18n kio kjs kparts ktextwidgets + kwindowsystem qtx11extras sonnet + ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix b/pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix new file mode 100644 index 000000000000..268006512e7c --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib +, extra-cmake-modules +, gettext +, python +, qtdeclarative +, qtscript +}: + +kdeFramework { + name = "ki18n"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ qtdeclarative qtscript ]; + propagatedNativeBuildInputs = [ gettext python ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch new file mode 100644 index 000000000000..5b3b15d5d5b5 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch @@ -0,0 +1,13 @@ +Index: kiconthemes-5.17.0/src/kicontheme.cpp +=================================================================== +--- kiconthemes-5.17.0.orig/src/kicontheme.cpp ++++ kiconthemes-5.17.0/src/kicontheme.cpp +@@ -557,7 +557,7 @@ void KIconTheme::reconfigure() + // static + QString KIconTheme::defaultThemeName() + { +- return QStringLiteral("oxygen"); ++ return QStringLiteral("breeze"); + } + + void KIconTheme::assignIconsToContextMenu(ContextMenus type, diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix new file mode 100644 index 000000000000..b78b25582beb --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix @@ -0,0 +1,18 @@ +{ kdeFramework, lib, copyPathsToStore +, extra-cmake-modules, makeQtWrapper +, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg +}: + +kdeFramework { + name = "kiconthemes"; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + buildInputs = [ kconfigwidgets kitemviews qtsvg ]; + propagatedBuildInputs = [ breeze-icons ki18n ]; + postInstall = '' + wrapQtProgram "$out/bin/kiconfinder5" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series new file mode 100644 index 000000000000..ab5cc8a3edb2 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series @@ -0,0 +1 @@ +default-theme-breeze.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix b/pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix new file mode 100644 index 000000000000..fc0865600239 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix @@ -0,0 +1,15 @@ +{ kdeFramework, lib +, extra-cmake-modules +, qtbase +, qtx11extras +}: + +kdeFramework { + name = "kidletime"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ qtx11extras ]; + propagatedBuildInputs = [ qtbase ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix b/pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix new file mode 100644 index 000000000000..49d66bbcc2c6 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib +, extra-cmake-modules +, ilmbase +}: + +kdeFramework { + name = "kimageformats"; + nativeBuildInputs = [ extra-cmake-modules ]; + NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch b/pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch new file mode 100644 index 000000000000..9c76079a382a --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch @@ -0,0 +1,42 @@ +From 723c9b1268a04127647a1c20eebe9804150566dd Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Sat, 13 Jun 2015 08:57:55 -0500 +Subject: [PATCH] kinit libpath + +--- + src/kdeinit/kinit.cpp | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp +index 9e775b6..0ac5646 100644 +--- a/src/kdeinit/kinit.cpp ++++ b/src/kdeinit/kinit.cpp +@@ -660,15 +660,17 @@ static pid_t launch(int argc, const char *_name, const char *args, + if (!libpath.isEmpty()) { + if (!l.load()) { + if (libpath_relative) { +- // NB: Because Qt makes the actual dlopen() call, the +- // RUNPATH of kdeinit is *not* respected - see +- // https://sourceware.org/bugzilla/show_bug.cgi?id=13945 +- // - so we try hacking it in ourselves +- QString install_lib_dir = QFile::decodeName( +- CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/"); +- libpath = install_lib_dir + libpath; +- l.setFileName(libpath); ++ // Use QT_PLUGIN_PATH to find shared library directories ++ // For KF5, the plugin path is /lib/qt5/plugins/, so kdeinit5 ++ // shared libraries should be in /lib/qt5/plugins/../../ ++ const QRegExp pathSepRegExp(QString::fromLatin1("[:\b]")); ++ const QString up = QString::fromLocal8Bit("/../../"); ++ const QStringList paths = QString::fromLocal8Bit(qgetenv("QT_PLUGIN_PATH")).split(pathSepRegExp, QString::KeepEmptyParts); ++ Q_FOREACH (const QString &path, paths) { ++ l.setFileName(path + up + libpath); + l.load(); ++ if (l.isLoaded()) break; ++ } + } + } + if (!l.isLoaded()) { +-- +2.4.2 + diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix new file mode 100644 index 000000000000..5f644d7c424e --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, extra-cmake-modules, kconfig, kcrash +, kdoctools, ki18n, kio, kservice, kwindowsystem, libcap +, libcap_progs +}: + +# TODO: setuid wrapper + +kdeFramework { + name = "kinit"; + nativeBuildInputs = [ extra-cmake-modules kdoctools libcap_progs ]; + buildInputs = [ kconfig kcrash kservice libcap ]; + propagatedBuildInputs = [ ki18n kio kwindowsystem ]; + patches = [ ./0001-kinit-libpath.patch ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix new file mode 100644 index 000000000000..a2131ff33850 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix @@ -0,0 +1,33 @@ +{ kdeFramework, lib, copyPathsToStore +, extra-cmake-modules, acl, karchive +, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons +, kdbusaddons, kdoctools, ki18n, kiconthemes, kitemviews +, kjobwidgets, knotifications, kservice, ktextwidgets, kwallet +, kwidgetsaddons, kwindowsystem, kxmlgui, makeQtWrapper +, qtscript, qtx11extras, solid +}: + +kdeFramework { + name = "kio"; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ + acl karchive kconfig kcoreaddons kdbusaddons kiconthemes + knotifications ktextwidgets kwallet kwidgetsaddons + qtscript + ]; + propagatedBuildInputs = [ + kbookmarks kcompletion kconfigwidgets ki18n kitemviews kjobwidgets + kservice kwindowsystem kxmlgui solid qtx11extras + ]; + postInstall = '' + wrapQtProgram "$out/bin/kcookiejar5" + wrapQtProgram "$out/bin/ktelnetservice5" + wrapQtProgram "$out/bin/ktrash5" + wrapQtProgram "$out/bin/kmailservice5" + wrapQtProgram "$out/bin/protocoltojson" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch b/pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch new file mode 100644 index 000000000000..c9ad46b41bb7 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch @@ -0,0 +1,28 @@ +Index: kio-5.17.0/src/core/ksambashare.cpp +=================================================================== +--- kio-5.17.0.orig/src/core/ksambashare.cpp ++++ kio-5.17.0/src/core/ksambashare.cpp +@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate( + + bool KSambaSharePrivate::isSambaInstalled() + { +- if (QFile::exists(QStringLiteral("/usr/sbin/smbd")) +- || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) { +- return true; ++ const QByteArray pathEnv = qgetenv("PATH"); ++ if (!pathEnv.isEmpty()) { ++ QLatin1Char pathSep(':'); ++ QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts); ++ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) { ++ it->append("/smbd"); ++ if (QFile::exists(*it)) { ++ return true; ++ } ++ } + } + +- //qDebug() << "Samba is not installed!"; +- + return false; + } + diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/series b/pkgs/development/libraries/kde-frameworks-5.19/kio/series new file mode 100644 index 000000000000..77ca15450047 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kio/series @@ -0,0 +1 @@ +samba-search-path.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix b/pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix new file mode 100644 index 000000000000..a9024d771cc3 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "kitemmodels"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix b/pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix new file mode 100644 index 000000000000..931019ce495d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "kitemviews"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix b/pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix new file mode 100644 index 000000000000..746edf12eea0 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kcoreaddons +, kwidgetsaddons +, qtx11extras +}: + +kdeFramework { + name = "kjobwidgets"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ kcoreaddons kwidgetsaddons ]; + propagatedBuildInputs = [ qtx11extras ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjs.nix b/pkgs/development/libraries/kde-frameworks-5.19/kjs.nix new file mode 100644 index 000000000000..768720f178c8 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kjs.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kdoctools +, makeQtWrapper +}: + +kdeFramework { + name = "kjs"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + postInstall = '' + wrapQtProgram "$out/bin/kjs5" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix b/pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix new file mode 100644 index 000000000000..22eef2d47bde --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, extra-cmake-modules, kdoctools, ki18n, kjs +, makeQtWrapper, qtsvg +}: + +kdeFramework { + name = "kjsembed"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ qtsvg ]; + propagatedBuildInputs = [ ki18n kjs ]; + postInstall = '' + wrapQtProgram "$out/bin/kjscmd5" + wrapQtProgram "$out/bin/kjsconsole" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix b/pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix new file mode 100644 index 000000000000..460458b22323 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix @@ -0,0 +1,15 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kparts +, kxmlgui +}: + +kdeFramework { + name = "kmediaplayer"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ kxmlgui ]; + propagatedBuildInputs = [ kparts ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix b/pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix new file mode 100644 index 000000000000..5bcd6f301462 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, extra-cmake-modules, attica, karchive +, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes, kio +, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui +}: + +kdeFramework { + name = "knewstuff"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + karchive kcompletion kconfig kcoreaddons kiconthemes + kitemviews ktextwidgets kwidgetsaddons + ]; + propagatedBuildInputs = [ attica ki18n kio kservice kxmlgui ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix b/pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix new file mode 100644 index 000000000000..7e301dd0f268 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix @@ -0,0 +1,21 @@ +{ kdeFramework, lib +, extra-cmake-modules +, kcodecs +, kconfig +, kcoreaddons +, kwindowsystem +, phonon +, qtx11extras +}: + +kdeFramework { + name = "knotifications"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kcodecs kconfig kcoreaddons phonon + ]; + propagatedBuildInputs = [ kwindowsystem qtx11extras ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix b/pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix new file mode 100644 index 000000000000..dd99d2d4f1e5 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib, extra-cmake-modules, kcompletion, kconfig +, ki18n, kio, phonon +}: + +kdeFramework { + name = "knotifyconfig"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ kcompletion kconfig phonon ]; + propagatedBuildInputs = [ ki18n kio ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch new file mode 100644 index 000000000000..e9d744448148 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch @@ -0,0 +1,13 @@ +Index: kpackage-5.18.0/src/kpackage/package.cpp +=================================================================== +--- kpackage-5.18.0.orig/src/kpackage/package.cpp ++++ kpackage-5.18.0/src/kpackage/package.cpp +@@ -808,7 +808,7 @@ PackagePrivate::PackagePrivate() + : QSharedData(), + fallbackPackage(0), + metadata(0), +- externalPaths(false), ++ externalPaths(true), + valid(false), + checkedValid(false) + { diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix new file mode 100644 index 000000000000..aea1b0d31a0d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix @@ -0,0 +1,23 @@ +{ kdeFramework, lib, copyPathsToStore +, extra-cmake-modules +, karchive +, kconfig +, kcoreaddons +, kdoctools +, ki18n +, makeQtWrapper +}: + +kdeFramework { + name = "kpackage"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ karchive kconfig ]; + propagatedBuildInputs = [ kcoreaddons ki18n ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + postInstall = '' + wrapQtProgram "$out/bin/kpackagetool5" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..ddbf17d00064 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch @@ -0,0 +1,26 @@ +Index: kpackage-5.18.0/src/kpackage/packageloader.cpp +=================================================================== +--- kpackage-5.18.0.orig/src/kpackage/packageloader.cpp ++++ kpackage-5.18.0/src/kpackage/packageloader.cpp +@@ -241,7 +241,7 @@ QList<KPluginMetaData> PackageLoader::li + } else { + //qDebug() << "Not cached"; + // If there's no cache file, fall back to listing the directory +- const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories; ++ const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories | QDirIterator::FollowSymlinks; + const QStringList nameFilters = QStringList(QStringLiteral("metadata.desktop")) << QStringLiteral("metadata.json"); + + QDirIterator it(plugindir, nameFilters, QDir::Files, flags); +Index: kpackage-5.18.0/src/kpackage/private/packagejobthread.cpp +=================================================================== +--- kpackage-5.18.0.orig/src/kpackage/private/packagejobthread.cpp ++++ kpackage-5.18.0/src/kpackage/private/packagejobthread.cpp +@@ -146,7 +146,7 @@ bool indexDirectory(const QString& dir, + + QJsonArray plugins; + +- QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories); ++ QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + it.next(); + const QString path = it.fileInfo().absoluteFilePath(); diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/series b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/series new file mode 100644 index 000000000000..9b7f076efc70 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/series @@ -0,0 +1,2 @@ +allow-external-paths.patch +qdiriterator-follow-symlinks.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kparts.nix b/pkgs/development/libraries/kde-frameworks-5.19/kparts.nix new file mode 100644 index 000000000000..1c3e0b2cbc51 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kparts.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons +, ki18n, kiconthemes, kio, kjobwidgets, knotifications, kservice +, ktextwidgets, kwidgetsaddons, kxmlgui +}: + +kdeFramework { + name = "kparts"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kconfig kcoreaddons kiconthemes kjobwidgets knotifications + kservice kwidgetsaddons + ]; + propagatedBuildInputs = [ ki18n kio ktextwidgets kxmlgui ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix b/pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix new file mode 100644 index 000000000000..4c3877e7efd2 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix @@ -0,0 +1,15 @@ +{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n +, kitemviews, kservice, kwidgetsaddons, qtdeclarative +}: + +kdeFramework { + name = "kpeople"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kcoreaddons kitemviews kservice kwidgetsaddons + ]; + propagatedBuildInputs = [ ki18n qtdeclarative ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix b/pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix new file mode 100644 index 000000000000..c16f51b5ac3c --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "kplotting"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpty.nix b/pkgs/development/libraries/kde-frameworks-5.19/kpty.nix new file mode 100644 index 000000000000..2e34e6f674ce --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kpty.nix @@ -0,0 +1,10 @@ +{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n }: + +kdeFramework { + name = "kpty"; + nativeBuildInputs = [ extra-cmake-modules ]; + propagatedBuildInputs = [ kcoreaddons ki18n ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kross.nix b/pkgs/development/libraries/kde-frameworks-5.19/kross.nix new file mode 100644 index 000000000000..7c6f079feaa7 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kross.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, extra-cmake-modules, kcompletion, kcoreaddons +, kdoctools, ki18n, kiconthemes, kio, kparts, kwidgetsaddons +, kxmlgui, qtscript +}: + +kdeFramework { + name = "kross"; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ kcompletion kcoreaddons kxmlgui ]; + propagatedBuildInputs = [ ki18n kiconthemes kio kparts kwidgetsaddons qtscript ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/krunner.nix b/pkgs/development/libraries/kde-frameworks-5.19/krunner.nix new file mode 100644 index 000000000000..12d2b54d0eb3 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/krunner.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons +, ki18n, kio, kservice, plasma-framework, qtquick1, solid +, threadweaver +}: + +kdeFramework { + name = "krunner"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kconfig kcoreaddons kservice qtquick1 solid threadweaver + ]; + propagatedBuildInputs = [ ki18n kio plasma-framework ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..3d8397d8ee2d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch @@ -0,0 +1,25 @@ +From ae8919eb81abad369e4a26ffcd845b140983398d Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Wed, 14 Oct 2015 06:28:57 -0500 +Subject: [PATCH 1/2] qdiriterator follow symlinks + +--- + src/sycoca/kbuildsycoca.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/sycoca/kbuildsycoca.cpp b/src/sycoca/kbuildsycoca.cpp +index 1deae14..250baa8 100644 +--- a/src/sycoca/kbuildsycoca.cpp ++++ b/src/sycoca/kbuildsycoca.cpp +@@ -208,7 +208,7 @@ bool KBuildSycoca::build() + QStringList relFiles; + const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, m_resourceSubdir, QStandardPaths::LocateDirectory); + Q_FOREACH (const QString &dir, dirs) { +- QDirIterator it(dir, QDirIterator::Subdirectories); ++ QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + const QString filePath = it.next(); + Q_ASSERT(filePath.startsWith(dir)); // due to the line below... +-- +2.5.2 + diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch b/pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch new file mode 100644 index 000000000000..685c68526119 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch @@ -0,0 +1,25 @@ +From 46d124da602d84b7611a7ff0ac0862168d451cdb Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Wed, 14 Oct 2015 06:31:29 -0500 +Subject: [PATCH 2/2] no canonicalize path + +--- + src/sycoca/vfolder_menu.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/sycoca/vfolder_menu.cpp b/src/sycoca/vfolder_menu.cpp +index d3e31c3..d15d743 100644 +--- a/src/sycoca/vfolder_menu.cpp ++++ b/src/sycoca/vfolder_menu.cpp +@@ -415,7 +415,7 @@ VFolderMenu::absoluteDir(const QString &_dir, const QString &baseDir, bool keepR + } + + if (!relative) { +- QString resolved = QDir(dir).canonicalPath(); ++ QString resolved = QDir::cleanPath(dir); + if (!resolved.isEmpty()) { + dir = resolved; + } +-- +2.5.2 + diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix new file mode 100644 index 000000000000..3a27d85b9166 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix @@ -0,0 +1,18 @@ +{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons +, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem +}: + +kdeFramework { + name = "kservice"; + propagatedNativeBuildInputs = [ extra-cmake-modules ]; + nativeBuildInputs = [ kdoctools ]; + buildInputs = [ kcrash kdbusaddons ]; + propagatedBuildInputs = [ kconfig kcoreaddons ki18n kwindowsystem ]; + patches = [ + ./0001-qdiriterator-follow-symlinks.patch + ./0002-no-canonicalize-path.patch + ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix new file mode 100644 index 000000000000..b8df6a5f4c0d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix @@ -0,0 +1,22 @@ +{ kdeFramework, lib, copyPathsToStore +, extra-cmake-modules, makeQtWrapper, perl +, karchive, kconfig, kguiaddons, kiconthemes, kparts +, libgit2 +, qtscript, qtxmlpatterns +, ki18n, kio, sonnet +}: + +kdeFramework { + name = "ktexteditor"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper perl ]; + buildInputs = [ + karchive kconfig kguiaddons kiconthemes kparts + libgit2 + qtscript qtxmlpatterns + ]; + propagatedBuildInputs = [ ki18n kio sonnet ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch new file mode 100644 index 000000000000..19ab1e1e5513 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch @@ -0,0 +1,36 @@ +Index: ktexteditor-5.18.0/src/syntax/data/katehighlightingindexer.cpp +=================================================================== +--- ktexteditor-5.18.0.orig/src/syntax/data/katehighlightingindexer.cpp ++++ ktexteditor-5.18.0/src/syntax/data/katehighlightingindexer.cpp +@@ -55,19 +55,16 @@ QStringList readListing(const QString &f + + int main(int argc, char *argv[]) + { +- // get app instance +- QCoreApplication app(argc, argv); +- + // ensure enough arguments are passed +- if (app.arguments().size() < 3) ++ if (argc < 3) + return 1; + + // open schema + QXmlSchema schema; +- if (!schema.load(QUrl::fromLocalFile(app.arguments().at(2)))) ++ if (!schema.load(QUrl::fromLocalFile(QString::fromLocal8Bit(argv[2])))) + return 2; + +- const QString hlFilenamesListing = app.arguments().value(3); ++ const QString hlFilenamesListing = QString::fromLocal8Bit(argv[3]); + if (hlFilenamesListing.isEmpty()) { + return 1; + } +@@ -152,7 +149,7 @@ int main(int argc, char *argv[]) + return anyError; + + // create outfile, after all has worked! +- QFile outFile(app.arguments().at(1)); ++ QFile outFile(QString::fromLocal8Bit(argv[1])); + if (!outFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) + return 7; + diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series new file mode 100644 index 000000000000..46cd23829a2f --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series @@ -0,0 +1 @@ +no-qcoreapplication.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix b/pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix new file mode 100644 index 000000000000..e332d4ff9a83 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib, extra-cmake-modules, kcompletion, kconfig +, kconfigwidgets, ki18n, kiconthemes, kservice, kwindowsystem +, sonnet +}: + +kdeFramework { + name = "ktextwidgets"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kcompletion kconfig kconfigwidgets kiconthemes kservice + ]; + propagatedBuildInputs = [ ki18n kwindowsystem sonnet ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix b/pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix new file mode 100644 index 000000000000..3cf0f847d83d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix @@ -0,0 +1,10 @@ +{ kdeFramework, lib, extra-cmake-modules, ki18n }: + +kdeFramework { + name = "kunitconversion"; + nativeBuildInputs = [ extra-cmake-modules ]; + propagatedBuildInputs = [ ki18n ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix b/pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix new file mode 100644 index 000000000000..5ade5f63a8d0 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix @@ -0,0 +1,21 @@ +{ kdeFramework, lib, extra-cmake-modules, kconfig, kconfigwidgets +, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes +, knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt +, makeQtWrapper }: + +kdeFramework { + name = "kwallet"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ + kconfig kconfigwidgets kcoreaddons kdbusaddons kiconthemes + knotifications kservice kwidgetsaddons libgcrypt + ]; + propagatedBuildInputs = [ ki18n kwindowsystem ]; + postInstall = '' + wrapQtProgram "$out/bin/kwalletd5" + wrapQtProgram "$out/bin/kwallet-query" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix new file mode 100644 index 000000000000..d95f44d3fecf --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "kwidgetsaddons"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix b/pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix new file mode 100644 index 000000000000..09ab1f2200de --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib +, extra-cmake-modules +, qtx11extras +}: + +kdeFramework { + name = "kwindowsystem"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ qtx11extras ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix b/pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix new file mode 100644 index 000000000000..f081d5f9170e --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix @@ -0,0 +1,18 @@ +{ kdeFramework, lib, extra-cmake-modules, attica, kconfig +, kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews +, ktextwidgets, kwindowsystem, sonnet +}: + +kdeFramework { + name = "kxmlgui"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + attica kconfig kiconthemes kitemviews ktextwidgets + ]; + propagatedBuildInputs = [ + kconfigwidgets kglobalaccel ki18n kwindowsystem sonnet + ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix b/pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix new file mode 100644 index 000000000000..20a300b68bc8 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix @@ -0,0 +1,10 @@ +{ kdeFramework, lib, extra-cmake-modules, ki18n, kio }: + +kdeFramework { + name = "kxmlrpcclient"; + nativeBuildInputs = [ extra-cmake-modules ]; + propagatedBuildInputs = [ ki18n kio ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix b/pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix new file mode 100644 index 000000000000..7d7f769d6a9b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib +, extra-cmake-modules +, modemmanager +}: + +kdeFramework { + name = "modemmanager-qt"; + nativeBuildInputs = [ extra-cmake-modules ]; + propagatedBuildInputs = [ modemmanager ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix b/pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix new file mode 100644 index 000000000000..333378bd1431 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib +, extra-cmake-modules +, networkmanager +}: + +kdeFramework { + name = "networkmanager-qt"; + nativeBuildInputs = [ extra-cmake-modules ]; + propagatedBuildInputs = [ networkmanager ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix b/pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix new file mode 100644 index 000000000000..ee350f8e1536 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix @@ -0,0 +1,13 @@ +{ kdeFramework +, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "oxygen-icons5"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + license = lib.licenses.lgpl3Plus; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix new file mode 100644 index 000000000000..d8846f777231 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix @@ -0,0 +1,25 @@ +{ kdeFramework, lib, extra-cmake-modules, kactivities, karchive +, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative +, kdoctools, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio +, knotifications, kpackage, kservice, kwindowsystem, kxmlgui +, makeQtWrapper, qtscript, qtx11extras +}: + +kdeFramework { + name = "plasma-framework"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ + karchive kconfig kconfigwidgets kcoreaddons kdbusaddons kguiaddons + kiconthemes knotifications kxmlgui qtscript + ]; + propagatedBuildInputs = [ + kactivities kdeclarative kglobalaccel ki18n kio kpackage kservice kwindowsystem + qtx11extras + ]; + postInstall = '' + wrapQtProgram "$out/bin/plasmapkg2" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/solid.nix b/pkgs/development/libraries/kde-frameworks-5.19/solid.nix new file mode 100644 index 000000000000..afd125e3c597 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/solid.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib +, extra-cmake-modules +, makeQtWrapper +, qtdeclarative +}: + +kdeFramework { + name = "solid"; + nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; + buildInputs = [ qtdeclarative ]; + postInstall = '' + wrapQtProgram "$out/bin/solid-hardware5" + ''; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix b/pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix new file mode 100644 index 000000000000..943fe04a1c92 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib +, extra-cmake-modules +, hunspell +}: + +kdeFramework { + name = "sonnet"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ hunspell ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/srcs.nix b/pkgs/development/libraries/kde-frameworks-5.19/srcs.nix new file mode 100644 index 000000000000..b86c0b71224d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/srcs.nix @@ -0,0 +1,565 @@ +# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh +{ fetchurl, mirror }: + +{ + attica = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/attica-5.19.0.tar.xz"; + sha256 = "0cbvjnv2fcqsxspiy5pzmnnzrpfamlsc9j927kd6gpzai1ckf1lv"; + name = "attica-5.19.0.tar.xz"; + }; + }; + baloo = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/baloo-5.19.0.tar.xz"; + sha256 = "02yy0w13h5wxm74a87zi439f6yd9miid6rb54nia0pgvcka98svg"; + name = "baloo-5.19.0.tar.xz"; + }; + }; + bluez-qt = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/bluez-qt-5.19.0.tar.xz"; + sha256 = "0609i7rzhnnnp4fqnwscwp6y646ji8kl2hw5sy7azc87yllisnyv"; + name = "bluez-qt-5.19.0.tar.xz"; + }; + }; + breeze-icons = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/breeze-icons-5.19.0.tar.xz"; + sha256 = "0bwix0jl1dscqfb7ygn9drpd9ivfx4g15vz6h01mswvxa9lz1vj0"; + name = "breeze-icons-5.19.0.tar.xz"; + }; + }; + extra-cmake-modules = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/extra-cmake-modules-5.19.0.tar.xz"; + sha256 = "1dl3hhbara7iswb5wsc5dp17ar3ljw5f0nrncl8vry9smaz2zl63"; + name = "extra-cmake-modules-5.19.0.tar.xz"; + }; + }; + frameworkintegration = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/frameworkintegration-5.19.0.tar.xz"; + sha256 = "00la7p7wcyqpxyi73h4fjrmm9d2gqzdaljn4468xya4bfns5ijy3"; + name = "frameworkintegration-5.19.0.tar.xz"; + }; + }; + kactivities = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kactivities-5.19.0.tar.xz"; + sha256 = "0yml1sbn3z4jd4vsfs25kqrl03pmlcgamzbgpw3248sabhyg7ks3"; + name = "kactivities-5.19.0.tar.xz"; + }; + }; + kapidox = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kapidox-5.19.0.tar.xz"; + sha256 = "0a9731xrkd6mnqh72592rx6gfnxxdfd7xl8pdpgdn7qs3394k1yz"; + name = "kapidox-5.19.0.tar.xz"; + }; + }; + karchive = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/karchive-5.19.0.tar.xz"; + sha256 = "043spmi7s2d1bj8d3wbgzbhisip6h92kqjhlvg8gyv0a7vy54ymv"; + name = "karchive-5.19.0.tar.xz"; + }; + }; + kauth = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kauth-5.19.0.tar.xz"; + sha256 = "0fm9ih2hkh2rpmlf98yw8z1r5bn2qmpva2k7mrv6ijd5h767fxss"; + name = "kauth-5.19.0.tar.xz"; + }; + }; + kbookmarks = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kbookmarks-5.19.0.tar.xz"; + sha256 = "0q418jpdc348nqgdavsmxxka4g8sldpdi9n89i1pllfmq10kw9sd"; + name = "kbookmarks-5.19.0.tar.xz"; + }; + }; + kcmutils = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kcmutils-5.19.0.tar.xz"; + sha256 = "0qhdjb3zvqq9ycfgb52lz4flgipyplj5ksz8h8y71bbs4w6lazd8"; + name = "kcmutils-5.19.0.tar.xz"; + }; + }; + kcodecs = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kcodecs-5.19.0.tar.xz"; + sha256 = "1rzp314fv9n5168j7nhv1c8fjaszpmgdx6javrx4w0hyrjdfkg66"; + name = "kcodecs-5.19.0.tar.xz"; + }; + }; + kcompletion = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kcompletion-5.19.0.tar.xz"; + sha256 = "05n0y5kf3bcc4wgn6k0js5cravv1k93xxzrgapm21323qgvfagwd"; + name = "kcompletion-5.19.0.tar.xz"; + }; + }; + kconfig = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kconfig-5.19.0.tar.xz"; + sha256 = "0nk5hfl8yh0kgaa7xi0cc05dl6nf7prvbvxv0i99207xh9dafdmm"; + name = "kconfig-5.19.0.tar.xz"; + }; + }; + kconfigwidgets = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kconfigwidgets-5.19.0.tar.xz"; + sha256 = "1nld27chcjwjgwv76s2j77ifmca235yp10bm08rjmvnfn6778ypv"; + name = "kconfigwidgets-5.19.0.tar.xz"; + }; + }; + kcoreaddons = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kcoreaddons-5.19.0.tar.xz"; + sha256 = "07sm0givfdx28p302fkynzsd3xkpn1hbs43d4rscyx18yxfsldcw"; + name = "kcoreaddons-5.19.0.tar.xz"; + }; + }; + kcrash = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kcrash-5.19.0.tar.xz"; + sha256 = "1dy03gp1sj96wn0zfa0dpbvz8pz0ia1j7p1wcif3iqk55pjxdgyl"; + name = "kcrash-5.19.0.tar.xz"; + }; + }; + kdbusaddons = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kdbusaddons-5.19.0.tar.xz"; + sha256 = "1bb5aik0kl3kab5399drfjxrm8iysgkf813xgr0y4k64c9kwfp28"; + name = "kdbusaddons-5.19.0.tar.xz"; + }; + }; + kdeclarative = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kdeclarative-5.19.0.tar.xz"; + sha256 = "03g02zy7wjzmpvqzxx32z8ap7jyj9sf432g1d3csb0dcbx2ny52g"; + name = "kdeclarative-5.19.0.tar.xz"; + }; + }; + kded = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kded-5.19.0.tar.xz"; + sha256 = "0nyvg0h2aqy7qr57bad6wyc2rmcv9nhdq0py4fxc3irb6516p9hz"; + name = "kded-5.19.0.tar.xz"; + }; + }; + kdelibs4support = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/portingAids/kdelibs4support-5.19.0.tar.xz"; + sha256 = "0iqnb2j6gfy8006arwv65vljfhxdnk6aia0zppngb481jnd9n2pn"; + name = "kdelibs4support-5.19.0.tar.xz"; + }; + }; + kdesignerplugin = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kdesignerplugin-5.19.0.tar.xz"; + sha256 = "11inmvyair796rx4842naf1dnxqvc6bqqzrv700ycvisad646ws5"; + name = "kdesignerplugin-5.19.0.tar.xz"; + }; + }; + kdesu = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kdesu-5.19.0.tar.xz"; + sha256 = "19w8m7ji61bpd368lzkwlizcwa1l968l568lksgm2mm9pnyjjhgz"; + name = "kdesu-5.19.0.tar.xz"; + }; + }; + kdewebkit = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kdewebkit-5.19.0.tar.xz"; + sha256 = "04b5qanhxggffnvmi28lspyi8kj4kq7mxhxndar9fmkzzgvy70hj"; + name = "kdewebkit-5.19.0.tar.xz"; + }; + }; + kdnssd = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kdnssd-5.19.0.tar.xz"; + sha256 = "15a8w2i29mrbhadw6y123mr0cc45ijabnwdfp3lbkd40lk8nq314"; + name = "kdnssd-5.19.0.tar.xz"; + }; + }; + kdoctools = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kdoctools-5.19.0.tar.xz"; + sha256 = "06g77n9wxpiv4skc1kz794ppfb2mkmd3fgn6an5kr301xc76cnpn"; + name = "kdoctools-5.19.0.tar.xz"; + }; + }; + kemoticons = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kemoticons-5.19.0.tar.xz"; + sha256 = "0fiix2sf2wrvmrpx8whdr1bzm7gbv7pvg02y47w5bl6s9gh176g5"; + name = "kemoticons-5.19.0.tar.xz"; + }; + }; + kfilemetadata = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kfilemetadata-5.19.0.tar.xz"; + sha256 = "11j8if3xhp3xxwibwm6nxb4lh8wx40ni3zf5hki327pxv4vpq3qr"; + name = "kfilemetadata-5.19.0.tar.xz"; + }; + }; + kglobalaccel = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kglobalaccel-5.19.0.tar.xz"; + sha256 = "021j98f7217m83aqxpamg0lzlaiskdaqsd9iabc8wrp1g0nkm05d"; + name = "kglobalaccel-5.19.0.tar.xz"; + }; + }; + kguiaddons = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kguiaddons-5.19.0.tar.xz"; + sha256 = "019xaf7vpgifcw8wibli9d2b50brhgdaypsqknh6mqq8q9g06jhy"; + name = "kguiaddons-5.19.0.tar.xz"; + }; + }; + khtml = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/portingAids/khtml-5.19.0.tar.xz"; + sha256 = "0hqa54a9nxy954vy8gf52y89xd3ibz9b4jgh6w347b1alp1zn145"; + name = "khtml-5.19.0.tar.xz"; + }; + }; + ki18n = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/ki18n-5.19.0.tar.xz"; + sha256 = "0v3arc20y5d8afm9zfrz1skd2xg3ng62cq1xvxiq645w6mxf7y05"; + name = "ki18n-5.19.0.tar.xz"; + }; + }; + kiconthemes = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kiconthemes-5.19.0.tar.xz"; + sha256 = "0riicirgda3w2b30dzsa2lq9xrr4y04qwhxyzq1p8gn2x4pp3g3n"; + name = "kiconthemes-5.19.0.tar.xz"; + }; + }; + kidletime = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kidletime-5.19.0.tar.xz"; + sha256 = "0jlbzqv36ddhfhk8xkkgw0xhq8s371z9ama1cyv2xq8kk4vjywc6"; + name = "kidletime-5.19.0.tar.xz"; + }; + }; + kimageformats = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kimageformats-5.19.0.tar.xz"; + sha256 = "1ydizc6b0ncndazk62h8y249yfcx381pwzyivfpka1f69zfgyvv5"; + name = "kimageformats-5.19.0.tar.xz"; + }; + }; + kinit = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kinit-5.19.0.tar.xz"; + sha256 = "03l7pijqdnnsfg6yz9p73p7xa86sldayggl6rc5hpkzmgyczcfzm"; + name = "kinit-5.19.0.tar.xz"; + }; + }; + kio = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kio-5.19.0.tar.xz"; + sha256 = "0c7smp7cajivx53shy65mp9zcc51pha9iyvh37dggfflxy3xf9nv"; + name = "kio-5.19.0.tar.xz"; + }; + }; + kitemmodels = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kitemmodels-5.19.0.tar.xz"; + sha256 = "0skmim986qnncbzd84vm1wp1fr41jn04af2dgckirsk23d35bln7"; + name = "kitemmodels-5.19.0.tar.xz"; + }; + }; + kitemviews = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kitemviews-5.19.0.tar.xz"; + sha256 = "118zv46mvrfwbvl06bb1m8axv92wnp4pfs36hsxvnjl7gfjk5xjn"; + name = "kitemviews-5.19.0.tar.xz"; + }; + }; + kjobwidgets = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kjobwidgets-5.19.0.tar.xz"; + sha256 = "1qzf8nzy8rxkdai9aj2lyrww90245v0p2q115xiz73bsg9rahmji"; + name = "kjobwidgets-5.19.0.tar.xz"; + }; + }; + kjs = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/portingAids/kjs-5.19.0.tar.xz"; + sha256 = "08m01762hb25vm020g3v37bh40cgvcfrj45ql135klx96x9imfaf"; + name = "kjs-5.19.0.tar.xz"; + }; + }; + kjsembed = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/portingAids/kjsembed-5.19.0.tar.xz"; + sha256 = "1wmkgy8jgm21y2cvcbv1fdv29dxxla8n6ws78kzzbbw4cgqwwl48"; + name = "kjsembed-5.19.0.tar.xz"; + }; + }; + kmediaplayer = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/portingAids/kmediaplayer-5.19.0.tar.xz"; + sha256 = "1vhqr2c7q8vwzdj29vpmfjfhyal8wp9ffirrnqc98vb6sffs85ay"; + name = "kmediaplayer-5.19.0.tar.xz"; + }; + }; + knewstuff = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/knewstuff-5.19.0.tar.xz"; + sha256 = "12acd12vxk9z83zg3yz8lvmmb8737z9lzd4hs9a3jcs1z5k2nhb4"; + name = "knewstuff-5.19.0.tar.xz"; + }; + }; + knotifications = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/knotifications-5.19.0.tar.xz"; + sha256 = "0grgm0ws16gp2j77nslqpl1jpxbi0m6g59zr7v1xnmzdk2j6n4av"; + name = "knotifications-5.19.0.tar.xz"; + }; + }; + knotifyconfig = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/knotifyconfig-5.19.0.tar.xz"; + sha256 = "161brvryxzdkny7sf6icn1jpyi6rnw6jc808gdf5g41v50xpnxfj"; + name = "knotifyconfig-5.19.0.tar.xz"; + }; + }; + kpackage = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kpackage-5.19.0.tar.xz"; + sha256 = "1km4sjgxfljp2pnjnzj48q3c574zvj7341a57n4ifhjwj37yzxdv"; + name = "kpackage-5.19.0.tar.xz"; + }; + }; + kparts = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kparts-5.19.0.tar.xz"; + sha256 = "05g59x2mrqygawzcwgw3igl5n96l649h0kpzh37sfq4i8kg15g7l"; + name = "kparts-5.19.0.tar.xz"; + }; + }; + kpeople = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kpeople-5.19.0.tar.xz"; + sha256 = "1ksf6g71li1xk4q98cvwkam8m8g32x2815kj1gfwbg4g6iw74w98"; + name = "kpeople-5.19.0.tar.xz"; + }; + }; + kplotting = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kplotting-5.19.0.tar.xz"; + sha256 = "169x4m9ms8yhfha8zclnl8wrnfhfqshpwwg4b5bd046pcrkqmnqq"; + name = "kplotting-5.19.0.tar.xz"; + }; + }; + kpty = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kpty-5.19.0.tar.xz"; + sha256 = "0289vzfjwppwqj9h03flzhwm18dnxz11hqhdhr9990x7rw6a4n03"; + name = "kpty-5.19.0.tar.xz"; + }; + }; + kross = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/portingAids/kross-5.19.0.tar.xz"; + sha256 = "1nv7mrhn7wa4bs2a164x42d3b37akyvhkxqs8cg5fqp4vr2wkw0p"; + name = "kross-5.19.0.tar.xz"; + }; + }; + krunner = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/portingAids/krunner-5.19.0.tar.xz"; + sha256 = "054s8309lxi27gpbg7iygbcxsp0pwrzbzww3h8zp2a9yiic4s5mx"; + name = "krunner-5.19.0.tar.xz"; + }; + }; + kservice = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kservice-5.19.0.tar.xz"; + sha256 = "02lbia26r2462nwksizaxjfkhxfqqs732dp495yx8bjc7wcv3srm"; + name = "kservice-5.19.0.tar.xz"; + }; + }; + ktexteditor = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/ktexteditor-5.19.0.tar.xz"; + sha256 = "0v3l44w4k43ajs81i8386hszk3x7rajjlb6z3jb7q98vhp91b5dp"; + name = "ktexteditor-5.19.0.tar.xz"; + }; + }; + ktextwidgets = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/ktextwidgets-5.19.0.tar.xz"; + sha256 = "1xydb76r6x1p10bkr2nlqg3md78jw8zvqad0h42dgvl4f5xvjknp"; + name = "ktextwidgets-5.19.0.tar.xz"; + }; + }; + kunitconversion = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kunitconversion-5.19.0.tar.xz"; + sha256 = "11g1vhqkrb1k748drj7klkbb7jca3dybakcmcgqf53g8vxfih8kb"; + name = "kunitconversion-5.19.0.tar.xz"; + }; + }; + kwallet = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kwallet-5.19.0.tar.xz"; + sha256 = "0z0c62fdfx9syrq6z7bk0ihac4yqyxpycll7h3mijj29km4jnpjm"; + name = "kwallet-5.19.0.tar.xz"; + }; + }; + kwidgetsaddons = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kwidgetsaddons-5.19.0.tar.xz"; + sha256 = "0b85ng0dj5gpzifqmhyzgx61nb37vq7d0gvfpfazlcp5n27ywivm"; + name = "kwidgetsaddons-5.19.0.tar.xz"; + }; + }; + kwindowsystem = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kwindowsystem-5.19.0.tar.xz"; + sha256 = "115xs34r74j9zcsw69glnh8w59iyh764n3gniawwrk23c6yb8fch"; + name = "kwindowsystem-5.19.0.tar.xz"; + }; + }; + kxmlgui = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kxmlgui-5.19.0.tar.xz"; + sha256 = "1al2xifiyvl3zpva9nqap8gb6vqfgmf2fnhkmymm02rwg4yn4gah"; + name = "kxmlgui-5.19.0.tar.xz"; + }; + }; + kxmlrpcclient = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/kxmlrpcclient-5.19.0.tar.xz"; + sha256 = "0lji7cxvh2lmjz42lx6ymz962gr4cyqfzksz0n5vgzfk5z0vq98g"; + name = "kxmlrpcclient-5.19.0.tar.xz"; + }; + }; + modemmanager-qt = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/modemmanager-qt-5.19.0.tar.xz"; + sha256 = "05x9jicryjw9fj02arpya8xsh79rsnljnqjfpwbb7pi38f9i8v4w"; + name = "modemmanager-qt-5.19.0.tar.xz"; + }; + }; + networkmanager-qt = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/networkmanager-qt-5.19.0.tar.xz"; + sha256 = "0wi0mkygzbvvyil1nyzc3ihgilvpx6j7caqaa9k38p85g93vsq13"; + name = "networkmanager-qt-5.19.0.tar.xz"; + }; + }; + oxygen-icons5 = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/oxygen-icons5-5.19.0.tar.xz"; + sha256 = "09vfwcyidj3bl0qr4sq78bkc69zp9x8dwp8bsay5y05q8591dkg0"; + name = "oxygen-icons5-5.19.0.tar.xz"; + }; + }; + plasma-framework = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/plasma-framework-5.19.0.tar.xz"; + sha256 = "1588r1jag0s9hhw4qq7mr2mcdd3d9az5ngb3z1l58xdhvfcc4497"; + name = "plasma-framework-5.19.0.tar.xz"; + }; + }; + solid = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/solid-5.19.0.tar.xz"; + sha256 = "02bnvhscb55r6q5hkyh7rqi6zsc3r974y3x9shi8l0xbs78snkgz"; + name = "solid-5.19.0.tar.xz"; + }; + }; + sonnet = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/sonnet-5.19.0.tar.xz"; + sha256 = "02ringh0wyiq1n19c200bcyf5x2w5jhw0pcxvfjzjai1sjig03x7"; + name = "sonnet-5.19.0.tar.xz"; + }; + }; + threadweaver = { + version = "5.19.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.19/threadweaver-5.19.0.tar.xz"; + sha256 = "1jm1sw7xq76s2ggghm6qqdn7452myy9n7p5zzdb01qbaw2y1x4pw"; + name = "threadweaver-5.19.0.tar.xz"; + }; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix b/pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix new file mode 100644 index 000000000000..52817921cc72 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, extra-cmake-modules +}: + +kdeFramework { + name = "threadweaver"; + nativeBuildInputs = [ extra-cmake-modules ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix index f4ea47e633f9..b324494faff7 100644 --- a/pkgs/development/libraries/lame/default.nix +++ b/pkgs/development/libraries/lame/default.nix @@ -32,6 +32,9 @@ stdenv.mkDerivation rec { patches = [ ./gcc-4.9.patch ]; + outputs = [ "out" "lib" "doc" ]; # a small single header + outputMan = "out"; + nativeBuildInputs = [ ] ++ optional nasmSupport nasm; diff --git a/pkgs/development/libraries/lcms/default.nix b/pkgs/development/libraries/lcms/default.nix index c98a01f6f70f..9365cf0b5f09 100644 --- a/pkgs/development/libraries/lcms/default.nix +++ b/pkgs/development/libraries/lcms/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation { sha256 = "1abkf8iphwyfs3z305z3qczm3z1i9idc1lz4gvfg92jnkz5k5bl0"; }; + outputs = [ "dev" "out" "bin" "man" ]; + meta = { description = "Color management engine"; homepage = http://www.littlecms.com/; diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix index db82c943d7c2..7dea029491aa 100644 --- a/pkgs/development/libraries/lcms2/default.nix +++ b/pkgs/development/libraries/lcms2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, libtiff, libjpeg, zlib}: +{ stdenv, fetchurl, libtiff, libjpeg, zlib }: stdenv.mkDerivation rec { name = "lcms2-2.7"; @@ -8,13 +8,14 @@ stdenv.mkDerivation rec { sha256 = "0lvaglcjsvnyglgj3cb3pjc22nq8fml1vlx5dmmmw66ywx526925"; }; + outputs = [ "dev" "out" "bin" ]; + propagatedBuildInputs = [ libtiff libjpeg zlib ]; - meta = { + meta = with stdenv.lib; { description = "Color management engine"; homepage = http://www.littlecms.com/; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.urkud ]; + license = licenses.mit; + platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix index c0a6d4b6b1f1..776cd0f5b91f 100644 --- a/pkgs/development/libraries/libao/default.nix +++ b/pkgs/development/libraries/libao/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { sha256 = "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83"; }; + outputs = [ "dev" "out" "doc" ]; + buildInputs = [ pkgconfig ] ++ lib.optional stdenv.isLinux (if usePulseAudio then libpulseaudio else alsaLib) ++ diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix index ff33043dbaea..467dd87f43e9 100644 --- a/pkgs/development/libraries/libarchive/default.nix +++ b/pkgs/development/libraries/libarchive/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { preFixup = '' sed -i $out/lib/libarchive.la \ - -e 's|-lcrypto|-L${openssl}/lib -lcrypto|' \ + -e 's|-lcrypto|-L${openssl.out}/lib -lcrypto|' \ -e 's|-llzo2|-L${lzo}/lib -llzo2|' ''; diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix index a9c83594179f..f2f31963d670 100644 --- a/pkgs/development/libraries/libassuan/default.nix +++ b/pkgs/development/libraries/libassuan/default.nix @@ -8,13 +8,16 @@ stdenv.mkDerivation rec { sha256 = "086bbcdnvs48qq5g4iac7dpk76j0q3jrp16mchdvyx0b720xq1mv"; }; + outputs = [ "dev" "out" "info" ]; + outputBin = "dev"; # libassuan-config + buildInputs = [ libgpgerror pth ]; doCheck = true; # Make sure includes are fixed for callers who don't use libassuan-config postInstall = '' - sed -i 's,#include <gpg-error.h>,#include "${libgpgerror}/include/gpg-error.h",g' $out/include/assuan.h + sed -i 's,#include <gpg-error.h>,#include "${libgpgerror.dev}/include/gpg-error.h",g' $dev/include/assuan.h ''; meta = { diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index 4d5563adab02..b84b852691fd 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -7,10 +7,10 @@ , x264Support ? false, x264 ? null , xvidSupport ? true, xvidcore ? null , faacSupport ? false, faac ? null -, vaapiSupport ? false, libva ? null # ToDo: it has huge closure +, vaapiSupport ? true, libva ? null , vdpauSupport ? true, libvdpau ? null , freetypeSupport ? true, freetype ? null # it's small and almost everywhere -, SDL # only for avplay in $tools, adds nontrivial closure to it +, SDL # only for avplay in $bin, adds nontrivial closure to it , enableGPL ? true # ToDo: some additional default stuff may need GPL , enableUnfree ? faacSupport }: @@ -81,20 +81,18 @@ let enableParallelBuilding = true; - outputs = [ "out" "tools" ]; + outputs = [ "dev" "out" "bin" ]; + setOutputFlags = false; # alltools to build smaller tools, incl. aviocat, ismindex, qt-faststart, etc. buildFlags = "all alltools install-man"; postInstall = '' - # move avplay to get rid of the SDL dependency in the main output - mkdir -p "$tools/bin" - mv "$out/bin/avplay" "$tools/bin" - + moveToOutput bin "$bin" # alltools target compiles an executable in tools/ for every C # source file in tools/, so move those to $out for tool in $(find tools -type f -executable); do - mv "$tool" "$out/bin/" + mv "$tool" "$bin/bin/" done ''; diff --git a/pkgs/development/libraries/libcaca/default.nix b/pkgs/development/libraries/libcaca/default.nix index c3059642382a..7a905d9c82a6 100644 --- a/pkgs/development/libraries/libcaca/default.nix +++ b/pkgs/development/libraries/libcaca/default.nix @@ -11,10 +11,17 @@ stdenv.mkDerivation rec { sha256 = "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj"; }; + outputs = [ "dev" "bin" "out" "man" ]; + configureFlags = "--disable-x11 --disable-imlib2 --disable-doc"; propagatedBuildInputs = [ ncurses zlib ]; + postInstall = '' + mkdir -p $dev/bin + mv $bin/bin/caca-config $dev/bin/caca-config + ''; + meta = { homepage = http://libcaca.zoy.org/; description = "A graphics library that outputs text instead of pixels"; diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix index b441719d31cd..8e3523a27e9f 100644 --- a/pkgs/development/libraries/libcanberra/default.nix +++ b/pkgs/development/libraries/libcanberra/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { postInstall = '' for f in $out/lib/*.la; do - sed 's|-lltdl|-L${libtool}/lib -lltdl|' -i $f + sed 's|-lltdl|-L${libtool.lib}/lib -lltdl|' -i $f done ''; diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix index ccc0a1996549..f64174778b20 100644 --- a/pkgs/development/libraries/libdbi-drivers/default.nix +++ b/pkgs/development/libraries/libdbi-drivers/default.nix @@ -31,11 +31,11 @@ stdenv.mkDerivation rec { ] ++ optionals (postgresql != null) [ "--with-pgsql" "--with-pgsql_incdir=${postgresql}/include" - "--with-pgsql_libdir=${postgresql}/lib" + "--with-pgsql_libdir=${postgresql.lib}/lib" ] ++ optionals (sqlite != null) [ "--with-sqlite3" - "--with-sqlite3-incdir=${sqlite}/include/sqlite" - "--with-sqlite3-libdir=${sqlite}/lib/sqlite" + "--with-sqlite3-incdir=${sqlite.dev}/include/sqlite" + "--with-sqlite3-libdir=${sqlite.out}/lib/sqlite" ]; installFlags = [ "DESTDIR=\${out}" ]; diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 154277f9cc66..ad524ffeb027 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "79cb8e988749794edfb2d777b298d5292eff353bbbb71ed813589e61d2bc2d76"; }; + outputs = [ "dev" "out" ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libpthreadstubs libpciaccess ] ++ stdenv.lib.optional stdenv.isLinux udev; diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix index d68b0a367517..c5cdec0ae5ff 100644 --- a/pkgs/development/libraries/libdvdcss/default.nix +++ b/pkgs/development/libraries/libdvdcss/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { name = "libdvdcss-${version}"; @@ -9,8 +9,10 @@ stdenv.mkDerivation rec { sha256 = "158k9zagmbk5bkbz96l6lwhh7xcgfcnzflkr4vblskhcab6llhbw"; }; - meta = { + meta = with stdenv.lib; { homepage = http://www.videolan.org/developers/libdvdcss.html; description = "A library for decrypting DVDs"; + license = licenses.gpl2; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix index 6e8d85cb88d9..7868c2cfd140 100644 --- a/pkgs/development/libraries/libedit/default.nix +++ b/pkgs/development/libraries/libedit/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { postInstall = '' find $out/lib -type f | grep '\.\(la\|pc\)''$' | xargs sed -i \ - -e 's,-lncurses[a-z]*,-L${ncurses}/lib -lncursesw,g' + -e 's,-lncurses[a-z]*,-L${ncurses.out}/lib -lncursesw,g' ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix index 048902f4fc49..623256bb6b7b 100644 --- a/pkgs/development/libraries/libelf/default.nix +++ b/pkgs/development/libraries/libelf/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, gettext, glibc }: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "libelf-0.8.13"; src = fetchurl { @@ -15,6 +15,11 @@ stdenv.mkDerivation (rec { nativeBuildInputs = [ glibc ]; }; + # Libelf's custom NLS macros fail to determine the catalog file extension on + # Darwin, so disable NLS for now. + # FIXME: Eventually make Gettext a build input on all platforms. + configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-nls"; + buildInputs = [ gettext ]; meta = { @@ -28,12 +33,3 @@ stdenv.mkDerivation (rec { maintainers = [ ]; }; } - -// - -# Libelf's custom NLS macros fail to determine the catalog file extension on -# Darwin, so disable NLS for now. -# FIXME: Eventually make Gettext a build input on all platforms. -(if stdenv.isDarwin - then { configureFlags = [ "--disable-nls" ]; } - else { })) diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix index bddda9f3eadd..b0b537ddb175 100644 --- a/pkgs/development/libraries/libevent/default.nix +++ b/pkgs/development/libraries/libevent/default.nix @@ -8,14 +8,14 @@ stdenv.mkDerivation { url = "mirror://sourceforge/levent/libevent-${version}-stable.tar.gz"; sha256 = "18qz9qfwrkakmazdlwxvjmw8p76g70n3faikwvdwznns1agw9hki"; }; + postPatch = "patchShebangs event_rpcgen.py"; + + outputs = [ "dev" "out" ]; + outputBin = "dev"; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ openssl python ] ++ stdenv.lib.optional stdenv.isCygwin findutils; - patchPhase = '' - patchShebangs event_rpcgen.py - ''; - meta = with stdenv.lib; { description = "Event notification library"; diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix index 18387c904f83..2b6571290dfb 100644 --- a/pkgs/development/libraries/libextractor/default.nix +++ b/pkgs/development/libraries/libextractor/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { configureFlags = "--disable-ltdl-install " + "--with-ltdl-include=${libtool}/include " - + "--with-ltdl-lib=${libtool}/lib " + + "--with-ltdl-lib=${libtool.lib}/lib " + "--enable-xpdf"; # Checks need to be run after "make install", otherwise plug-ins are not in diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index 5c981e664cb4..962f716c120a 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -8,7 +8,9 @@ stdenv.mkDerivation rec { sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh"; }; - patches = if stdenv.isCygwin then [ ./3.2.1-cygwin.patch ] else null; + patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch; + + outputs = [ "dev" "out" "doc" ]; buildInputs = stdenv.lib.optional doCheck dejagnu; @@ -21,9 +23,13 @@ stdenv.mkDerivation rec { dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling. - # Install headers in the right place. - postInstall = '' - ln -s${if (stdenv.isFreeBSD || stdenv.isOpenBSD || stdenv.isDarwin) then "" else "r"}v "$out/lib/"libffi*/include "$out/include" + # Install headers and libs in the right places. + postFixup = '' + mkdir -p "$dev/" + mv "$out/lib/${name}/include" "$dev/include" + rmdir "$out/lib/${name}" + substituteInPlace "$dev/lib/pkgconfig/libffi.pc" \ + --replace 'includedir=''${libdir}/libffi-3.2.1' "includedir=$dev" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix index efa9b90e869f..db17b46b0d35 100644 --- a/pkgs/development/libraries/libfm/default.nix +++ b/pkgs/development/libraries/libfm/default.nix @@ -3,11 +3,15 @@ let inherit (stdenv.lib) optional; in -stdenv.mkDerivation { - name = if extraOnly then "libfm-extra-1.2.3" else "libfm-1.2.3"; +stdenv.mkDerivation rec { + name = if extraOnly + then "libfm-extra-${version}" + else "libfm-${version}"; + version = "1.2.4"; + src = fetchurl { - url = "mirror://sourceforge/pcmanfm/libfm-1.2.3.tar.xz"; - sha256 = "1ygvw52262r3jp1f45m9cdpx5xgvd4rkyfszslfqvg2c99ig34n6"; + url = "mirror://sourceforge/pcmanfm/libfm-${version}.tar.xz"; + sha256 = "0bsh4p7h2glhxf1cc1lvbxyb4qy0y1zsnl9izf7vrldkikrgc13q"; }; buildInputs = [ glib gtk intltool pango pkgconfig vala ] diff --git a/pkgs/development/libraries/libgcrypt/1.5.nix b/pkgs/development/libraries/libgcrypt/1.5.nix index 990e73d0a63e..d77946e5ec37 100644 --- a/pkgs/development/libraries/libgcrypt/1.5.nix +++ b/pkgs/development/libraries/libgcrypt/1.5.nix @@ -17,9 +17,9 @@ stdenv.mkDerivation rec { # Make sure libraries are correct for .pc and .la files # Also make sure includes are fixed for callers who don't use libgpgcrypt-config postInstall = '' - sed -i 's,#include <gpg-error.h>,#include "${libgpgerror}/include/gpg-error.h",g' $out/include/gcrypt.h + sed -i 's,#include <gpg-error.h>,#include "${libgpgerror.dev}/include/gpg-error.h",g' $out/include/gcrypt.h '' + stdenv.lib.optionalString enableCapabilities '' - sed -i 's,\(-lcap\),-L${libcap}/lib \1,' $out/lib/libgcrypt.la + sed -i 's,\(-lcap\),-L${libcap.out}/lib \1,' $out/lib/libgcrypt.la ''; doCheck = true; diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index 835d6f0f5c29..f36113090ce4 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -10,16 +10,19 @@ stdenv.mkDerivation rec { sha256 = "0959mwfzsxhallxdqlw359xg180ll2skxwyy35qawmfl89cbr7pl"; }; + outputs = [ "dev" "out" "info" ]; + outputBin = "dev"; + buildInputs = [ libgpgerror ] ++ lib.optional enableCapabilities libcap; # Make sure libraries are correct for .pc and .la files # Also make sure includes are fixed for callers who don't use libgpgcrypt-config - postInstall = '' - sed -i 's,#include <gpg-error.h>,#include "${libgpgerror}/include/gpg-error.h",g' $out/include/gcrypt.h + postFixup = '' + sed -i 's,#include <gpg-error.h>,#include "${libgpgerror.dev}/include/gpg-error.h",g' "$dev/include/gcrypt.h" '' + stdenv.lib.optionalString enableCapabilities '' - sed -i 's,\(-lcap\),-L${libcap}/lib \1,' $out/lib/libgcrypt.la + sed -i 's,\(-lcap\),-L${libcap.out}/lib \1,' $out/lib/libgcrypt.la ''; # TODO: figure out why this is even necessary and why the missing dylib only crashes diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix index 26214bd8801b..9c4f3705b3ed 100644 --- a/pkgs/development/libraries/libgpg-error/default.nix +++ b/pkgs/development/libraries/libgpg-error/default.nix @@ -10,6 +10,9 @@ stdenv.mkDerivation rec { postPatch = "sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure"; + outputs = [ "dev" "out" "info" ]; + outputBin = "dev"; # deps want just the lib, most likely + # If architecture-dependent MO files aren't available, they're generated # during build, so we need gettext for cross-builds. crossAttrs.buildInputs = [ gettext ]; @@ -25,7 +28,7 @@ stdenv.mkDerivation rec { doCheck = true; - meta = { + meta = with stdenv.lib; { homepage = "https://www.gnupg.org/related_software/libgpg-error/index.html"; description = "A small library that defines common error values for all GnuPG components"; @@ -36,9 +39,9 @@ stdenv.mkDerivation rec { Daemon and possibly more in the future. ''; - license = stdenv.lib.licenses.lgpl2Plus; - platforms = stdenv.lib.platforms.all; - maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + license = licenses.lgpl2Plus; + platforms = platforms.all; + maintainers = [ maintainers.fuuzetsu ]; }; } diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix index e25cdb61d86a..55129a94476a 100644 --- a/pkgs/development/libraries/libgphoto2/default.nix +++ b/pkgs/development/libraries/libgphoto2/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "0chz57rhzdz1cbdjw1q5rs439s879kk06jrci4jyn5rlm7iyic6d"; + sha256 = "1wjf79ipqwb5phfjjwf15rwgigakylnfqaj4crs5qnds6ba6i1ld"; }; nativeBuildInputs = [ pkgconfig gettext ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { MTP, and other vendor specific protocols for controlling and transferring data from digital cameras. ''; - version = "2.5.9"; + version = "2.5.10"; # XXX: the homepage claims LGPL, but several src files are lgpl21Plus license = stdenv.lib.licenses.lgpl21Plus; platforms = with stdenv.lib.platforms; unix; diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index b7e774b52235..25d1ceb40bdb 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -4,11 +4,11 @@ with { inherit (stdenv.lib) optionals; }; stdenv.mkDerivation rec { - name = "libgsf-1.14.34"; + name = "libgsf-1.14.36"; src = fetchurl { url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz"; - sha256 = "f0fea447e0374a73df45b498fd1701393f8e6acb39746119f8a292fb4a0cb528"; + sha256 = "0h19ssxzz0cmznwga2xy55kjibm24mwxqarnpd0w7xy0hrzm1dvi"; }; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix index 2e3307b54bf5..8901fef21fd0 100644 --- a/pkgs/development/libraries/libguestfs/default.nix +++ b/pkgs/development/libraries/libguestfs/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { configureFlags = "--disable-appliance --disable-daemon"; patches = [ ./libguestfs-syms.patch ]; - NIX_CFLAGS_COMPILE="-I${libxml2}/include/libxml2/"; + NIX_CFLAGS_COMPILE="-I${libxml2.dev}/include/libxml2/"; postInstall = '' for bin in $out/bin/*; do diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix index c3c6c13c98fc..b16dc8357414 100644 --- a/pkgs/development/libraries/libidn/default.nix +++ b/pkgs/development/libraries/libidn/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1xf4hphhahcjm2xwx147lfpsavjwv9l4c2gf6hx71zxywbz5lpds"; }; + outputs = [ "dev" "out" "bin" "info" "docdev" ]; + doCheck = ! stdenv.isDarwin; buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv; diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index 3660a652e79d..79cf45a8005f 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, nasm }: +{ stdenv, fetchurl, nasm, autoreconfHook }: stdenv.mkDerivation rec { name = "libjpeg-turbo-1.4.2"; @@ -8,7 +8,11 @@ stdenv.mkDerivation rec { sha256 = "0gi349hp1x7mb98s4mf66sb2xay2kjjxj9ihrriw0yiy0k9va6sj"; }; - buildInputs = [ nasm ]; + outputs = [ "dev" "out" "doc" "bin" ]; + + buildInputs = [ autoreconfHook nasm ]; + + enableParallelBuilding = true; doCheck = true; checkTarget = "test"; diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix index bf2ebb27f37f..025be2009599 100644 --- a/pkgs/development/libraries/libjpeg/default.nix +++ b/pkgs/development/libraries/libjpeg/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation { configureFlags = optional static "--enable-static --disable-shared"; + outputs = [ "dev" "out" "man" "bin" ]; + meta = { homepage = http://www.ijg.org/; description = "A library that implements the JPEG image file format"; diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix index f910741c446e..8baf4a77c362 100644 --- a/pkgs/development/libraries/libmbim/default.nix +++ b/pkgs/development/libraries/libmbim/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0abv0h9c3kbw4bq1b9270sg189jcjj3x3wa91bj836ynwg9m34wl"; }; + outputs = [ "dev" "out" "doc" ]; + preConfigure = '' patchShebangs . ''; diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix index 3ef4ba77c31c..c68187945334 100644 --- a/pkgs/development/libraries/libmicrohttpd/default.nix +++ b/pkgs/development/libraries/libmicrohttpd/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "07j1p21rvbrrfpxngk8xswzkmjkh94bp1971xfjh1p0ja709qwzj"; }; - outputs = [ "out" "info" ]; + outputs = [ "dev" "out" "docdev" ]; buildInputs = [ libgcrypt ]; diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix index 234f56863c09..b97ee6a4ced0 100644 --- a/pkgs/development/libraries/libmng/default.nix +++ b/pkgs/development/libraries/libmng/default.nix @@ -8,13 +8,16 @@ stdenv.mkDerivation rec { sha256 = "0l5wa3b9rr4zl49zbbjpapqyccqjwzkzw1ph3p4pk9p5h73h9317"; }; + outputs = [ "dev" "out" "docdev" ]; + outputMan= "docdev"; + propagatedBuildInputs = [ zlib libpng libjpeg lcms2 ]; - meta = { + meta = with stdenv.lib; { description = "Reference library for reading, displaying, writing and examining Multiple-Image Network Graphics"; homepage = http://www.libmng.com; - license = stdenv.lib.licenses.zlib; - maintainers = with stdenv.lib.maintainers; [ marcweber urkud ]; - hydraPlatforms = stdenv.lib.platforms.linux; + license = licenses.zlib; + maintainers = with maintainers; [ marcweber urkud ]; + hydraPlatforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix index 1e8ea0ffa138..2a4600f52045 100644 --- a/pkgs/development/libraries/libmpc/default.nix +++ b/pkgs/development/libraries/libmpc/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ gmp mpfr ]; - CFLAGS = "-I${gmp}/include"; + CFLAGS = "-I${gmp.dev}/include"; doCheck = true; diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix index 13b405019336..671169b9ab3a 100644 --- a/pkgs/development/libraries/libmtp/default.nix +++ b/pkgs/development/libraries/libmtp/default.nix @@ -3,17 +3,19 @@ stdenv.mkDerivation rec { name = "libmtp-1.1.9"; - propagatedBuildInputs = [ libusb1 ]; - buildInputs = [ pkgconfig ]; - - # tried to install files to /lib/udev, hopefully OK - configureFlags = [ "--with-udev=$$out/lib/udev" ]; - src = fetchurl { url = "mirror://sourceforge/libmtp/${name}.tar.gz"; sha256 = "12dinqic0ljnhrwx3rc61jc7q24ybr0mckc2ya5kh1s1np0d7w93"; }; + outputs = [ "dev" "bin" "out" ]; + + propagatedBuildInputs = [ libusb1 ]; + buildInputs = [ pkgconfig ]; + + # tried to install files to /lib/udev, hopefully OK + configureFlags = [ "--with-udev=$$bin/lib/udev" ]; + meta = { homepage = http://libmtp.sourceforge.net; description = "An implementation of Microsoft's Media Transfer Protocol"; diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix index 479a187cf87c..f62fb400199f 100644 --- a/pkgs/development/libraries/liboauth/default.nix +++ b/pkgs/development/libraries/liboauth/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { postInstall = '' substituteInPlace $out/lib/liboauth.la \ - --replace "-lnss3" "-L${nss}/lib -lnss3" + --replace "-lnss3" "-L${nss.out}/lib -lnss3" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix index 407e218065bb..1aa4b8ad0453 100644 --- a/pkgs/development/libraries/libogg/default.nix +++ b/pkgs/development/libraries/libogg/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" "doc" ]; meta = with stdenv.lib; { homepage = http://xiph.org/ogg/; diff --git a/pkgs/development/libraries/liboil/default.nix b/pkgs/development/libraries/liboil/default.nix index 43b1f3470934..754e308ac15b 100644 --- a/pkgs/development/libraries/liboil/default.nix +++ b/pkgs/development/libraries/liboil/default.nix @@ -8,10 +8,13 @@ stdenv.mkDerivation rec { sha256 = "0sgwic99hxlb1av8cm0albzh8myb7r3lpcwxfm606l0bkc3h4pqh"; }; - buildInputs = [ pkgconfig ]; - patches = [ ./x86_64-cpuid.patch ]; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; # oil-bugreport + + nativeBuildInputs = [ pkgconfig ]; + # fix "argb_paint_i386.c:53:Incorrect register `%rax' used with `l' suffix" # errors configureFlags = stdenv.lib.optional stdenv.isDarwin "--build=x86_64"; diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix index 460aaa2b0eca..b8951e66c8bd 100644 --- a/pkgs/development/libraries/libopus/default.nix +++ b/pkgs/development/libraries/libopus/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "158xprn2086arvdib3vbbygz7z6jqkw2nci7nlywzzwallap0wmr"; }; + outputs = [ "dev" "out" ]; + configureFlags = stdenv.lib.optional fixedPoint "--enable-fixed-point" ++ stdenv.lib.optional withCustomModes "--enable-custom-modes"; diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix index 7ae3d0e1d682..01e90cb19132 100644 --- a/pkgs/development/libraries/libpng/12.nix +++ b/pkgs/development/libraries/libpng/12.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { sha256 = "0zkra0b9lrpk2axassdgkqinmc2ba6b473sm52xbpyknaqs2fljy"; }; + outputs = [ "dev" "out" "man" ]; + propagatedBuildInputs = [ zlib ]; passthru = { inherit zlib; }; @@ -21,6 +23,8 @@ stdenv.mkDerivation rec { configureFlags = "--enable-static"; + postInstall = ''mv "$out/bin" "$dev/bin"''; + meta = with stdenv.lib; { description = "The official reference implementation for the PNG file format"; homepage = http://www.libpng.org/pub/png/libpng.html; diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index 4e18dcb680f9..6faed97aaee2 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -18,13 +18,18 @@ in stdenv.mkDerivation rec { url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz"; inherit sha256; }; - postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1"; + outputs = [ "dev" "out" "man" ]; + propagatedBuildInputs = [ zlib ]; + preConfigure = "export bin=$dev"; + doCheck = true; + postInstall = ''mv "$out/bin" "$dev/bin"''; + passthru = { inherit zlib; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix index 7085236feb52..0f0808506398 100644 --- a/pkgs/development/libraries/libproxy/default.nix +++ b/pkgs/development/libraries/libproxy/default.nix @@ -7,6 +7,8 @@ stdenv.mkDerivation rec { sha256 = "0jw6454gxjykmbnbh544axi8hzz9gmm4jz1y5gw1hdqnakg36gyw"; }; + outputs = [ "dev" "out" ]; # to deal with propagatedBuildInputs + nativeBuildInputs = [ pkgconfig cmake ]; propagatedBuildInputs = [ zlib ] # now some optional deps, but many more are possible diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix index 9699d67d7b87..82768cd350dd 100644 --- a/pkgs/development/libraries/libqmi/default.nix +++ b/pkgs/development/libraries/libqmi/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "101ppan2q1h4pyp2zbn9b8sdwy2c7fk9rp91yykxz3afrvzbymq8"; }; + outputs = [ "dev" "out" "docdev" ]; + preBuild = '' patchShebangs . ''; diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix index 3d564fc00f8b..031886d34516 100644 --- a/pkgs/development/libraries/libraw/default.nix +++ b/pkgs/development/libraries/libraw/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "043kckxjqanw8dl3m9f6kvsf0l20ywxmgxd1xb0slj6m8l4w4hz6"; }; - buildInputs = [ lcms2 jasper ] ; + buildInputs = [ lcms2 jasper ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index ea1910733e7d..0768a21bf543 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic"; NIX_CFLAGS_COMPILE - = stdenv.lib.optionalString stdenv.isDarwin "-I${cairo}/include/cairo"; + = stdenv.lib.optionalString stdenv.isDarwin "-I${cairo.dev}/include/cairo"; # It wants to add loaders and update the loaders.cache in gdk-pixbuf # Patching the Makefiles to it creates rsvg specific loaders and the @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { # Merge gdkpixbuf and librsvg loaders postInstall = '' mv $GDK_PIXBUF/loaders.cache $GDK_PIXBUF/loaders.cache.tmp - cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache $GDK_PIXBUF/loaders.cache.tmp > $GDK_PIXBUF/loaders.cache + cat ${gdk_pixbuf.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache $GDK_PIXBUF/loaders.cache.tmp > $GDK_PIXBUF/loaders.cache rm $GDK_PIXBUF/loaders.cache.tmp ''; } diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix index 481d82c0c9ad..f0ff549c7168 100644 --- a/pkgs/development/libraries/libsamplerate/default.nix +++ b/pkgs/development/libraries/libsamplerate/default.nix @@ -1,6 +1,4 @@ -{ stdenv, fetchurl, pkgconfig -, fftw, libsndfile -}: +{ stdenv, fetchurl, pkgconfig, libsndfile }: stdenv.mkDerivation rec { name = "libsamplerate-0.1.8"; @@ -11,12 +9,14 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ fftw libsndfile ]; + buildInputs = [ libsndfile ]; # maybe interesting configure flags: #--disable-fftw disable usage of FFTW #--disable-cpu-clip disable tricky cpu specific clipper + outputs = [ "dev" "bin" "out" ]; + postConfigure = stdenv.lib.optionalString stdenv.isDarwin '' # need headers from the Carbon.framework in /System/Library/Frameworks to diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix index 48a2999e7af9..547c7647b7a8 100644 --- a/pkgs/development/libraries/libsndfile/default.nix +++ b/pkgs/development/libraries/libsndfile/default.nix @@ -3,16 +3,20 @@ }: stdenv.mkDerivation rec { - name = "libsndfile-1.0.25"; + name = "libsndfile-1.0.26"; src = fetchurl { url = "http://www.mega-nerd.com/libsndfile/files/${name}.tar.gz"; - sha256 = "10j8mbb65xkyl0kfy0hpzpmrp0jkr12c7mfycqipxgka6ayns0ar"; + sha256 = "14jhla289cj45946h0hq2an0a9g4wkwb3v4571bla6ixfvn20rfd"; }; buildInputs = [ pkgconfig flac libogg libvorbis ] ++ stdenv.lib.optional stdenv.isDarwin Carbon; + enableParallelBuilding = true; + + outputs = [ "dev" "out" "bin" "doc" ]; + # need headers from the Carbon.framework in /System/Library/Frameworks to # compile this on darwin -- not sure how to handle preConfigure = stdenv.lib.optionalString stdenv.isDarwin diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix index 1490e15c361f..e8b3bc1cebc9 100644 --- a/pkgs/development/libraries/libsodium/default.nix +++ b/pkgs/development/libraries/libsodium/default.nix @@ -8,7 +8,9 @@ stdenv.mkDerivation rec { sha256 = "1gn45g956lyz8l6iq187yc6l627vyivyp8qc5dkr6dnhdnlqddvi"; }; - NIX_LDFLAGS = stdenv.lib.optionalString stdenv.cc.isGNU "-lssp"; + outputs = [ "dev" "out" ]; + + enableParallelBuilding = true; doCheck = true; diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix index 3d10e6135055..aa84c507c97a 100644 --- a/pkgs/development/libraries/libsoup/default.nix +++ b/pkgs/development/libraries/libsoup/default.nix @@ -18,11 +18,13 @@ stdenv.mkDerivation { patchShebangs libsoup/ ''; + outputs = [ "dev" "out" ]; + buildInputs = libintlOrEmpty ++ [ intltool python sqlite ]; nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ] ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring ]; - passthru.propagatedUserEnvPackages = [ glib_networking ]; + passthru.propagatedUserEnvPackages = [ glib_networking.out ]; # glib_networking is a runtime dependency, not a compile-time dependency configureFlags = "--disable-tls-check --enable-vala=no" + stdenv.lib.optionalString (!gnomeSupport) " --without-gnome"; diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix index 17538a6c3803..adfd11d9b197 100644 --- a/pkgs/development/libraries/libssh/default.nix +++ b/pkgs/development/libraries/libssh/default.nix @@ -13,6 +13,8 @@ stdenv.mkDerivation rec { sed -i 's,nacl/,sodium/,g' ./include/libssh/curve25519.h src/curve25519.c ''; + outputs = [ "dev" "out" ]; + buildInputs = [ zlib openssl libsodium ]; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix index 326817843351..855e57c0550a 100644 --- a/pkgs/development/libraries/libssh2/default.nix +++ b/pkgs/development/libraries/libssh2/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "116mh112w48vv9k3f15ggp5kxw5sj4b88dzb5j69llsh7ba1ymp4"; }; + outputs = [ "dev" "out" "docdev" ]; + buildInputs = [ openssl zlib ]; crossAttrs = { diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix index 1ae26c48fc21..5ac8cc94d044 100644 --- a/pkgs/development/libraries/libtasn1/default.nix +++ b/pkgs/development/libraries/libtasn1/default.nix @@ -8,6 +8,9 @@ stdenv.mkDerivation rec { sha256 = "1j8iixynchziw1y39lnibyl5h81m4p78w3i4f28q2vgwjgf801x4"; }; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; + buildInputs = [ perl texinfo ]; doCheck = true; diff --git a/pkgs/development/libraries/libtheora/default.nix b/pkgs/development/libraries/libtheora/default.nix index da590adae062..129dface2d93 100644 --- a/pkgs/development/libraries/libtheora/default.nix +++ b/pkgs/development/libraries/libtheora/default.nix @@ -8,6 +8,9 @@ stdenv.mkDerivation rec { sha256 = "0swiaj8987n995rc7hw0asvpwhhzpjiws8kr3s6r44bqqib2k5a0"; }; + outputs = [ "dev" "out" "docdev" ]; + outputDoc = "docdev"; + nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ libogg libvorbis ]; diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix index 2c559d221abe..a506279c2a4a 100644 --- a/pkgs/development/libraries/libtiff/default.nix +++ b/pkgs/development/libraries/libtiff/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "136nf1rj9dp5jgv1p7z4dk0xy3wki1w0vfjbk82f645m0w4samsd"; }; - outputs = [ "out" "doc" "man" ]; + outputs = [ "dev" "out" "bin" "doc" ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libtoxcore/new-api/default.nix b/pkgs/development/libraries/libtoxcore/new-api/default.nix index 9702fbd02da3..eff8e2449a13 100644 --- a/pkgs/development/libraries/libtoxcore/new-api/default.nix +++ b/pkgs/development/libraries/libtoxcore/new-api/default.nix @@ -23,8 +23,8 @@ stdenv.mkDerivation rec { ''; configureFlags = [ - "--with-libsodium-headers=${libsodium}/include" - "--with-libsodium-libs=${libsodium}/lib" + "--with-libsodium-headers=${libsodium.dev}/include" + "--with-libsodium-libs=${libsodium.out}/lib" "--enable-ntox" "--enable-daemon" ]; diff --git a/pkgs/development/libraries/libtoxcore/old-api/default.nix b/pkgs/development/libraries/libtoxcore/old-api/default.nix index 471fafdad38b..2fb5e93eab95 100644 --- a/pkgs/development/libraries/libtoxcore/old-api/default.nix +++ b/pkgs/development/libraries/libtoxcore/old-api/default.nix @@ -27,8 +27,8 @@ stdenv.mkDerivation rec { ''; configureFlags = [ - "--with-libsodium-headers=${libsodium}/include" - "--with-libsodium-libs=${libsodium}/lib" + "--with-libsodium-headers=${libsodium.dev}/include" + "--with-libsodium-libs=${libsodium.out}/lib" "--enable-ntox" "--enable-daemon" ]; diff --git a/pkgs/development/libraries/libuchardet/default.nix b/pkgs/development/libraries/libuchardet/default.nix index 86428e08c475..4b81152a4329 100644 --- a/pkgs/development/libraries/libuchardet/default.nix +++ b/pkgs/development/libraries/libuchardet/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "libuchardet-${version}"; - version = "0.0.1"; + version = "0.0.5"; src = fetchFromGitHub { owner = "BYVoid"; repo = "uchardet"; - rev = "69b7133995e4ee260b093323c57a7f8c6c6803b8"; - sha256 = "0yqrc9a7wxsh2fvigjppjp55v4r1q8p40yh048xsvl3kly2rkqy9"; + rev = "v${version}"; + sha256 = "0rkym5bhq3hn7623fy0fggw0qaghha71k8bi41ywqd2lchpahrrm"; }; buildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix index 3fc8b5085590..da09e2fcbe25 100644 --- a/pkgs/development/libraries/libunwind/default.nix +++ b/pkgs/development/libraries/libunwind/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { sed -i -e '/LIBLZMA/s:-lzma:-llzma:' configure ''; + outputs = [ "dev" "out" ]; + propagatedBuildInputs = [ xz ]; NIX_CFLAGS_COMPILE = if stdenv.system == "x86_64-linux" then "-fPIC" else ""; @@ -30,7 +32,7 @@ stdenv.mkDerivation rec { postInstall = '' find $out -name \*.la | while read file; do - sed -i 's,-llzma,${xz}/lib/liblzma.la,' $file + sed -i 's,-llzma,${xz.out}/lib/liblzma.la,' $file done ''; diff --git a/pkgs/development/libraries/libusb/default.nix b/pkgs/development/libraries/libusb/default.nix index 7aec64d596fc..b1872779b707 100644 --- a/pkgs/development/libraries/libusb/default.nix +++ b/pkgs/development/libraries/libusb/default.nix @@ -3,6 +3,9 @@ stdenv.mkDerivation { name = "libusb-compat-0.1.5"; + outputs = [ "dev" "out" ]; # get rid of propagating systemd closure + outputBin = "dev"; + nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ libusb1 ]; diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index 75d6bdb4cc6a..fe920bba411f 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, udev ? null, libobjc, IOKit }: +{ stdenv, fetchurl, pkgconfig, libudev ? null, libobjc, IOKit }: stdenv.mkDerivation rec { name = "libusb-1.0.19"; @@ -8,15 +8,17 @@ stdenv.mkDerivation rec { sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c"; }; + outputs = [ "dev" "out" ]; # get rid of propagating systemd closure + buildInputs = [ pkgconfig ]; propagatedBuildInputs = - stdenv.lib.optional stdenv.isLinux udev ++ + stdenv.lib.optional stdenv.isLinux libudev ++ stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ]; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; preFixup = stdenv.lib.optionalString stdenv.isLinux '' - sed 's,-ludev,-L${udev}/lib -ludev,' -i $out/lib/libusb-1.0.la + sed 's,-ludev,-L${libudev.out}/lib -ludev,' -i $out/lib/libusb-1.0.la ''; meta = { diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix index 557d0f591553..9e22aa1d37cf 100644 --- a/pkgs/development/libraries/libva/default.nix +++ b/pkgs/development/libraries/libva/default.nix @@ -1,10 +1,9 @@ { stdenv, lib, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi -, mesa_noglu ? null +, mesa_noglu +, minimal ? true, libva }: -let - withMesa = mesa_noglu != null; -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "libva-1.6.2"; src = fetchurl { @@ -12,9 +11,15 @@ in stdenv.mkDerivation rec { sha256 = "1l4bij21shqbfllbxicmqgmay4v509v9hpxyyia9wm7gvsfg05y4"; }; - buildInputs = [ libX11 libXext pkgconfig libdrm libXfixes wayland libffi mesa_noglu ]; + outputs = [ "dev" "out" "bin" ]; - configureFlags = lib.optionals withMesa [ + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ libdrm ] + ++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ]; + # TODO: share libs between minimal and !minimal - perhaps just symlink them + + configureFlags = lib.optionals (!minimal) [ "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" "--enable-glx" ]; diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix index 446f2917fe71..3337a89dd1ce 100644 --- a/pkgs/development/libraries/libvdpau/default.nix +++ b/pkgs/development/libraries/libvdpau/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "857a01932609225b9a3a5bf222b85e39b55c08787d0ad427dbd9ec033d58d736"; }; + outputs = [ "dev" "out" ]; + buildInputs = with xorg; [ pkgconfig dri2proto libXext ]; propagatedBuildInputs = [ xorg.libX11 ]; diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 343f3b757e33..1d1945af3194 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchpatch , pkgconfig, makeWrapper , libxml2, gnutls, devicemapper, perl, python -, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext +, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , curl, libiconv, gmp, xen @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { name = "libvirt-${version}"; - version = "1.3.2"; + version = "1.3.3"; src = fetchurl { url = "http://libvirt.org/sources/${name}.tar.gz"; - sha256 = "01fg9jbifndwc3jzzizsisvz98q325xarczgf6rn11hphckgrip3"; + sha256 = "13w56fhspf7ygr3v0jhh44g25xbcx5vmrprzcy9cajsppa6knq4r"; }; patches = [ ./build-on-bsd.patch ]; @@ -24,14 +24,14 @@ stdenv.mkDerivation rec { gettext libtasn1 libgcrypt yajl libxslt xhtml1 perlPackages.XMLXPath curl libpcap ] ++ stdenv.lib.optionals stdenv.isLinux [ - libpciaccess devicemapper lvm2 utillinux udev libcap_ng + libpciaccess devicemapper lvm2 utillinux systemd.udev.lib libcap_ng libnl numad numactl xen ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv gmp ]; preConfigure = stdenv.lib.optionalString stdenv.isLinux '' - PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:$PATH + PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${systemd.udev.bin}/bin:$PATH substituteInPlace configure --replace 'as_dummy="/bin:/usr/bin:/usr/sbin"' 'as_dummy="${numad}/bin"' '' + '' PATH=${dnsmasq}/bin:$PATH diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix index 68f1fe720856..0022799c88fe 100644 --- a/pkgs/development/libraries/libvorbis/default.nix +++ b/pkgs/development/libraries/libvorbis/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1lg1n3a6r41492r7in0fpvzc7909mc5ir9z0gd3qh2pz4yalmyal"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" "doc" ]; + nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ libogg ]; diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix index 6a4756670786..5c593dd1f75e 100644 --- a/pkgs/development/libraries/libvpx/default.nix +++ b/pkgs/development/libraries/libvpx/default.nix @@ -72,6 +72,9 @@ stdenv.mkDerivation rec { patchPhase = ''patchShebangs .''; + outputs = [ "dev" "out" "bin" ]; + setOutputFlags = false; + configureFlags = [ (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8") (enableFeature vp8EncoderSupport "vp8-encoder") @@ -146,6 +149,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + postInstall = ''moveToOutput bin "$bin" ''; + crossAttrs = let isCygwin = stdenv.cross.libc == "msvcrt"; isDarwin = stdenv.cross.libc == "libSystem"; diff --git a/pkgs/development/libraries/libvpx/git.nix b/pkgs/development/libraries/libvpx/git.nix index 31b1c197e9ff..064fb807a214 100644 --- a/pkgs/development/libraries/libvpx/git.nix +++ b/pkgs/development/libraries/libvpx/git.nix @@ -73,6 +73,9 @@ stdenv.mkDerivation rec { patchPhase = ''patchShebangs .''; + outputs = [ "dev" "out" "bin" ]; + setOutputFlags = false; + configureFlags = [ (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8") (enableFeature vp8EncoderSupport "vp8-encoder") @@ -147,6 +150,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + postInstall = ''moveToOutput bin "$bin" ''; + crossAttrs = let isCygwin = stdenv.cross.libc == "msvcrt"; isDarwin = stdenv.cross.libc == "libSystem"; diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix index 6c6c0812c43c..a763af96667b 100644 --- a/pkgs/development/libraries/libwnck/3.x.nix +++ b/pkgs/development/libraries/libwnck/3.x.nix @@ -8,6 +8,9 @@ stdenv.mkDerivation { sha256 = "d48ac9c7f50c0d563097f63d07bcc83744c7d92a1b4ef65e5faeab32b5ccb723"; }; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; + patches = [ ./install_introspection_to_prefix.patch ]; buildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix index 6a4479bdda38..bb5258120494 100644 --- a/pkgs/development/libraries/libwnck/default.nix +++ b/pkgs/development/libraries/libwnck/default.nix @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { sha256 = "17isfjvrzgj5znld2a7zsk9vd39q9wnsysnw5jr8iz410z935xw3"; }; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; + buildInputs = [ pkgconfig gtk intltool xorg.libX11 xorg.libXres ]; # ?another optional: startup-notification diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix index ea74bea152c2..2bf7bbaabb31 100644 --- a/pkgs/development/libraries/libxkbcommon/default.nix +++ b/pkgs/development/libraries/libxkbcommon/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "176ii5dn2wh74q48sd8ac37ljlvgvp5f506glr96z6ibfhj7igch"; }; + outputs = [ "dev" "out" ]; + buildInputs = [ pkgconfig yacc flex xkeyboard_config libxcb ]; configureFlags = '' diff --git a/pkgs/development/libraries/libxklavier/default.nix b/pkgs/development/libraries/libxklavier/default.nix index d69276a070bb..f074b31bb682 100644 --- a/pkgs/development/libraries/libxklavier/default.nix +++ b/pkgs/development/libraries/libxklavier/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { sha256 = "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"; }; + outputs = [ "dev" "out" "docdev" ]; + # TODO: enable xmodmap support, needs xmodmap DB propagatedBuildInputs = with xorg; [ libX11 libXi xkeyboard_config libxml2 libICE glib libxkbfile isocodes ]; diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index cac8f10d37aa..f7e175373e12 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,10 +1,6 @@ -{ stdenv, fetchurl, zlib, xz, python ? null, pythonSupport ? true, findXMLCatalogs }: +{ stdenv, fetchurl, zlib, xz, python, findXMLCatalogs }: -assert pythonSupport -> python != null; - -#TODO: share most stuff between python and non-python builds, perhaps via multiple-output - -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "libxml2-${version}"; version = "2.9.3"; @@ -13,9 +9,10 @@ stdenv.mkDerivation (rec { sha256 = "0bd17g6znn2r98gzpjppsqjg33iraky4px923j3k8kdl8qgy7sad"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" "bin" "doc" "py" ]; + propagatedBuildOutputs = "out bin py"; - buildInputs = stdenv.lib.optional pythonSupport python + buildInputs = [ python ] # Libxml2 has an optional dependency on liblzma. However, on impure # platforms, it may end up using that from /usr/lib, and thus lack a # RUNPATH for that, leading to undefined references for its users. @@ -23,10 +20,21 @@ stdenv.mkDerivation (rec { propagatedBuildInputs = [ zlib findXMLCatalogs ]; - passthru = { inherit pythonSupport version; }; + configureFlags = "--with-python=${python}"; enableParallelBuilding = true; + preInstall = ''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"''; + installFlags = ''pythondir="$(py)/lib/${python.libPrefix}/site-packages"''; + + postFixup = '' + moveToOutput bin/xml2-config "$dev" + moveToOutput lib/xml2Conf.sh "$dev" + moveToOutput share/man/man1 "$bin" + ''; + + passthru = { inherit version; pythonSupport = true; }; + meta = { homepage = http://xmlsoft.org/; description = "An XML parsing library for C"; @@ -34,14 +42,4 @@ stdenv.mkDerivation (rec { platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.eelco ]; }; - -} // stdenv.lib.optionalAttrs pythonSupport { - configureFlags = "--with-python=${python}"; - - # this is a pair of ugly hacks to make python stuff install into the right place - preInstall = ''substituteInPlace python/libxml2mod.la --replace "${python}" "$out"''; - installFlags = ''pythondir="$(out)/lib/${python.libPrefix}/site-packages"''; - -} // stdenv.lib.optionalAttrs (!pythonSupport) { - configureFlags = "--with-python=no"; # otherwise build impurity bites us -}) +} diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index 9aa70ea04716..0eda42879ece 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -17,14 +17,13 @@ stdenv.mkDerivation rec { }) ]; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" "bin" "doc" ]; buildInputs = [ libxml2 ]; propagatedBuildInputs = [ findXMLCatalogs ]; configureFlags = [ - "--with-libxml-prefix=${libxml2}" "--without-python" "--without-crypto" "--without-debug" @@ -32,11 +31,17 @@ stdenv.mkDerivation rec { "--without-debugger" ]; - meta = { + postFixup = '' + moveToOutput bin/xslt-config "$dev" + moveToOutput lib/xsltConf.sh "$dev" + moveToOutput share/man/man1 "$bin" + ''; + + meta = with stdenv.lib; { homepage = http://xmlsoft.org/XSLT/; description = "A C library and tools to do XSL transformations"; license = "bsd"; - platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = platforms.unix; + maintainers = [ maintainers.eelco ]; }; } diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix index de82bd0243e9..f535b19bd0eb 100644 --- a/pkgs/development/libraries/mailcore2/default.nix +++ b/pkgs/development/libraries/mailcore2/default.nix @@ -23,9 +23,10 @@ stdenv.mkDerivation rec { substituteInPlace CMakeLists.txt \ --replace "tidy/tidy.h" "tidy.h" \ --replace "/usr/include/tidy" "${libtidy}/include" \ - --replace "/usr/include/libxml2" "${libxml2}/include/libxml2" + --replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2" substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \ --replace buffio.h tidybuffio.h +>>>>>>> master ''; cmakeFlags = [ diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 1c2257998e86..ad6bf8ba3190 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,6 +1,5 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll -, python, libxml2Python, file, expat, makedepend, pythonPackages -, libdrm, xorg, wayland, udev, llvmPackages, libffi, libomxil-bellagio +{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, autoreconfHook, substituteAll +, file, expat, libdrm, xorg, wayland, libudev, llvmPackages, libffi, libomxil-bellagio , libvdpau, libelf, libva , grsecEnabled , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt @@ -21,12 +20,13 @@ else - libOSMesa is in $osmesa (~4 MB) */ +with { inherit (stdenv.lib) optional optionalString; }; + let version = "11.1.2"; # this is the default search path for DRI drivers - driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32"; + driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32"; in -with { inherit (stdenv.lib) optional optionals optionalString; }; stdenv.mkDerivation { name = "mesa-noglu-${version}"; @@ -50,7 +50,7 @@ stdenv.mkDerivation { ] ++ optional stdenv.isLinux (substituteAll { src = ./dlopen-absolute-paths.diff; - inherit udev; + libudev = libudev.out; }); postPatch = '' @@ -58,7 +58,7 @@ stdenv.mkDerivation { --replace _EGL_DRIVER_SEARCH_DIR '"${driverLink}"' ''; - outputs = ["out" "drivers" "osmesa"]; + outputs = [ "dev" "out" "drivers" "osmesa" ]; configureFlags = [ "--sysconfdir=/etc" @@ -103,17 +103,17 @@ stdenv.mkDerivation { ] ++ optional enableTextureFloats "--enable-texture-float" ++ optional grsecEnabled "--enable-glx-rts"; # slight performance degradation, enable only for grsec - nativeBuildInputs = [ pkgconfig python makedepend file flex bison pythonPackages.Mako ]; + nativeBuildInputs = [ pkgconfig file ]; propagatedBuildInputs = with xorg; [ libXdamage libXxf86vm ] - ++ optionals stdenv.isLinux [ libdrm ]; + ++ optional stdenv.isLinux libdrm; buildInputs = with xorg; [ - autoreconfHook intltool expat libxml2Python llvmPackages.llvm + autoreconfHook intltool expat llvmPackages.llvm glproto dri2proto dri3proto presentproto libX11 libXext libxcb libXt libXfixes libxshmfence libffi wayland libvdpau libelf libXvMC /* libomxil-bellagio libva */ - ] ++ optional stdenv.isLinux udev; + ] ++ optional stdenv.isLinux libudev; enableParallelBuilding = true; doCheck = false; @@ -133,41 +133,42 @@ stdenv.mkDerivation { $out/lib/vdpau \ $out/lib/libxatracker* - mkdir -p {$osmesa,$drivers}/lib/pkgconfig + mkdir -p {$osmesa,$drivers}/lib/ mv -t $osmesa/lib/ \ $out/lib/libOSMesa* - mv -t $drivers/lib/pkgconfig/ \ - $out/lib/pkgconfig/xatracker.pc - - mv -t $osmesa/lib/pkgconfig/ \ - $out/lib/pkgconfig/osmesa.pc - '' + /* now fix references in .la files */ '' sed "/^libdir=/s,$out,$osmesa," -i \ $osmesa/lib/libOSMesa*.la - '' + /* work around bug #529, but maybe $drivers should also be patchelf-ed */ '' - find $drivers/ $osmesa/ -type f -executable -print0 | xargs -0 strip -S || true + '' + /* set the default search path for DRI drivers; used e.g. by X server */ '' + substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}" + '' + /* move vdpau drivers to $drivers/lib, so they are found */ '' + mv "$drivers"/lib/vdpau/* "$drivers"/lib/ && rmdir "$drivers"/lib/vdpau + ''; + #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM */ - '' + /* add RPATH so the drivers can find the moved libgallium and libdricore9 */ '' + postFixup = + # add RPATH so the drivers can find the moved libgallium and libdricore9 + # moved here to avoid problems with stripping patchelfed files + '' for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do if [[ ! -L "$lib" ]]; then patchelf --set-rpath "$(patchelf --print-rpath $lib):$drivers/lib" "$lib" fi done - '' + /* set the default search path for DRI drivers; used e.g. by X server */ '' - substituteInPlace "$out/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}" ''; - #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM + # ToDo + /* check $out doesn't depend on llvm */ '' + # builder failures are ignored for some reason + # grep -qv '${llvmPackages.llvm}' -R "$out" passthru = { inherit libdrm version driverLink; }; - meta = { + meta = with stdenv.lib; { description = "An open source implementation of OpenGL"; homepage = http://www.mesa3d.org/; - license = "bsd"; - platforms = stdenv.lib.platforms.mesaPlatforms; - maintainers = with stdenv.lib.maintainers; [ eduarrrd simons vcunat ]; + license = licenses.mit; # X11 variant, in most files + platforms = platforms.mesaPlatforms; + maintainers = with maintainers; [ eduarrrd simons vcunat ]; }; } diff --git a/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff b/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff index a4bb6a72b138..9a5226572239 100644 --- a/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff +++ b/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff @@ -16,7 +16,7 @@ index 4fdf3c2..69ea22d 100644 do { for (version = 1; version >= 0; version--) { - snprintf(name, sizeof(name), "libudev.so.%d", version); -+ snprintf(name, sizeof(name), "@udev@/lib/libudev.so.%d", version); ++ snprintf(name, sizeof(name), "@libudev@/lib/libudev.so.%d", version); udev_handle = dlopen(name, flags); if (udev_handle) return udev_handle; diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index 581f956b0afd..8a964af01c80 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { patches = [ ./upstream.patch ]; + outputs = [ "dev" "out" "doc" ]; + # mpfr.h requires gmp.h propagatedBuildInputs = [ gmp ]; diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix index 2fa62ced2d5b..6e4b3e6a862a 100644 --- a/pkgs/development/libraries/mygui/default.nix +++ b/pkgs/development/libraries/mygui/default.nix @@ -1,9 +1,12 @@ -{stdenv, fetchFromGitHub, libX11, unzip, ogre, cmake, ois, freetype, libuuid, boost, pkgconfig}: +{ stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid, + boost, pkgconfig, withOgre ? false, ogre ? null, mesa ? null } : -stdenv.mkDerivation rec { +let + renderSystem = if withOgre then "3" else "4"; +in stdenv.mkDerivation rec { name = "mygui-${version}"; version = "3.2.2"; - + src = fetchFromGitHub { owner = "MyGUI"; repo = "mygui"; @@ -13,11 +16,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ libX11 unzip ogre cmake ois freetype libuuid boost pkgconfig ]; + buildInputs = [ libX11 unzip cmake ois freetype libuuid boost pkgconfig (if withOgre then ogre else mesa) ]; + + # Tools are disabled due to compilation failures. + cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ]; - meta = { + meta = with stdenv.lib; { homepage = http://mygui.info/; description = "Library for creating GUIs for games and 3D applications"; - license = stdenv.lib.licenses.lgpl3Plus; + license = licenses.lgpl3Plus; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 8817e2c5523b..edd263605960 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -20,6 +20,9 @@ stdenv.mkDerivation rec { # gcc-5.patch should be removed after 5.9 patches = [ ./clang.patch ./gcc-5.patch ]; + outputs = [ "dev" "out" "man" ]; + setOutputFlags = false; # some aren't supported + configureFlags = [ "--with-shared" "--without-debug" @@ -33,9 +36,15 @@ stdenv.mkDerivation rec { buildInputs = lib.optional (mouseSupport && stdenv.isLinux) gpm; preConfigure = '' - configureFlagsArray+=("--includedir=$out/include") - export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig" + export PKG_CONFIG_LIBDIR="$dev/lib/pkgconfig" mkdir -p "$PKG_CONFIG_LIBDIR" + configureFlagsArray+=( + "--libdir=$out/lib" + "--includedir=$dev/include" + "--bindir=$dev/bin" + "--mandir=$man/share/man" + "--with-pkg-config-libdir=$PKG_CONFIG_LIBDIR" + ) '' + lib.optionalString stdenv.isSunOS '' sed -i -e '/-D__EXTENSIONS__/ s/-D_XOPEN_SOURCE=\$cf_XOPEN_SOURCE//' \ @@ -55,44 +64,52 @@ stdenv.mkDerivation rec { # When building a wide-character (Unicode) build, create backward # compatibility links from the the "normal" libraries to the # wide-character libraries (e.g. libncurses.so to libncursesw.so). - postInstall = '' + postFixup = '' # Determine what suffixes our libraries have suffix="$(awk -F': ' 'f{print $3; f=0} /default library suffix/{f=1}' config.log)" - libs="$(ls $out/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")" + libs="$(ls $dev/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")" suffixes="$(echo "$suffix" | awk '{for (i=1; i < length($0); i++) {x=substr($0, i+1, length($0)-i); print x}}')" # Get the path to the config util - cfg=$(basename $out/bin/ncurses*-config) + cfg=$(basename $dev/bin/ncurses*-config) # symlink the full suffixed include directory - ln -svf . $out/include/ncurses$suffix + ln -svf . $dev/include/ncurses$suffix for newsuffix in $suffixes ""; do # Create a non-abi versioned config util links - ln -svf $cfg $out/bin/ncurses$newsuffix-config + ln -svf $cfg $dev/bin/ncurses$newsuffix-config # Allow for end users who #include <ncurses?w/*.h> - ln -svf . $out/include/ncurses$newsuffix + ln -svf . $dev/include/ncurses$newsuffix - for lib in $libs; do + for library in $libs; do for dylibtype in so dll dylib; do - if [ -e "$out/lib/lib''${lib}$suffix.$dylibtype" ]; then - ln -svf lib''${lib}$suffix.$dylibtype $out/lib/lib$lib$newsuffix.$dylibtype - ln -svf lib''${lib}$suffix.$dylibtype.${abiVersion} $out/lib/lib$lib$newsuffix.$dylibtype.${abiVersion} + if [ -e "$out/lib/lib''${library}$suffix.$dylibtype" ]; then + ln -svf lib''${library}$suffix.$dylibtype $out/lib/lib$library$newsuffix.$dylibtype + ln -svf lib''${library}$suffix.$dylibtype.${abiVersion} $out/lib/lib$library$newsuffix.$dylibtype.${abiVersion} fi done for statictype in a dll.a la; do - if [ -e "$out/lib/lib''${lib}$suffix.$statictype" ]; then - ln -svf lib''${lib}$suffix.$statictype $out/lib/lib$lib$newsuffix.$statictype + if [ -e "$out/lib/lib''${library}$suffix.$statictype" ]; then + ln -svf lib''${library}$suffix.$statictype $out/lib/lib$library$newsuffix.$statictype fi done - ln -svf ''${lib}$suffix.pc $out/lib/pkgconfig/$lib$newsuffix.pc + ln -svf ''${library}$suffix.pc $dev/lib/pkgconfig/$library$newsuffix.pc done done + + # move some utilities to $bin + # these programs are used at runtime and don't really belong in $dev + moveToOutput "bin/clear" "$out" + moveToOutput "bin/reset" "$out" + moveToOutput "bin/tabs" "$out" + moveToOutput "bin/tput" "$out" + moveToOutput "bin/tset" "$out" ''; preFixup = '' - rm $out/lib/*.a + rm "$out"/lib/*.a ''; meta = { diff --git a/pkgs/development/libraries/nettle/generic.nix b/pkgs/development/libraries/nettle/generic.nix index 3c439eb404cc..1bfb739712f4 100644 --- a/pkgs/development/libraries/nettle/generic.nix +++ b/pkgs/development/libraries/nettle/generic.nix @@ -9,6 +9,9 @@ stdenv.mkDerivation (rec { inherit src; + outputs = [ "dev" "out" ]; + outputBin = "dev"; + buildInputs = [ gnum4 ]; propagatedBuildInputs = [ gmp ]; @@ -61,5 +64,5 @@ stdenv.lib.optionalAttrs stdenv.isSunOS { # /usr/include/mp.h from OpenSolaris. See # <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html> # for details. - configureFlags = [ "--with-include-path=${gmp}/include" ]; + configureFlags = [ "--with-include-path=${gmp.dev}/include" ]; }) diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix index f5f72c006c73..8a4b793cad79 100644 --- a/pkgs/development/libraries/newt/default.nix +++ b/pkgs/development/libraries/newt/default.nix @@ -14,16 +14,18 @@ stdenv.mkDerivation rec { buildInputs = [ slang popt ]; + NIX_LDFLAGS = "-lncurses"; + crossAttrs = { makeFlags = "CROSS_COMPILE=${stdenv.cross.config}-"; }; - meta = { + meta = with stdenv.lib; { homepage = https://fedorahosted.org/newt/; description = "Library for color text mode, widget based user interfaces"; - license = stdenv.lib.licenses.lgpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.viric ]; + license = licenses.lgpl2; + platforms = platforms.linux; + maintainers = [ maintainers.viric ]; }; } diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index 230c22258e2e..726b5d7b29af 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -10,6 +10,9 @@ stdenv.mkDerivation { sha256 = "1pk98bmc5xzbl62q5wf2d6mryf0v95z6rsmxz27nclwiaqg0mcg0"; }; + outputs = [ "dev" "out" ]; + outputBin = "dev"; + preConfigure = '' cd nspr ''; @@ -21,6 +24,7 @@ stdenv.mkDerivation { postInstall = '' find $out -name "*.a" -delete + moveToOutput share "$dev" # just aclocal ''; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index e8be72999527..fc5bffe6b740 100644 --- a/pkgs/development/libraries/nss/default.nix +++ b/pkgs/development/libraries/nss/default.nix @@ -1,6 +1,4 @@ -{ stdenv, fetchurl, nspr, perl, zlib, sqlite -, includeTools ? false -}: +{ stdenv, fetchurl, nspr, perl, zlib, sqlite }: let @@ -46,15 +44,18 @@ in stdenv.mkDerivation rec { INSTALL_TARGET ''; + outputs = [ "dev" "out" "tools" ]; + preConfigure = "cd nss"; makeFlags = [ - "NSPR_INCLUDE_DIR=${nspr}/include/nspr" - "NSPR_LIB_DIR=${nspr}/lib" + "NSPR_INCLUDE_DIR=${nspr.dev}/include/nspr" + "NSPR_LIB_DIR=${nspr.out}/lib" "NSDISTMODE=copy" "BUILD_OPT=1" "SOURCE_PREFIX=\$(out)" "NSS_ENABLE_ECC=1" + "USE_SYSTEM_ZLIB=1" "NSS_USE_SYSTEM_SQLITE=1" ] ++ stdenv.lib.optional stdenv.is64bit "USE_64=1"; @@ -77,8 +78,11 @@ in stdenv.mkDerivation rec { libfile="$out/lib/lib$libname.so" LD_LIBRARY_PATH=$out/lib $out/bin/shlibsign -v -i "$libfile" done - '' + stdenv.lib.optionalString (!includeTools) '' - find $out/bin -type f \( -name nss-config -o -delete \) + + moveToOutput bin "$tools" + moveToOutput bin/nss-config "$dev" + moveToOutput lib/libcrmf.a "$dev" # needed by firefox, for example + rm "$out"/lib/*.a ''; meta = { diff --git a/pkgs/development/libraries/nss_wrapper/default.nix b/pkgs/development/libraries/nss_wrapper/default.nix index 278834190bbf..a81d95e6b987 100644 --- a/pkgs/development/libraries/nss_wrapper/default.nix +++ b/pkgs/development/libraries/nss_wrapper/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0bysdijvi9n0jk74iklbfhbp0kvv81a727lcfd5q03q2hkzjfm18"; }; - buildInputs = [ cmake pkgconfig ]; + buildInputs = [ cmake pkgconfig (stdenv.cc.libc.out or null) ]; + # outputs TODO: missing glibc.out might become a general problem meta = with stdenv.lib; { description = "A wrapper for the user, group and hosts NSS API"; diff --git a/pkgs/development/libraries/ogrepaged/default.nix b/pkgs/development/libraries/ogrepaged/default.nix index 27193e045450..3539a6302b14 100644 --- a/pkgs/development/libraries/ogrepaged/default.nix +++ b/pkgs/development/libraries/ogrepaged/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [ ois ogre libX11 boost ]; nativeBuildInputs = [ cmake pkgconfig ]; - cmakeFlags = "-DPAGEDGEOMETRY_BUILD_SAMPLES=OFF"; + cmakeFlags = [ "-DPAGEDGEOMETRY_BUILD_SAMPLES=OFF" ]; enableParallelBuilding = true; @@ -19,5 +19,7 @@ stdenv.mkDerivation rec { description = "Paged Geometry for Ogre3D"; homepage = http://code.google.com/p/ogre-paged/; license = stdenv.lib.licenses.mit; + # Build failures + broken = true; }; } diff --git a/pkgs/development/libraries/opendkim/default.nix b/pkgs/development/libraries/opendkim/default.nix index e89cd880df13..7f4b5ba2e328 100644 --- a/pkgs/development/libraries/opendkim/default.nix +++ b/pkgs/development/libraries/opendkim/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/sbin/opendkim-genkey \ - --prefix PATH : ${openssl}/bin + --prefix PATH : ${openssl.bin}/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index c4f8ef0ee661..cc5a26a557d5 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0044p20hx07fwgw2mbwj1fkx04615hhs1qyx4mawj2bhqvrnppnp"; }; - outputs = [ "out" "man" ]; + # TODO: separate "out" and "bin" + outputs = [ "dev" "out" "man" "docdev" ]; buildInputs = [ openssl cyrus_sasl db groff ]; @@ -19,12 +20,10 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (cyrus_sasl == null) "--without-cyrus-sasl" ++ stdenv.lib.optional stdenv.isFreeBSD "--with-pic"; - dontPatchELF = 1; # !!! - # Fixup broken libtool preFixup = '' - sed -e 's,-lsasl2,-L${cyrus_sasl}/lib -lsasl2,' \ - -e 's,-lssl,-L${openssl}/lib -lssl,' \ + sed -e 's,-lsasl2,-L${cyrus_sasl.out}/lib -lsasl2,' \ + -e 's,-lssl,-L${openssl.out}/lib -lssl,' \ -i $out/lib/libldap.la -i $out/lib/libldap_r.la ''; diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix index 578d0219c020..1b69563355bc 100644 --- a/pkgs/development/libraries/openscenegraph/default.nix +++ b/pkgs/development/libraries/openscenegraph/default.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchurl, cmake, giflib, libjpeg, libtiff, lib3ds, freetype +{ stdenv, lib, fetchurl, cmake, giflib, libjpeg, libtiff, lib3ds, freetype , libpng, coin3d, jasper, gdal_1_11, xproto, libX11, libXmu , freeglut, mesa, doxygen, ffmpeg, xineLib, unzip, zlib, openal , libxml2, curl, a52dec, faad2, gdk_pixbuf, pkgconfig, kbproto, SDL -, qt4, poppler, librsvg, gtk }: +, qt4, poppler, librsvg, gtk +, withApps ? true }: stdenv.mkDerivation rec { name = "openscenegraph-${version}"; @@ -20,11 +21,13 @@ stdenv.mkDerivation rec { pkgconfig kbproto SDL qt4 poppler librsvg gtk ]; + enableParallelBuilding = true; + cmakeFlags = [ "-DMATH_LIBRARY=" "-DCMAKE_C_FLAGS=-D__STDC_CONSTANT_MACROS=1" "-DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS=1" - ]; + ] ++ lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF"; meta = with stdenv.lib; { description = "A 3D graphics toolkit"; diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 081f71b498e1..1e0f419c5f73 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -16,8 +16,6 @@ let inherit sha256; }; - outputs = [ "out" "man" ]; - patches = [ ./use-etc-ssl-certs.patch ] ++ optional stdenv.isCygwin ./1.0.1-cygwin64.patch @@ -25,6 +23,9 @@ let (versionOlder version "1.0.2" && (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem"))) ./darwin-arch.patch; + outputs = [ "dev" "out" "man" "bin" ]; + setOutputFlags = false; + nativeBuildInputs = [ perl ]; buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders; @@ -44,9 +45,7 @@ let "-DUSE_CRYPTODEV_DIGESTS" ]; - makeFlags = [ - "MANDIR=$(out)/share/man" - ]; + makeFlags = [ "MANDIR=$(man)/share/man" ]; # Parallel building is broken in OpenSSL. enableParallelBuilding = false; @@ -58,14 +57,20 @@ let rm "$out/lib/"*.a fi + mkdir -p $bin + mv $out/bin $bin/ + + mkdir $dev + mv $out/include $dev/ + # remove dependency on Perl at runtime - rm -r $out/etc/ssl/misc $out/bin/c_rehash + rm -r $out/etc/ssl/misc rmdir $out/etc/ssl/{certs,private} ''; postFixup = '' - # Check to make sure we don't depend on perl + # Check to make sure the main output doesn't depend on perl if grep -r '${perl}' $out; then echo "Found an erroneous dependency on perl ^^^" >&2 exit 1 diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix index eefed304134f..f2a9bdc12309 100644 --- a/pkgs/development/libraries/p11-kit/default.nix +++ b/pkgs/development/libraries/p11-kit/default.nix @@ -8,6 +8,9 @@ stdenv.mkDerivation rec { sha256 = "1i3a1wdpagm0p3y1bwaz5x5rjhcpqbcrnhkcp10p259vkxk72wz5"; }; + outputs = [ "dev" "out" "docdev" ]; + outputBin = "dev"; + buildInputs = [ pkgconfig libffi libtasn1 libiconv ]; configureFlags = [ diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index bb619c7fda5f..c4456035cca2 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, xlibsWrapper, glib, cairo, libpng, harfbuzz -, fontconfig, freetype, libintlOrEmpty, gobjectIntrospection +{ stdenv, fetchurl, pkgconfig, libXft, cairo, harfbuzz +, libintlOrEmpty, gobjectIntrospection }: with stdenv.lib; @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { sha256 = "1dsf45m51i4rcyvh5wlxxrjfhvn5b67d5ckjc6vdcxbddjgmc80k"; }; - buildInputs = with stdenv.lib; [ gobjectIntrospection ] - ++ optional stdenv.isDarwin fontconfig; - nativeBuildInputs = [ pkgconfig ]; + outputs = [ "dev" "out" "bin" "docdev" ]; - propagatedBuildInputs = [ xlibsWrapper glib cairo libpng fontconfig freetype harfbuzz ] ++ libintlOrEmpty; + buildInputs = [ gobjectIntrospection ]; + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ cairo harfbuzz libXft ] ++ libintlOrEmpty; enableParallelBuilding = true; @@ -33,8 +33,6 @@ stdenv.mkDerivation rec { configureFlags = optional stdenv.isDarwin "--without-x"; - postInstall = "rm -rf $out/share/gtk-doc"; - meta = with stdenv.lib; { description = "A library for laying out and rendering of text, with an emphasis on internationalization"; diff --git a/pkgs/development/libraries/pcre/CVE-2016-1283.patch b/pkgs/development/libraries/pcre/CVE-2016-1283.patch new file mode 100644 index 000000000000..2c2dad29e929 --- /dev/null +++ b/pkgs/development/libraries/pcre/CVE-2016-1283.patch @@ -0,0 +1,18 @@ +Index: pcre_compile.c +=================================================================== +--- a/pcre_compile.c (revision 1635) ++++ b/pcre_compile.c (revision 1636) +@@ -7311,7 +7311,12 @@ + so far in order to get the number. If the name is not found, leave + the value of recno as 0 for a forward reference. */ + +- else ++ /* This patch (removing "else") fixes a problem when a reference is ++ to multiple identically named nested groups from within the nest. ++ Once again, it is not the "proper" fix, and it results in an ++ over-allocation of memory. */ ++ ++ /* else */ + { + ng = cd->named_groups; + for (i = 0; i < cd->names_found; i++, ng++) diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index afeffae3e5fa..8bce1512d138 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -1,43 +1,50 @@ -{ stdenv, lib, fetchurl, unicodeSupport ? true, cplusplusSupport ? true -, windows ? null +{ stdenv, fetchurl +, windows ? null, variant ? null, pcre , withCharSize ? 8 }: with stdenv.lib; -assert withCharSize != 8 -> !cplusplusSupport; +assert elem variant [ null "cpp" "pcre16" "pcre32" ]; let - charFlags = if withCharSize == 8 then [ ] - else if withCharSize == 16 then [ "--enable-pcre16" "--disable-pcre8" ] - else if withCharSize == 32 then [ "--enable-pcre32" "--disable-pcre8" ] - else abort "Invalid character size"; + version = "8.38"; + pname = if (variant == null) then "pcre" + else if (variant == "cpp") then "pcre-cpp" + else variant; in stdenv.mkDerivation rec { - name = "pcre${lib.optionalString (withCharSize != 8) (toString withCharSize)}-8.38"; - # FIXME: add "version" attribute and use it in URL + name = "${pname}-${version}"; src = fetchurl { - url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.bz2"; + url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${version}.tar.bz2"; sha256 = "1pvra19ljkr5ky35y2iywjnsckrs9ch2anrf5b0dc91hw8v2vq5r"; }; - patches = - [ ]; + patches = [ + ./CVE-2016-1283.patch + ]; - outputs = [ "out" "doc" "man" ]; + outputs = [ "dev" "out" "bin" "doc" "man" ]; - # FIXME: Refactor into list! - configureFlags = '' - --enable-jit - ${lib.optionalString unicodeSupport "--enable-unicode-properties"} - ${lib.optionalString (!cplusplusSupport) "--disable-cpp"} - '' + lib.optionalString (charFlags != []) " ${toString charFlags}"; + configureFlags = [ + "--enable-jit" + "--enable-unicode-properties" + "--disable-cpp" + ] + ++ optional (variant != null) "--enable-${variant}"; doCheck = with stdenv; !(isCygwin || isFreeBSD); # XXX: test failure on Cygwin # we are running out of stack on both freeBSDs on Hydra + postFixup = '' + moveToOutput bin/pcre-config "$dev" + '' + + optionalString (variant != null) '' + ln -sf -t "$out/lib/" '${pcre.out}'/lib/libpcre{,posix}.so.*.*.* + ''; + crossAttrs = optionalAttrs (stdenv.cross.libc == "msvcrt") { buildInputs = [ windows.mingw_w64_pthreads.crossDrv ]; }; diff --git a/pkgs/development/libraries/pdf2xml/default.nix b/pkgs/development/libraries/pdf2xml/default.nix index c7c5aff24558..4ebb0cbcc260 100644 --- a/pkgs/development/libraries/pdf2xml/default.nix +++ b/pkgs/development/libraries/pdf2xml/default.nix @@ -16,8 +16,8 @@ stdenv.mkDerivation { preBuild = '' cp Makefile.linux Makefile - sed -i 's|/usr/include/libxml2|${libxml2}/include/libxml2|' Makefile - sed -i 's|-lxml2|-lxml2 -L${libxml2}/lib|' Makefile + sed -i 's|/usr/include/libxml2|${libxml2.dev}/include/libxml2|' Makefile + sed -i 's|-lxml2|-lxml2 -L${libxml2.out}/lib|' Makefile sed -i 's|XPDF = xpdf_3.01|XPDF = ${libxpdf}/lib|' Makefile mkdir exe diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index cdeaa0cb1d96..5744460008fd 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -22,6 +22,8 @@ stdenv.mkDerivation rec { sha256 = "109w86kfqrgz83g9ivggplmgc77rz8kx8646izvm2jb57h4rbh71"; }; + outputs = [ "dev" "out" "bin" ]; # small man pages in $bin + buildInputs = [ pkgconfig glib expat pam intltool spidermonkey gobjectIntrospection ] ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ] # man pages diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 92777f001695..ebcdcc2b3efd 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { inherit sha256; }; - outputs = [ "out" ] ++ lib.optional (!minimal) "doc"; + outputs = [ "dev" "out" ]; patches = [ ./datadir_env.patch ]; diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix index 46d512814015..5d8c2430ab9f 100644 --- a/pkgs/development/libraries/portaudio/default.nix +++ b/pkgs/development/libraries/portaudio/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { make install # fixup .pc file to find alsa library - sed -i "s|-lasound|-L${alsaLib}/lib -lasound|" "$out/lib/pkgconfig/"*.pc + sed -i "s|-lasound|-L${alsaLib.out}/lib -lasound|" "$out/lib/pkgconfig/"*.pc ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/qhull/default.nix b/pkgs/development/libraries/qhull/default.nix index 76ceb12b401f..f98c7bdb97e4 100644 --- a/pkgs/development/libraries/qhull/default.nix +++ b/pkgs/development/libraries/qhull/default.nix @@ -12,6 +12,11 @@ stdenv.mkDerivation rec { cmakeFlags = "-DMAN_INSTALL_DIR=share/man/man1 -DDOC_INSTALL_DIR=share/doc/qhull"; + patchPhase = stdenv.lib.optionalString stdenv.isDarwin '' + sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include <iterator>/' ./src/libqhullcpp/QhullIterator.h + sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include <iterator>/' ./src/libqhullcpp/QhullLinkedList.h + ''; + meta = { homepage = http://www.qhull.org/; description = "Computes the convex hull, Delaunay triangulation, Voronoi diagram and more"; diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix index 08d8f141deb0..40fa63d75caf 100644 --- a/pkgs/development/libraries/qt-3/default.nix +++ b/pkgs/development/libraries/qt-3/default.nix @@ -49,9 +49,9 @@ stdenv.mkDerivation { ${if cursorSupport then "-L${libXcursor}/lib -I${libXcursor}/include" else ""} ${if mysqlSupport then "-qt-sql-mysql -L${mysql.lib}/lib/mysql -I${mysql.lib}/include/mysql" else ""} ${if xftSupport then "-xft - -L${libXft}/lib -I${libXft}/include - -L${libXft.freetype}/lib -I${libXft.freetype}/include - -L${libXft.fontconfig}/lib -I${libXft.fontconfig}/include" else "-no-xft"} + -L${libXft.out}/lib -I${libXft.dev}/include + -L${libXft.freetype.out}/lib -I${libXft.freetype.dev}/include + -L${libXft.fontconfig.lib}/lib -I${libXft.fontconfig.dev}/include" else "-no-xft"} "; patches = [ diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 17e0485b29fe..788fb8741402 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -53,19 +53,24 @@ stdenv.mkDerivation rec { ./libressl.patch (substituteAll { src = ./dlopen-absolute-paths.diff; - inherit cups icu libXfixes; - glibc = stdenv.cc.libc; + cups = if cups != null then cups.out else null; + icu = icu.out; + libXfixes = libXfixes.out; + glibc = stdenv.cc.libc.out; openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path"; }) ] ++ stdenv.lib.optional gtkStyle (substituteAll { src = ./dlopen-gtkstyle.diff; # substituteAll ignores env vars starting with capital letter - gconf = GConf; - inherit gnome_vfs libgnomeui gtk; + gconf = GConf.out; + gtk = gtk.out; + libgnomeui = libgnomeui.out; + gnome_vfs = gnome_vfs.out; }) ++ stdenv.lib.optional flashplayerFix (substituteAll { src = ./dlopen-webkit-nsplugin.diff; - inherit gtk gdk_pixbuf; + gtk = gtk.out; + gdk_pixbuf = gdk_pixbuf.out; }) ++ [(fetchpatch { name = "fix-medium-font.patch"; @@ -113,7 +118,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ libXrender libXrandr libXinerama libXcursor libXext libXfixes libXv libXi - libSM zlib libpng openssl dbus.libs freetype fontconfig glib ] + libSM zlib libpng openssl dbus freetype fontconfig glib ] # Qt doesn't directly need GLU (just GL), but many apps use, it's small and doesn't remain a runtime-dep if not used ++ optional mesaSupported mesa_glu ++ optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib @@ -131,7 +136,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; NIX_CFLAGS_COMPILE = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) - "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include"; + "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0"; diff --git a/pkgs/development/libraries/qt-5/5.4/default.nix b/pkgs/development/libraries/qt-5/5.4/default.nix index 9b1324d11373..df2fb8ad1862 100644 --- a/pkgs/development/libraries/qt-5/5.4/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/default.nix @@ -37,21 +37,19 @@ let inherit src; propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); + nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig ]; NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; dontAddPrefix = args.dontAddPrefix or true; dontFixLibtool = args.dontFixLibtool or true; configureScript = args.configureScript or "qmake"; + outputs = args.outputs or [ "dev" "out" ]; + setOutputFlags = false; + enableParallelBuilding = args.enableParallelBuilding or true; - meta = { - homepage = http://qt-project.org; - description = "A cross-platform application framework for C++"; - license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; - maintainers = with maintainers; [ bbenoist qknight ttuegel ]; - platforms = platforms.linux; - } // (args.meta or {}); + meta = self.qtbase.meta // (args.meta or {}); }); addPackages = self: with self; @@ -110,7 +108,10 @@ let ]; makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh; + fixQtModuleCMakeConfig = makeSetupHook { } ./fix-qt-module-cmake-config.sh; }; -in makeScope pkgs.newScope addPackages + self = makeScope pkgs.newScope addPackages; + +in self diff --git a/pkgs/development/libraries/qt-5/5.4/fix-qt-module-cmake-config.sh b/pkgs/development/libraries/qt-5/5.4/fix-qt-module-cmake-config.sh new file mode 100644 index 000000000000..7ca3e33b613c --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.4/fix-qt-module-cmake-config.sh @@ -0,0 +1,5 @@ +fixQtModuleCMakeConfig() { + local module="$1" + sed -e "/set(imported_location/ s@\\\${_qt5${module}_install_prefix}@${!outputLib}@" \ + -i "${!outputDev}/lib/cmake/Qt5${module}/Qt5${module}Config.cmake" +} diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.4/qtbase/default.nix index 36bd3822bf73..0585601db765 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtbase/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, copyPathsToStore, makeWrapper +{ stdenv, lib, fetchurl, copyPathsToStore, fixQtModuleCMakeConfig , srcs , xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi @@ -14,8 +14,7 @@ , mysql ? null, postgresql ? null # options -, mesaSupported, mesa, mesa_glu -, buildDocs ? false +, mesaSupported, mesa , buildExamples ? false , buildTests ? false , developerBuild ? false @@ -37,6 +36,8 @@ stdenv.mkDerivation { sourceRoot = "qt-everywhere-opensource-src-${version}"; + outputs = [ "dev" "out" ]; + postUnpack = '' mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase ''; @@ -60,27 +61,27 @@ stdenv.mkDerivation { sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in" substituteInPlace qtbase/src/network/kernel/qdnslookup_unix.cpp \ - --replace "@glibc@" "${stdenv.cc.libc}" + --replace "@glibc@" "${stdenv.cc.libc.out}" substituteInPlace qtbase/src/network/kernel/qhostinfo_unix.cpp \ - --replace "@glibc@" "${stdenv.cc.libc}" + --replace "@glibc@" "${stdenv.cc.libc.out}" substituteInPlace qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp \ - --replace "@libXcursor@" "${libXcursor}" + --replace "@libXcursor@" "${libXcursor.out}" substituteInPlace qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp \ - --replace "@openssl@" "${openssl}" + --replace "@openssl@" "${openssl.out}" substituteInPlace qtbase/src/dbus/qdbus_symbols.cpp \ - --replace "@dbus_libs@" "${dbus}" + --replace "@dbus_libs@" "${dbus.lib}" substituteInPlace \ qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \ - --replace "@libX11@" "${libX11}" + --replace "@libX11@" "${libX11.out}" '' + lib.optionalString gtkStyle '' - substituteInPlace qtbase/src/widgets/styles/qgtk2painter.cpp --replace "@gtk@" "${gtk}" + substituteInPlace qtbase/src/widgets/styles/qgtk2painter.cpp --replace "@gtk@" "${gtk.out}" substituteInPlace qtbase/src/widgets/styles/qgtkstyle_p.cpp \ - --replace "@gtk@" "${gtk}" \ + --replace "@gtk@" "${gtk.out}" \ --replace "@gnome_vfs@" "${gnome_vfs}" \ --replace "@libgnomeui@" "${libgnomeui}" \ --replace "@gconf@" "${GConf}" @@ -88,16 +89,40 @@ stdenv.mkDerivation { + lib.optionalString mesaSupported '' substituteInPlace \ qtbase/src/plugins/platforms/xcb/qglxintegration.cpp \ - --replace "@mesa@" "${mesa}" - substituteInPlace qtbase/mkspecs/common/linux.conf --replace "@mesa@" "${mesa}" + --replace "@mesa_lib@" "${mesa.out}" + substituteInPlace qtbase/mkspecs/common/linux.conf \ + --replace "@mesa_lib@" "${mesa.out}" \ + --replace "@mesa_inc@" "${mesa.dev}" ''; + setOutputFlags = false; preConfigure = '' export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH" export MAKEFLAGS=-j$NIX_BUILD_CORES - export configureFlags+="-plugindir $out/lib/qt5/plugins -importdir $out/lib/qt5/imports -qmldir $out/lib/qt5/qml" - export configureFlags+=" -docdir $out/share/doc/qt5" + _multioutQtDevs() { + # We cannot simply set these paths in configureFlags because libQtCore retains + # references to the paths it was built with. + moveToOutput "bin" "$dev" + moveToOutput "include" "$dev" + moveToOutput "mkspecs" "$dev" + + # The destination directory must exist or moveToOutput will do nothing + mkdir -p "$dev/share" + moveToOutput "share/doc" "$dev" + + mkdir -p "$dev/lib" + lndir -silent "$out/lib" "$dev/lib" + if [[ -h "$dev/lib/cmake" ]]; then rm "$dev/lib/cmake"; fi + if [[ -h "$dev/lib/pkgconfig" ]]; then rm "$dev/lib/pkgconfig"; fi + } + preFixupHooks+=(_multioutQtDevs) + + configureFlags+="\ + -plugindir $out/lib/qt5/plugins \ + -importdir $out/lib/qt5/imports \ + -qmldir $out/lib/qt5/qml \ + -docdir $out/share/doc/qt5" ''; prefixKey = "-prefix "; @@ -172,40 +197,46 @@ stdenv.mkDerivation { # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag # if dependency paths contain the string "pq", which can occur in the hash. # To prevent these failures, we need to override PostgreSQL detection. - PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql}/lib -lpq"; + PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq"; propagatedBuildInputs = [ xlibs.libXcomposite libX11 libxcb libXext libXrender libXi - fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre + fontconfig freetype openssl dbus glib udev libxml2 libxslt pcre zlib libjpeg libpng libtiff sqlite icu xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon ] - # Qt doesn't directly need GLU (just GL), but many apps use, it's small and - # doesn't remain a runtime-dep if not used - ++ lib.optionals mesaSupported [ mesa mesa_glu ] - ++ lib.optional (cups != null) cups - ++ lib.optional (mysql != null) mysql.lib - ++ lib.optional (postgresql != null) postgresql - ++ lib.optionals gtkStyle [gnome_vfs libgnomeui gtk GConf]; + ++ lib.optional mesaSupported mesa; buildInputs = [ bison flex gperf ruby ] - ++ lib.optional developerBuild gdb; - - nativeBuildInputs = [ python perl pkgconfig ]; + ++ lib.optional developerBuild gdb + ++ lib.optional (cups != null) cups + ++ lib.optional (mysql != null) mysql.lib + ++ lib.optional (postgresql != null) postgresql + ++ lib.optionals gtkStyle [gnome_vfs libgnomeui gtk GConf]; - propagatedNativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ fixQtModuleCMakeConfig lndir python perl pkgconfig ]; # freetype-2.5.4 changed signedness of some struct fields NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; - postInstall = + postFixup = '' # Don't retain build-time dependencies like gdb and ruby. - sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri - '' - + lib.optionalString buildDocs '' - make docs && make install_docs + sed '/QMAKE_DEFAULT_.*DIRS/ d' -i "$dev/mkspecs/qconfig.pri" + + fixQtModuleCMakeConfig "Concurrent" + fixQtModuleCMakeConfig "Core" + fixQtModuleCMakeConfig "DBus" + fixQtModuleCMakeConfig "Gui" + fixQtModuleCMakeConfig "Network" + fixQtModuleCMakeConfig "OpenGL" + fixQtModuleCMakeConfig "OpenGLExtensions" + fixQtModuleCMakeConfig "PrintSupport" + fixQtModuleCMakeConfig "Sql" + fixQtModuleCMakeConfig "Test" + fixQtModuleCMakeConfig "Widgets" + fixQtModuleCMakeConfig "Xml" ''; inherit lndir; @@ -214,9 +245,9 @@ stdenv.mkDerivation { enableParallelBuilding = true; meta = with lib; { - homepage = http://qt-project.org; + homepage = http://www.qt.io; description = "A cross-platform application framework for C++"; - license = "GPL/LGPL"; + license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; maintainers = with maintainers; [ bbenoist qknight ttuegel ]; platforms = platforms.linux; }; diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase/dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.4/qtbase/dlopen-gl.patch index d6e08cd24106..d5c4c2b97cb6 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtbase/dlopen-gl.patch +++ b/pkgs/development/libraries/qt-5/5.4/qtbase/dlopen-gl.patch @@ -10,7 +10,7 @@ Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platforms/xcb/qglxi QLibrary lib(QLatin1String("GL")); + if (!lib.load()) { + // Fallback to Mesa driver -+ lib.setFileName(QLatin1String("@mesa@/lib/libGL")); ++ lib.setFileName(QLatin1String("@mesa_lib@/lib/libGL")); + } glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); } diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase/mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.4/qtbase/mkspecs-libgl.patch index 10115e8144ad..56ee0a411d4d 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtbase/mkspecs-libgl.patch +++ b/pkgs/development/libraries/qt-5/5.4/qtbase/mkspecs-libgl.patch @@ -8,8 +8,8 @@ Index: qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/common/linux.conf QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = -+QMAKE_INCDIR_OPENGL = @mesa@/include -+QMAKE_LIBDIR_OPENGL = @mesa@/lib ++QMAKE_INCDIR_OPENGL = @mesa_inc@/include ++QMAKE_LIBDIR_OPENGL = @mesa_lib@/lib QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_EGL = diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.4/qtbase/setup-hook.sh index b86b6df28ac8..c44cd2234d76 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtbase/setup-hook.sh +++ b/pkgs/development/libraries/qt-5/5.4/qtbase/setup-hook.sh @@ -1,45 +1,26 @@ if [[ -z "$QMAKE" ]]; then -linkDependencyDir() { +_qtLinkDependencyDir() { @lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2" if [[ -n "$NIX_QT_SUBMODULE" ]]; then find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs" fi } -addQtModule() { - if [[ -d "$1/mkspecs" ]]; then +_qtLinkModule() { + if [ -d "$1/mkspecs" ]; then # $1 is a Qt module - linkDependencyDir "$1" mkspecs + _qtLinkDependencyDir "$1" mkspecs for dir in bin include lib share; do - if [[ -d "$1/$dir" ]]; then - linkDependencyDir "$1" "$dir" + if [ -d "$1/$dir" ]; then + _qtLinkDependencyDir "$1" "$dir" fi done fi } -propagateRuntimeDeps() { - local propagated - for dir in "etc/xdg" "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports" "share"; do - if [[ -d "$1/$dir" ]]; then - propagated= - for pkg in $propagatedBuildInputs; do - if [[ "z$pkg" == "z$1" ]]; then - propagated=1 - break - fi - done - if [[ -z $propagated ]]; then - propagatedBuildInputs="$propagatedBuildInputs $1" - fi - break - fi - done -} - -rmQtModules() { +_qtRmModules() { cat "$out/nix-support/qt-inputs" | while read file; do if [[ -h "$out/$file" ]]; then rm "$out/$file" @@ -55,14 +36,65 @@ rmQtModules() { rm "$out/nix-support/qt-inputs" } -rmQMake() { +addToSearchPathOnceWithCustomDelimiter() { + local delim="$1" + local search="$2" + local target="$3" + local dirs + local exported + IFS="$delim" read -a dirs <<< "${!search}" + for dir in ${dirs[@]}; do + if [ "z$dir" == "z$target" ]; then exported=1; fi + done + if [ -z $exported ]; then + eval "export ${search}=\"${!search}${!search:+$delim}$target\"" + fi +} + +addToSearchPathOnce() { + addToSearchPathOnceWithCustomDelimiter ':' "$@" +} + +propagateOnce() { + addToSearchPathOnceWithCustomDelimiter ' ' "$@" +} + +_qtPropagateRuntimeDependencies() { + for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do + if [ -d "$1/$dir" ]; then + propagateOnce propagatedBuildInputs "$1" + break + fi + done + addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" + addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" + addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" +} + +_qtRmQmake() { rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf" } -setQMakePath() { +_qtSetQmakePath() { export PATH="$qtOut/bin${PATH:+:}$PATH" } +_qtMultioutModuleDevs() { + # We cannot simply set these paths in configureFlags because libQtCore retains + # references to the paths it was built with. + moveToOutput "bin" "${!outputDev}" + moveToOutput "include" "${!outputDev}" + + # The destination directory must exist or moveToOutput will do nothing + mkdir -p "${!outputDev}/share" + moveToOutput "share/doc" "${!outputDev}" +} + +_qtMultioutDevs() { + # This is necessary whether the package is a Qt module or not + moveToOutput "mkspecs" "${!outputDev}" +} + qtOut="" if [[ -z "$NIX_QT_SUBMODULE" ]]; then qtOut=`mktemp -d` @@ -72,7 +104,7 @@ fi mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share" -cp "@out@/bin/qmake" "$qtOut/bin" +cp "@dev@/bin/qmake" "$qtOut/bin" cat >"$qtOut/bin/qt.conf" <<EOF [Paths] Prefix = $qtOut @@ -84,17 +116,20 @@ EOF export QMAKE="$qtOut/bin/qmake" -envHooks+=(addQtModule propagateRuntimeDeps) -preConfigurePhases+=(setQMakePath) +envHooks+=(_qtLinkModule _qtPropagateRuntimeDependencies) +# Set PATH to find qmake first in a preConfigure hook +# It must run after all the envHooks! +preConfigureHooks+=(_qtSetQmakePath) +preFixupHooks+=(_qtMultioutDevs) if [[ -n "$NIX_QT_SUBMODULE" ]]; then - preFixupPhases+=(rmQtModules) - postPhases+=(rmQMake) + postInstallHooks+=(_qtRmQmake _qtRmModules) + preFixupHooks+=(_qtMultioutModuleDevs) fi fi if [[ -z "$NIX_QT_PIC" ]]; then - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC" export NIX_QT_PIC=1 fi diff --git a/pkgs/development/libraries/qt-5/5.4/qtconnectivity.nix b/pkgs/development/libraries/qt-5/5.4/qtconnectivity.nix index 95cd6fea79b4..35538c7261f1 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtconnectivity.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtconnectivity.nix @@ -3,4 +3,8 @@ qtSubmodule { name = "qtconnectivity"; qtInputs = [ qtbase qtdeclarative ]; + postFixup = '' + fixQtModuleCMakeConfig "Bluetooth" + fixQtModuleCMakeConfig "Nfc" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.4/qtdeclarative/default.nix index 9181c37b2258..e2219642a122 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtdeclarative/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtdeclarative/default.nix @@ -5,4 +5,10 @@ qtSubmodule { patches = [ ./0001-nix-profiles-import-paths.patch ]; qtInputs = [ qtbase qtsvg qtxmlpatterns ]; nativeBuildInputs = [ python ]; + postFixup = '' + fixQtModuleCMakeConfig "Qml" + fixQtModuleCMakeConfig "Quick" + fixQtModuleCMakeConfig "QuickTest" + fixQtModuleCMakeConfig "QuickWidgets" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtenginio.nix b/pkgs/development/libraries/qt-5/5.4/qtenginio.nix index b860a73ef890..503a0f7ce4f5 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtenginio.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtenginio.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtenginio"; qtInputs = [ qtdeclarative ]; + postFixup = '' + fixQtModuleCMakeConfig "Enginio" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtlocation.nix b/pkgs/development/libraries/qt-5/5.4/qtlocation.nix index 1e134057c4b4..0e2ad8bafb30 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtlocation.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtlocation.nix @@ -3,4 +3,8 @@ qtSubmodule { name = "qtlocation"; qtInputs = [ qtbase qtmultimedia ]; + postFixup = '' + fixQtModuleCMakeConfig "Location" + fixQtModuleCMakeConfig "Positioning" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.4/qtmultimedia.nix index b6b4d8ea0cf4..8db8fa5f4b96 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtmultimedia.nix @@ -9,4 +9,8 @@ qtSubmodule { pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio ]; configureFlags = "GST_VERSION=1.0"; + postFixup = '' + fixQtModuleCMakeConfig "Multimedia" + fixQtModuleCMakeConfig "MultimediaWidgets" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtquick1/default.nix b/pkgs/development/libraries/qt-5/5.4/qtquick1/default.nix index d1c7bb389a49..d81abbcd6140 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtquick1/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtquick1/default.nix @@ -4,4 +4,7 @@ qtSubmodule { name = "qtquick1"; patches = [ ./0001-nix-profiles-import-paths.patch ]; qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ]; + postFixup = '' + fixQtModuleCMakeConfig "Declarative" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.4/qtscript/default.nix index 127766e2ebd6..b81a43aeadb0 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtscript/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtscript/default.nix @@ -4,4 +4,7 @@ qtSubmodule { name = "qtscript"; qtInputs = [ qtbase qttools ]; patches = [ ./0001-glib-2.32.patch ]; + postFixup = '' + fixQtModuleCMakeConfig "Script" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtsensors.nix b/pkgs/development/libraries/qt-5/5.4/qtsensors.nix index 61e64dc47e4d..5776f45a7068 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtsensors.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtsensors.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtsensors"; qtInputs = [ qtbase qtdeclarative ]; + postFixup = '' + fixQtModuleCMakeConfig "Sensors" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtserialport/0001-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.4/qtserialport/0001-dlopen-serialport-udev.patch index 6636cc9265a8..3a813dc80074 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtserialport/0001-dlopen-serialport-udev.patch +++ b/pkgs/development/libraries/qt-5/5.4/qtserialport/0001-dlopen-serialport-udev.patch @@ -16,10 +16,10 @@ index 6f2cabd..81b9849 100644 { if (!udevLibrary->isLoaded()) { - udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); -+ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1); if (!udevLibrary->load()) { - udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); -+ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0); if (!udevLibrary->load()) { qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); return false; diff --git a/pkgs/development/libraries/qt-5/5.4/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.4/qtserialport/default.nix index fa7383fc1e76..2c9575f122e7 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtserialport/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtserialport/default.nix @@ -1,7 +1,16 @@ -{ qtSubmodule, qtbase }: +{ qtSubmodule, qtbase, substituteAll, libudev }: qtSubmodule { name = "qtserialport"; qtInputs = [ qtbase ]; - patches = [ ./0001-dlopen-serialport-udev.patch ]; + + patches = [ + (substituteAll { + src = ./0001-dlopen-serialport-udev.patch; + libudev = libudev.out; + }) + ]; + postFixup = '' + fixQtModuleCMakeConfig "SerialPort" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtsvg.nix b/pkgs/development/libraries/qt-5/5.4/qtsvg.nix index b9ccac7cf933..a460d6da4c2a 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtsvg.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtsvg.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtsvg"; qtInputs = [ qtbase ]; + postFixup = '' + fixQtModuleCMakeConfig "Svg" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qttools.nix b/pkgs/development/libraries/qt-5/5.4/qttools.nix index 65edc4508128..16887c4265a8 100644 --- a/pkgs/development/libraries/qt-5/5.4/qttools.nix +++ b/pkgs/development/libraries/qt-5/5.4/qttools.nix @@ -3,4 +3,13 @@ qtSubmodule { name = "qttools"; qtInputs = [ qtbase ]; + postFixup = '' + moveToOutput "bin/qdbus" "$out" + moveToOutput "bin/qtpaths" "$out" + + fixQtModuleCMakeConfig "Designer" + fixQtModuleCMakeConfig "Help" + fixQtModuleCMakeConfig "LinguistTools" + fixQtModuleCMakeConfig "UiTools" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtwebkit/0003-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.4/qtwebkit/0003-dlopen-webkit-udev.patch index f3b9d407bd72..1c360cd81aa2 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtwebkit/0003-dlopen-webkit-udev.patch +++ b/pkgs/development/libraries/qt-5/5.4/qtwebkit/0003-dlopen-webkit-udev.patch @@ -16,13 +16,13 @@ index 60ff317..da8ac69 100644 { m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint); - m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1); -+ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1); m_loaded = m_libUdev.load(); if (resolveMethods()) return true; - m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0); -+ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0); m_loaded = m_libUdev.load(); return resolveMethods(); } diff --git a/pkgs/development/libraries/qt-5/5.4/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.4/qtwebkit/default.nix index 596c02d39afb..7ed3017b95a3 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtwebkit/default.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtwebkit/default.nix @@ -1,6 +1,6 @@ { qtSubmodule, stdenv, qtdeclarative, qtlocation, qtmultimedia, qtsensors , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt -, sqlite, udev +, sqlite, libudev , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby , substituteAll , flashplayerFix ? false @@ -18,16 +18,21 @@ qtSubmodule { patches = let dlopen-webkit-nsplugin = substituteAll { src = ./0001-dlopen-webkit-nsplugin.patch; - inherit gtk gdk_pixbuf; + gtk = gtk.out; + gdk_pixbuf = gdk_pixbuf.out; }; dlopen-webkit-gtk = substituteAll { src = ./0002-dlopen-webkit-gtk.patch; - inherit gtk; + gtk = gtk.out; }; dlopen-webkit-udev = substituteAll { src = ./0003-dlopen-webkit-udev.patch; - inherit udev; + udev = libudev.out; }; in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ] ++ [ dlopen-webkit-udev ]; + postFixup = '' + fixQtModuleCMakeConfig "WebKit" + fixQtModuleCMakeConfig "WebKitWidgets" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.4/qtwebsockets.nix index fbdfbbcf0dbe..c0d0f9e7d714 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtwebsockets.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtwebsockets.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtwebsockets"; qtInputs = [ qtbase qtdeclarative ]; + postFixup = '' + fixQtModuleCMakeConfig "WebSockets" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtx11extras.nix b/pkgs/development/libraries/qt-5/5.4/qtx11extras.nix index a765161e2d7e..db92f1353627 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtx11extras.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtx11extras.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtx11extras"; qtInputs = [ qtbase ]; + postFixup = '' + fixQtModuleCMakeConfig "X11Extras" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.4/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.4/qtxmlpatterns.nix index 9a8ddbba2bd2..3b22132e4c38 100644 --- a/pkgs/development/libraries/qt-5/5.4/qtxmlpatterns.nix +++ b/pkgs/development/libraries/qt-5/5.4/qtxmlpatterns.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtxmlpatterns"; qtInputs = [ qtbase ]; + postFixup = '' + fixQtModuleCMakeConfig "XmlPatterns" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/default.nix b/pkgs/development/libraries/qt-5/5.5/default.nix index 9b1324d11373..955d57350c29 100644 --- a/pkgs/development/libraries/qt-5/5.5/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/default.nix @@ -1,15 +1,20 @@ -# Maintainer's Notes: -# -# Minor updates: -# 1. Edit ./fetchsrcs.sh to point to the updated URL. -# 2. Run ./fetchsrcs.sh. -# 3. Build and enjoy. -# -# Major updates: -# We prefer not to immediately overwrite older versions with major updates, so -# make a copy of this directory first. After copying, be sure to delete ./tmp -# if it exists. Then follow the minor update instructions. Be sure to check if -# any new components have been added and package them as necessary. +/* + +# Minor Updates + +1. Edit ./fetchsrcs.sh to point to the updated URL. +2. Run ./fetchsrcs.sh. +3. Build and enjoy. + +# Major Updates + +1. Make a copy of this directory. (We like to keep the old version around + for a short time after major updates.) +2. Delete the tmp/ subdirectory of the copy. +3. Follow the minor update instructions above. +4. Package any new Qt modules, if necessary. + +*/ { pkgs @@ -37,21 +42,19 @@ let inherit src; propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); + nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig ]; NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; dontAddPrefix = args.dontAddPrefix or true; dontFixLibtool = args.dontFixLibtool or true; configureScript = args.configureScript or "qmake"; + outputs = args.outputs or [ "dev" "out" ]; + setOutputFlags = args.setOutputFlags or false; + enableParallelBuilding = args.enableParallelBuilding or true; - meta = { - homepage = http://qt-project.org; - description = "A cross-platform application framework for C++"; - license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; - maintainers = with maintainers; [ bbenoist qknight ttuegel ]; - platforms = platforms.linux; - } // (args.meta or {}); + meta = self.qtbase.meta // (args.meta or {}); }); addPackages = self: with self; @@ -61,6 +64,7 @@ let qtbase = callPackage ./qtbase { mesa = pkgs.mesa_noglu; + harfbuzz = pkgs.harfbuzz-icu; cups = if stdenv.isLinux then pkgs.cups else null; # GNOME dependencies are not used unless gtkStyle == true inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; @@ -110,7 +114,10 @@ let ]; makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh; + fixQtModuleCMakeConfig = makeSetupHook { } ./fix-qt-module-cmake-config.sh; }; -in makeScope pkgs.newScope addPackages + self = makeScope pkgs.newScope addPackages; + +in self diff --git a/pkgs/development/libraries/qt-5/5.5/fix-qt-module-cmake-config.sh b/pkgs/development/libraries/qt-5/5.5/fix-qt-module-cmake-config.sh new file mode 100644 index 000000000000..7ca3e33b613c --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/fix-qt-module-cmake-config.sh @@ -0,0 +1,5 @@ +fixQtModuleCMakeConfig() { + local module="$1" + sed -e "/set(imported_location/ s@\\\${_qt5${module}_install_prefix}@${!outputLib}@" \ + -i "${!outputDev}/lib/cmake/Qt5${module}/Qt5${module}Config.cmake" +} diff --git a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh index d61665455bf4..f29bbb73639b 100644 --- a/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh +++ b/pkgs/development/libraries/qt-5/5.5/make-qt-wrapper.sh @@ -1,11 +1,3 @@ -addQtDependency() { - addToSearchPath QT_PLUGIN_PATH "$1/lib/qt5/plugins" - addToSearchPath QML_IMPORT_PATH "$1/lib/qt5/imports" - addToSearchPath QML2_IMPORT_PATH "$1/lib/qt5/qml" - addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg" - addToSearchPath XDG_DATA_DIRS "$1/share" -} - wrapQtProgram() { local prog="$1" shift @@ -13,8 +5,8 @@ wrapQtProgram() { --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ - --prefix XDG_CONFIG_DIRS : "$XDG_CONFIG_DIRS" \ - --prefix XDG_DATA_DIRS : "$XDG_DATA_DIRS" \ + --prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \ + --prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \ "$@" } @@ -27,16 +19,16 @@ makeQtWrapper() { --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ - --prefix XDG_CONFIG_DIRS : "$XDG_CONFIG_DIRS" \ - --prefix XDG_DATA_DIRS : "$XDG_DATA_DIRS" \ + --prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \ + --prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \ "$@" } # cannot use addToSearchPath because these directories may not exist yet -export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}$out/lib/qt5/plugins" -export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}$out/lib/qt5/imports" -export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}$out/lib/qt5/qml" -export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}$out/etc/xdg" -export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}$out/share" - -envHooks+=(addQtDependency) +export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" +export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" +export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" +export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" +export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputLib}/share" +export NIX_WRAP_XDG_CONFIG_DIRS="$NIX_WRAP_XDG_CONFIG_DIRS${NIX_WRAP_XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg" +export NIX_WRAP_XDG_DATA_DIRS="$NIX_WRAP_XDG_DATA_DIRS${NIX_WRAP_XDG_DATA_DIRS:+:}${!outputLib}/share" diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix index ffa0a95be2c0..35410d55e66d 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix @@ -1,10 +1,11 @@ -{ stdenv, lib, fetchurl, copyPathsToStore, makeWrapper +{ stdenv, lib, fetchurl, copyPathsToStore, fixQtModuleCMakeConfig , srcs , xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi , xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon -, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre16 -, zlib, libjpeg, libpng, libtiff, sqlite, icu, harfbuzz +, fontconfig, freetype, harfbuzz +, openssl, dbus, glib, udev, libxml2, libxslt, pcre16 +, zlib, libjpeg, libpng, libtiff, sqlite, icu , coreutils, bison, flex, gdb, gperf, lndir, ruby , python, perl, pkgconfig @@ -14,8 +15,7 @@ , mysql ? null, postgresql ? null # options -, mesaSupported, mesa, mesa_glu -, buildDocs ? false +, mesaSupported, mesa , buildExamples ? false , buildTests ? false , developerBuild ? false @@ -43,6 +43,8 @@ stdenv.mkDerivation { sourceRoot = "qt-everywhere-opensource-src-${version}"; + outputs = [ "dev" "out" ]; + postUnpack = '' mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase ''; @@ -70,44 +72,68 @@ stdenv.mkDerivation { sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in" substituteInPlace qtbase/src/network/kernel/qdnslookup_unix.cpp \ - --replace "@glibc@" "${stdenv.cc.libc}" + --replace "@glibc@" "${stdenv.cc.libc.out}" substituteInPlace qtbase/src/network/kernel/qhostinfo_unix.cpp \ - --replace "@glibc@" "${stdenv.cc.libc}" + --replace "@glibc@" "${stdenv.cc.libc.out}" substituteInPlace qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp \ - --replace "@libXcursor@" "${libXcursor}" + --replace "@libXcursor@" "${libXcursor.out}" substituteInPlace qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp \ - --replace "@openssl@" "${openssl}" + --replace "@openssl@" "${openssl.out}" substituteInPlace qtbase/src/dbus/qdbus_symbols.cpp \ - --replace "@dbus_libs@" "${dbus}" + --replace "@dbus_libs@" "${dbus.lib}" substituteInPlace \ qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \ - --replace "@libX11@" "${libX11}" + --replace "@libX11@" "${libX11.out}" '' + lib.optionalString gtkStyle '' - substituteInPlace qtbase/src/widgets/styles/qgtk2painter.cpp --replace "@gtk@" "${gtk}" + substituteInPlace qtbase/src/widgets/styles/qgtk2painter.cpp --replace "@gtk@" "${gtk.out}" substituteInPlace qtbase/src/widgets/styles/qgtkstyle_p.cpp \ - --replace "@gtk@" "${gtk}" \ - --replace "@gnome_vfs@" "${gnome_vfs}" \ - --replace "@libgnomeui@" "${libgnomeui}" \ - --replace "@gconf@" "${GConf}" + --replace "@gtk@" "${gtk.out}" \ + --replace "@gnome_vfs@" "${gnome_vfs.out}" \ + --replace "@libgnomeui@" "${libgnomeui.out}" \ + --replace "@gconf@" "${GConf.out}" '' + lib.optionalString mesaSupported '' substituteInPlace \ qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp \ - --replace "@mesa@" "${mesa}" - substituteInPlace qtbase/mkspecs/common/linux.conf --replace "@mesa@" "${mesa}" + --replace "@mesa_lib@" "${mesa.out}" + substituteInPlace qtbase/mkspecs/common/linux.conf \ + --replace "@mesa_lib@" "${mesa.out}" \ + --replace "@mesa_inc@" "${mesa.dev}" ''; + setOutputFlags = false; preConfigure = '' export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH" export MAKEFLAGS=-j$NIX_BUILD_CORES - export configureFlags+="-plugindir $out/lib/qt5/plugins -importdir $out/lib/qt5/imports -qmldir $out/lib/qt5/qml" - export configureFlags+=" -docdir $out/share/doc/qt5" + _multioutQtDevs() { + # We cannot simply set these paths in configureFlags because libQtCore retains + # references to the paths it was built with. + moveToOutput "bin" "$dev" + moveToOutput "include" "$dev" + moveToOutput "mkspecs" "$dev" + + # The destination directory must exist or moveToOutput will do nothing + mkdir -p "$dev/share" + moveToOutput "share/doc" "$dev" + + mkdir -p "$dev/lib" + lndir -silent "$out/lib" "$dev/lib" + if [[ -h "$dev/lib/cmake" ]]; then rm "$dev/lib/cmake"; fi + if [[ -h "$dev/lib/pkgconfig" ]]; then rm "$dev/lib/pkgconfig"; fi + } + preFixupHooks+=(_multioutQtDevs) + + configureFlags+="\ + -plugindir $out/lib/qt5/plugins \ + -importdir $out/lib/qt5/imports \ + -qmldir $out/lib/qt5/qml \ + -docdir $out/share/doc/qt5" ''; prefixKey = "-prefix "; @@ -184,40 +210,53 @@ stdenv.mkDerivation { # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag # if dependency paths contain the string "pq", which can occur in the hash. # To prevent these failures, we need to override PostgreSQL detection. - PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql}/lib -lpq"; + PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq"; propagatedBuildInputs = [ + dbus glib libxml2 libxslt openssl pcre16 sqlite udev zlib + + # Image formats + libjpeg libpng libtiff + + # Text rendering + fontconfig freetype harfbuzz icu + + # X11 libs xlibs.libXcomposite libX11 libxcb libXext libXrender libXi - fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre16 - zlib libjpeg libpng libtiff sqlite icu harfbuzz xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon ] - # Qt doesn't directly need GLU (just GL), but many apps use, it's small and - # doesn't remain a runtime-dep if not used - ++ lib.optionals mesaSupported [ mesa mesa_glu ] - ++ lib.optional (cups != null) cups - ++ lib.optional (mysql != null) mysql.lib - ++ lib.optional (postgresql != null) postgresql - ++ lib.optionals gtkStyle [gnome_vfs libgnomeui gtk GConf]; + ++ lib.optional mesaSupported mesa; buildInputs = [ bison flex gperf ruby ] - ++ lib.optional developerBuild gdb; - - nativeBuildInputs = [ python perl pkgconfig ]; + ++ lib.optional developerBuild gdb + ++ lib.optional (cups != null) cups + ++ lib.optional (mysql != null) mysql.lib + ++ lib.optional (postgresql != null) postgresql + ++ lib.optionals gtkStyle [gnome_vfs.out libgnomeui.out gtk GConf]; - propagatedNativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ fixQtModuleCMakeConfig lndir python perl pkgconfig ]; # freetype-2.5.4 changed signedness of some struct fields NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; - postInstall = + postFixup = '' # Don't retain build-time dependencies like gdb and ruby. - sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri - '' - + lib.optionalString buildDocs '' - make docs && make install_docs + sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri + + fixQtModuleCMakeConfig "Concurrent" + fixQtModuleCMakeConfig "Core" + fixQtModuleCMakeConfig "DBus" + fixQtModuleCMakeConfig "Gui" + fixQtModuleCMakeConfig "Network" + fixQtModuleCMakeConfig "OpenGL" + fixQtModuleCMakeConfig "OpenGLExtensions" + fixQtModuleCMakeConfig "PrintSupport" + fixQtModuleCMakeConfig "Sql" + fixQtModuleCMakeConfig "Test" + fixQtModuleCMakeConfig "Widgets" + fixQtModuleCMakeConfig "Xml" ''; inherit lndir; @@ -226,9 +265,9 @@ stdenv.mkDerivation { enableParallelBuilding = true; meta = with lib; { - homepage = http://qt-project.org; + homepage = http://www.qt.io; description = "A cross-platform application framework for C++"; - license = "GPL/LGPL"; + license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; maintainers = with maintainers; [ bbenoist qknight ttuegel ]; platforms = platforms.linux; }; diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gl.patch index 14411a95f3ac..59f510ac54da 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gl.patch +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gl.patch @@ -10,7 +10,7 @@ Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_in QLibrary lib(QLatin1String("GL")); + if (!lib.load()) { + // Fallback to Mesa driver -+ lib.setFileName(QLatin1String("@mesa@/lib/libGL")); ++ lib.setFileName(QLatin1String("@mesa_lib@/lib/libGL")); + } glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); } diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/mkspecs-libgl.patch index 10115e8144ad..56ee0a411d4d 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/mkspecs-libgl.patch +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/mkspecs-libgl.patch @@ -8,8 +8,8 @@ Index: qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/common/linux.conf QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = -+QMAKE_INCDIR_OPENGL = @mesa@/include -+QMAKE_LIBDIR_OPENGL = @mesa@/lib ++QMAKE_INCDIR_OPENGL = @mesa_inc@/include ++QMAKE_LIBDIR_OPENGL = @mesa_lib@/lib QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_EGL = diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh index b86b6df28ac8..9cf1ef9ccb61 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh @@ -1,45 +1,26 @@ if [[ -z "$QMAKE" ]]; then -linkDependencyDir() { +_qtLinkDependencyDir() { @lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2" if [[ -n "$NIX_QT_SUBMODULE" ]]; then find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs" fi } -addQtModule() { - if [[ -d "$1/mkspecs" ]]; then +_qtLinkModule() { + if [ -d "$1/mkspecs" ]; then # $1 is a Qt module - linkDependencyDir "$1" mkspecs + _qtLinkDependencyDir "$1" mkspecs for dir in bin include lib share; do - if [[ -d "$1/$dir" ]]; then - linkDependencyDir "$1" "$dir" + if [ -d "$1/$dir" ]; then + _qtLinkDependencyDir "$1" "$dir" fi done fi } -propagateRuntimeDeps() { - local propagated - for dir in "etc/xdg" "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports" "share"; do - if [[ -d "$1/$dir" ]]; then - propagated= - for pkg in $propagatedBuildInputs; do - if [[ "z$pkg" == "z$1" ]]; then - propagated=1 - break - fi - done - if [[ -z $propagated ]]; then - propagatedBuildInputs="$propagatedBuildInputs $1" - fi - break - fi - done -} - -rmQtModules() { +_qtRmModules() { cat "$out/nix-support/qt-inputs" | while read file; do if [[ -h "$out/$file" ]]; then rm "$out/$file" @@ -55,14 +36,66 @@ rmQtModules() { rm "$out/nix-support/qt-inputs" } -rmQMake() { +addToSearchPathOnceWithCustomDelimiter() { + local delim="$1" + local search="$2" + local target="$3" + local dirs + local exported + IFS="$delim" read -a dirs <<< "${!search}" + for dir in ${dirs[@]}; do + if [ "z$dir" == "z$target" ]; then exported=1; fi + done + if [ -z $exported ]; then + eval "export ${search}=\"${!search}${!search:+$delim}$target\"" + fi +} + +addToSearchPathOnce() { + addToSearchPathOnceWithCustomDelimiter ':' "$@" +} + +propagateOnce() { + addToSearchPathOnceWithCustomDelimiter ' ' "$@" +} + +_qtPropagateRuntimeDependencies() { + for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do + if [ -d "$1/$dir" ]; then + propagateOnce propagatedBuildInputs "$1" + propagateOnce propagatedUserEnvPkgs "$1" + break + fi + done + addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" + addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" + addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" +} + +_qtRmQmake() { rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf" } -setQMakePath() { +_qtSetQmakePath() { export PATH="$qtOut/bin${PATH:+:}$PATH" } +_qtMultioutModuleDevs() { + # We cannot simply set these paths in configureFlags because libQtCore retains + # references to the paths it was built with. + moveToOutput "bin" "${!outputDev}" + moveToOutput "include" "${!outputDev}" + + # The destination directory must exist or moveToOutput will do nothing + mkdir -p "${!outputDev}/share" + moveToOutput "share/doc" "${!outputDev}" +} + +_qtMultioutDevs() { + # This is necessary whether the package is a Qt module or not + moveToOutput "mkspecs" "${!outputDev}" +} + qtOut="" if [[ -z "$NIX_QT_SUBMODULE" ]]; then qtOut=`mktemp -d` @@ -72,7 +105,7 @@ fi mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share" -cp "@out@/bin/qmake" "$qtOut/bin" +cp "@dev@/bin/qmake" "$qtOut/bin" cat >"$qtOut/bin/qt.conf" <<EOF [Paths] Prefix = $qtOut @@ -84,17 +117,20 @@ EOF export QMAKE="$qtOut/bin/qmake" -envHooks+=(addQtModule propagateRuntimeDeps) -preConfigurePhases+=(setQMakePath) +envHooks+=(_qtLinkModule _qtPropagateRuntimeDependencies) +# Set PATH to find qmake first in a preConfigure hook +# It must run after all the envHooks! +preConfigureHooks+=(_qtSetQmakePath) +preFixupHooks+=(_qtMultioutDevs) if [[ -n "$NIX_QT_SUBMODULE" ]]; then - preFixupPhases+=(rmQtModules) - postPhases+=(rmQMake) + postInstallHooks+=(_qtRmQmake _qtRmModules) + preFixupHooks+=(_qtMultioutModuleDevs) fi fi if [[ -z "$NIX_QT_PIC" ]]; then - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC" export NIX_QT_PIC=1 fi diff --git a/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix b/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix index 95cd6fea79b4..35538c7261f1 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix @@ -3,4 +3,8 @@ qtSubmodule { name = "qtconnectivity"; qtInputs = [ qtbase qtdeclarative ]; + postFixup = '' + fixQtModuleCMakeConfig "Bluetooth" + fixQtModuleCMakeConfig "Nfc" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix index 328d8aee72bd..407513f78498 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix @@ -5,4 +5,10 @@ qtSubmodule { patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); qtInputs = [ qtbase qtsvg qtxmlpatterns ]; nativeBuildInputs = [ python ]; + postFixup = '' + fixQtModuleCMakeConfig "Qml" + fixQtModuleCMakeConfig "Quick" + fixQtModuleCMakeConfig "QuickTest" + fixQtModuleCMakeConfig "QuickWidgets" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtenginio.nix b/pkgs/development/libraries/qt-5/5.5/qtenginio.nix index b860a73ef890..503a0f7ce4f5 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtenginio.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtenginio.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtenginio"; qtInputs = [ qtdeclarative ]; + postFixup = '' + fixQtModuleCMakeConfig "Enginio" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtlocation.nix b/pkgs/development/libraries/qt-5/5.5/qtlocation.nix index 1e134057c4b4..0e2ad8bafb30 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtlocation.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtlocation.nix @@ -3,4 +3,8 @@ qtSubmodule { name = "qtlocation"; qtInputs = [ qtbase qtmultimedia ]; + postFixup = '' + fixQtModuleCMakeConfig "Location" + fixQtModuleCMakeConfig "Positioning" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix index b6b4d8ea0cf4..8db8fa5f4b96 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix @@ -9,4 +9,8 @@ qtSubmodule { pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio ]; configureFlags = "GST_VERSION=1.0"; + postFixup = '' + fixQtModuleCMakeConfig "Multimedia" + fixQtModuleCMakeConfig "MultimediaWidgets" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix b/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix index 64937b3dcd37..4bf92fa01473 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix @@ -4,4 +4,7 @@ qtSubmodule { name = "qtquick1"; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ]; + postFixup = '' + fixQtModuleCMakeConfig "Declarative" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix index 127766e2ebd6..b81a43aeadb0 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix @@ -4,4 +4,7 @@ qtSubmodule { name = "qtscript"; qtInputs = [ qtbase qttools ]; patches = [ ./0001-glib-2.32.patch ]; + postFixup = '' + fixQtModuleCMakeConfig "Script" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtsensors.nix b/pkgs/development/libraries/qt-5/5.5/qtsensors.nix index 61e64dc47e4d..5776f45a7068 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtsensors.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtsensors.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtsensors"; qtInputs = [ qtbase qtdeclarative ]; + postFixup = '' + fixQtModuleCMakeConfig "Sensors" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch index 6636cc9265a8..3a813dc80074 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch +++ b/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch @@ -16,10 +16,10 @@ index 6f2cabd..81b9849 100644 { if (!udevLibrary->isLoaded()) { - udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); -+ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1); if (!udevLibrary->load()) { - udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); -+ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0); if (!udevLibrary->load()) { qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); return false; diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix index fa7383fc1e76..3f409f9c0e08 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix @@ -1,7 +1,15 @@ -{ qtSubmodule, qtbase }: +{ qtSubmodule, qtbase, substituteAll, libudev }: qtSubmodule { name = "qtserialport"; qtInputs = [ qtbase ]; - patches = [ ./0001-dlopen-serialport-udev.patch ]; + patches = [ + (substituteAll { + src = ./0001-dlopen-serialport-udev.patch; + libudev = libudev.out; + }) + ]; + postFixup = '' + fixQtModuleCMakeConfig "SerialPort" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtsvg.nix b/pkgs/development/libraries/qt-5/5.5/qtsvg.nix index b9ccac7cf933..a460d6da4c2a 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtsvg.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtsvg.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtsvg"; qtInputs = [ qtbase ]; + postFixup = '' + fixQtModuleCMakeConfig "Svg" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qttools.nix b/pkgs/development/libraries/qt-5/5.5/qttools.nix index 65edc4508128..1472691c5254 100644 --- a/pkgs/development/libraries/qt-5/5.5/qttools.nix +++ b/pkgs/development/libraries/qt-5/5.5/qttools.nix @@ -3,4 +3,14 @@ qtSubmodule { name = "qttools"; qtInputs = [ qtbase ]; + postFixup = '' + moveToOutput "bin/qdbus" "$out" + moveToOutput "bin/qtpaths" "$out" + + fixQtModuleCMakeConfig "Designer" + fixQtModuleCMakeConfig "Help" + fixQtModuleCMakeConfig "LinguistTools" + fixQtModuleCMakeConfig "UiPlugin" + fixQtModuleCMakeConfig "UiTools" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch index f3b9d407bd72..1c360cd81aa2 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch @@ -16,13 +16,13 @@ index 60ff317..da8ac69 100644 { m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint); - m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1); -+ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1); m_loaded = m_libUdev.load(); if (resolveMethods()) return true; - m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0); -+ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0); m_loaded = m_libUdev.load(); return resolveMethods(); } diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix index 596c02d39afb..b441a2448d76 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix @@ -1,6 +1,6 @@ { qtSubmodule, stdenv, qtdeclarative, qtlocation, qtmultimedia, qtsensors , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt -, sqlite, udev +, sqlite, libudev , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby , substituteAll , flashplayerFix ? false @@ -18,16 +18,21 @@ qtSubmodule { patches = let dlopen-webkit-nsplugin = substituteAll { src = ./0001-dlopen-webkit-nsplugin.patch; - inherit gtk gdk_pixbuf; + gtk = gtk.out; + gdk_pixbuf = gdk_pixbuf.out; }; dlopen-webkit-gtk = substituteAll { src = ./0002-dlopen-webkit-gtk.patch; - inherit gtk; + gtk = gtk.out; }; dlopen-webkit-udev = substituteAll { src = ./0003-dlopen-webkit-udev.patch; - inherit udev; + libudev = libudev.out; }; in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ] ++ [ dlopen-webkit-udev ]; + postFixup = '' + fixQtModuleCMakeConfig "WebKit" + fixQtModuleCMakeConfig "WebKitWidgets" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix index fbdfbbcf0dbe..c0d0f9e7d714 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtwebsockets"; qtInputs = [ qtbase qtdeclarative ]; + postFixup = '' + fixQtModuleCMakeConfig "WebSockets" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix b/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix index a765161e2d7e..db92f1353627 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtx11extras"; qtInputs = [ qtbase ]; + postFixup = '' + fixQtModuleCMakeConfig "X11Extras" + ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix index 9a8ddbba2bd2..3b22132e4c38 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix @@ -3,4 +3,7 @@ qtSubmodule { name = "qtxmlpatterns"; qtInputs = [ qtbase ]; + postFixup = '' + fixQtModuleCMakeConfig "XmlPatterns" + ''; } diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix index 947b06021cd2..32fff70ebfba 100644 --- a/pkgs/development/libraries/rdkafka/default.nix +++ b/pkgs/development/libraries/rdkafka/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { buildInputs = [ zlib perl ]; + NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow"; + postPatch = '' patchShebangs . ''; diff --git a/pkgs/development/libraries/readline/6.3.nix b/pkgs/development/libraries/readline/6.3.nix index f770fabb35d3..11d4271b168b 100644 --- a/pkgs/development/libraries/readline/6.3.nix +++ b/pkgs/development/libraries/readline/6.3.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn"; }; + outputs = [ "dev" "out" "doc" ]; + propagatedBuildInputs = [ncurses]; patchFlags = "-p0"; diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix index 33f5ba867d6a..2df7d0518942 100644 --- a/pkgs/development/libraries/schroedinger/default.nix +++ b/pkgs/development/libraries/schroedinger/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, orc, pkgconfig}: +{ stdenv, fetchurl, orc, pkgconfig }: stdenv.mkDerivation { name = "schroedinger-1.0.11"; @@ -11,16 +11,12 @@ stdenv.mkDerivation { sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy"; }; - buildInputs = [orc pkgconfig]; + outputs = [ "dev" "out" "docdev" ]; - # The test suite is known not to build against Orc >0.4.16 in Schroedinger 1.0.11. - # A fix is in upstream, so test when pulling 1.0.12 if this is still needed. See: - # http://www.mail-archive.com/schrodinger-devel@lists.sourceforge.net/msg00415.html - preBuild = '' - substituteInPlace Makefile \ - --replace "SUBDIRS = schroedinger doc tools testsuite" "SUBDIRS = schroedinger doc tools" \ - --replace "DIST_SUBDIRS = schroedinger doc tools testsuite" "DIST_SUBDIRS = schroedinger doc tools" - ''; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ orc ]; + + doCheck = true; meta = with stdenv.lib; { homepage = "http://diracvideo.org/"; diff --git a/pkgs/development/libraries/science/robotics/ispike/default.nix b/pkgs/development/libraries/science/robotics/ispike/default.nix new file mode 100644 index 000000000000..5f2263d821d0 --- /dev/null +++ b/pkgs/development/libraries/science/robotics/ispike/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, cmake, boost +}: + +stdenv.mkDerivation rec { + name = "ispike-${version}"; + version = "2.1.1"; + + src = fetchurl { + url = "mirror://sourceforge/ispike/${name}.tar.gz"; + sha256 = "0khrxp43bi5kisr8j4lp9fl4r5marzf7b4inys62ac108sfb28lp"; + }; + + buildInputs = [ cmake boost ]; + + meta = { + description = "Spiking neural interface between iCub and a spiking neural simulator"; + homepage = https://sourceforge.net/projects/ispike/; + license = stdenv.lib.licenses.lgpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.nico202 ]; + }; + + +} diff --git a/pkgs/development/libraries/scmccid/default.nix b/pkgs/development/libraries/scmccid/default.nix index 7dcde2a09a8c..f88bd64f597b 100644 --- a/pkgs/development/libraries/scmccid/default.nix +++ b/pkgs/development/libraries/scmccid/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ patchelf ]; installPhase = '' - RPATH=${libusb}/lib:${stdenv.cc.libc}/lib + RPATH=${libusb.out}/lib:${stdenv.cc.libc.out}/lib for a in proprietary/*/Contents/Linux/*.so*; do if ! test -L $a; then diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix index bf1f38fbb83d..e83718673aae 100644 --- a/pkgs/development/libraries/slang/default.nix +++ b/pkgs/development/libraries/slang/default.nix @@ -7,20 +7,29 @@ stdenv.mkDerivation rec { sha256 = "0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy"; }; + outputs = [ "dev" "out" "doc" ]; + # Fix some wrong hardcoded paths preConfigure = '' - sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" configure - sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" src/sltermin.c + sed -i -e "s|/usr/lib/terminfo|${ncurses.out}/lib/terminfo|" configure + sed -i -e "s|/usr/lib/terminfo|${ncurses.out}/lib/terminfo|" src/sltermin.c sed -i -e "s|/bin/ln|ln|" src/Makefile.in + sed -i -e "s|-ltermcap|-lncurses|" ./configure ''; configureFlags = "--with-png=${libpng} --with-z=${zlib} --with-pcre=${pcre} --with-readline=${readline}"; - buildInputs = [ncurses pcre libpng zlib readline]; + buildInputs = [ pcre libpng zlib readline ]; + propagatedBuildInputs = [ ncurses ]; + + postInstall = '' + find "$out"/lib/ -name '*.so' -exec chmod +x "{}" \; + sed '/^Libs:/s/$/ -lncurses/' -i "$dev"/lib/pkgconfig/slang.pc + ''; - meta = { + meta = with stdenv.lib; { description = "A multi-platform programmer's library designed to allow a developer to create robust software"; homepage = http://www.jedsoft.org/slang/; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = [ maintainers.fuuzetsu ]; }; } diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix index c2473ae2c5db..2f300abebbf1 100644 --- a/pkgs/development/libraries/smpeg/default.nix +++ b/pkgs/development/libraries/smpeg/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/smpeg-config \ --prefix PATH ":" "${pkgconfig}/bin" \ - --prefix PKG_CONFIG_PATH ":" "${SDL}/lib/pkgconfig" + --prefix PKG_CONFIG_PATH ":" "${SDL.dev}/lib/pkgconfig" ''; meta = { diff --git a/pkgs/development/libraries/socket_wrapper/default.nix b/pkgs/development/libraries/socket_wrapper/default.nix index 0c6f40c8b143..bff4f393d1db 100644 --- a/pkgs/development/libraries/socket_wrapper/default.nix +++ b/pkgs/development/libraries/socket_wrapper/default.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ (stdenv.cc.libc.out or null) ]; meta = with stdenv.lib; { description = "a library passing all socket communications through unix sockets"; diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix index 9a1c00e63b9d..8e3cf899e40b 100644 --- a/pkgs/development/libraries/speex/default.nix +++ b/pkgs/development/libraries/speex/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "speex-1.2rc2"; - + src = fetchurl { url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz"; sha256 = "14g8ph39inkrif749lzjm089g7kwk0hymq1a3i9ch5gz8xr7r8na"; @@ -11,7 +11,9 @@ stdenv.mkDerivation rec { postPatch = '' sed -i '/AC_CONFIG_MACRO_DIR/i PKG_PROG_PKG_CONFIG' configure.ac ''; - + + outputs = [ "dev" "out" "doc" ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ fftw speexdsp ]; diff --git a/pkgs/development/libraries/speexdsp/default.nix b/pkgs/development/libraries/speexdsp/default.nix index 7112afbea8a2..56b1900837ac 100644 --- a/pkgs/development/libraries/speexdsp/default.nix +++ b/pkgs/development/libraries/speexdsp/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { patches = [ ./build-fix.patch ]; postPatch = "sed '3i#include <stdint.h>' -i ./include/speex/speexdsp_config_types.h.in"; + outputs = [ "dev" "out" "doc" ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ fftw ]; diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index 24be2c2a9c85..feb5e5d30407 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation { sha1 = "c4b4dcd735a4daf5a2e2bb90f374484c8d4dad29"; }; + outputs = [ "dev" "out" "bin" ]; + buildInputs = lib.optionals interactive [ readline ncurses ]; configureFlags = [ "--enable-threadsafe" ]; diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix index 58e5d0864d3f..31fc5401e754 100644 --- a/pkgs/development/libraries/tbb/default.nix +++ b/pkgs/development/libraries/tbb/default.nix @@ -1,5 +1,8 @@ { stdenv, fetchurl }: +let + SHLIB_EXT = if stdenv.isDarwin then "dylib" else "so"; +in stdenv.mkDerivation { name = "tbb-4.4-u2"; @@ -13,7 +16,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -p $out/{lib,share/doc} - cp "build/"*release*"/"*so* $out/lib/ + cp "build/"*release*"/"*${SHLIB_EXT}* $out/lib/ mv include $out/ rm $out/include/index.html mv doc/html $out/share/doc/tbb @@ -33,7 +36,7 @@ stdenv.mkDerivation { represents a higher-level, task-based parallelism that abstracts platform details and threading mechanisms for scalability and performance. ''; - platforms = stdenv.lib.platforms.linux; + platforms = with stdenv.lib.platforms; linux ++ darwin; maintainers = with stdenv.lib.maintainers; [ simons thoughtpolice ]; }; } diff --git a/pkgs/development/libraries/tokyo-cabinet/default.nix b/pkgs/development/libraries/tokyo-cabinet/default.nix index 0b210a589d41..b8969588b3c5 100644 --- a/pkgs/development/libraries/tokyo-cabinet/default.nix +++ b/pkgs/development/libraries/tokyo-cabinet/default.nix @@ -12,8 +12,8 @@ stdenv.mkDerivation rec { postInstall = '' sed -i "$out/lib/pkgconfig/tokyocabinet.pc" \ - -e 's|-lz|-L${zlib}/lib -lz|g; - s|-lbz2|-L${bzip2}/lib -lbz2|g' + -e 's|-lz|-L${zlib.out}/lib -lz|g; + s|-lbz2|-L${bzip2.out}/lib -lbz2|g' ''; meta = { diff --git a/pkgs/development/libraries/uid_wrapper/default.nix b/pkgs/development/libraries/uid_wrapper/default.nix index 35d7f53173fb..0675ec68b4e8 100644 --- a/pkgs/development/libraries/uid_wrapper/default.nix +++ b/pkgs/development/libraries/uid_wrapper/default.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ (stdenv.cc.libc.out or null) ]; meta = with stdenv.lib; { description = "a wrapper for the user, group and hosts NSS API"; diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix index 5084fc3c10b1..6942107d146b 100644 --- a/pkgs/development/libraries/vaapi-intel/default.nix +++ b/pkgs/development/libraries/vaapi-intel/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "libva-intel-driver-1.6.1"; + name = "libva-intel-driver-1.6.2"; src = fetchurl { url = "http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver/${name}.tar.bz2"; - sha256 = "1nsnl7gix22jbxqm7d5i3fk9gafwayhnsc3qjhbzxs6bbsffjmin"; + sha256 = "1zl51mdxfmnn33r4b0y5qxwlkqfw919aqphsq60d50pwrvdmk1xz"; }; patchPhase = '' diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix index e8f0a3d4da7e..cc7644f742d5 100644 --- a/pkgs/development/libraries/webkitgtk/2.4.nix +++ b/pkgs/development/libraries/webkitgtk/2.4.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, perl, python, ruby, bison, gperf, flex , pkgconfig, which, gettext, gobjectIntrospection , gtk2, gtk3, wayland, libwebp, enchant, sqlite -, libxml2, libsoup, libsecret, libxslt, harfbuzz +, libxml2, libsoup, libsecret, libxslt, harfbuzz, xorg , gst-plugins-base , withGtk2 ? false , enableIntrospection ? !stdenv.isDarwin @@ -71,7 +71,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk2 libwebp enchant libxml2 libxslt - gst-plugins-base sqlite + gst-plugins-base sqlite xorg.libXt ] ++ optionals enableCredentialStorage [ libsecret ] ++ (if stdenv.isDarwin then [ diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 1abfcbb6c860..cf22eb3aadde 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -2,7 +2,7 @@ , pkgconfig, gettext, gobjectIntrospection, libnotify , gtk2, gtk3, wayland, libwebp, enchant , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs -, enableGeoLocation ? false, geoclue2, sqlite +, enableGeoLocation ? false, geoclue2, sqlite, xorg , enableCredentialStorage ? !stdenv.isDarwin , gst-plugins-base, readline, libedit }: @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk2 libwebp enchant libnotify libxml2 libxslt harfbuzz libpthreadstubs - gst-plugins-base + gst-plugins-base xorg.libXt ] ++ optionals enableCredentialStorage [ libsecret ] ++ (if stdenv.isDarwin then [ diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix index 8660d15e06a3..4dec0555ae9f 100644 --- a/pkgs/development/libraries/wildmidi/default.nix +++ b/pkgs/development/libraries/wildmidi/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ alsaLib ]; + buildInputs = [ alsaLib stdenv.cc.libc/*couldn't find libm*/ ]; preConfigure = '' substituteInPlace CMakeLists.txt \ diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix index 50220c227f7c..e023665f0701 100644 --- a/pkgs/development/libraries/wxGTK-2.8/default.nix +++ b/pkgs/development/libraries/wxGTK-2.8/default.nix @@ -33,10 +33,10 @@ stdenv.mkDerivation rec { # These variables are used by configure to find some dependencies. SEARCH_INCLUDE = - "${libXinerama}/include ${libSM}/include ${libXxf86vm}/include"; + "${libXinerama.dev}/include ${libSM.dev}/include ${libXxf86vm.dev}/include"; SEARCH_LIB = - "${libXinerama}/lib ${libSM}/lib ${libXxf86vm}/lib " - + optionalString withMesa "${mesa}/lib "; + "${libXinerama.out}/lib ${libSM.out}/lib ${libXxf86vm.out}/lib " + + optionalString withMesa "${mesa.out}/lib "; # Work around a bug in configure. NIX_CFLAGS_COMPILE = [ "-DHAVE_X11_XLIB_H=1" "-lX11" "-lcairo" ]; diff --git a/pkgs/development/libraries/x264/default.nix b/pkgs/development/libraries/x264/default.nix index 3c2423434939..754b76de0617 100644 --- a/pkgs/development/libraries/x264/default.nix +++ b/pkgs/development/libraries/x264/default.nix @@ -13,6 +13,8 @@ stdenv.mkDerivation rec { sed -i s,/bin/bash,${stdenv.shell}, configure version.sh ''; + outputs = [ "out" "lib" ]; # leaving 52 kB of headers + configureFlags = [ "--enable-shared" ] ++ stdenv.lib.optional (!stdenv.isi686) "--enable-pic" ++ stdenv.lib.optional (enable10bit) "--bit-depth=10"; diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index 736c350bc068..c41dc12bd2f1 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -49,6 +49,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake yasm ]; + NIX_LDFLAGS = "-L${stdenv.cc.libc.out}/lib"; #outputs TODO: this is strange + meta = with stdenv.lib; { description = "Library for encoding h.265/HEVC video streams"; homepage = http://x265.org; diff --git a/pkgs/development/libraries/xvidcore/default.nix b/pkgs/development/libraries/xvidcore/default.nix index 57c66f310fbe..057be97ce96b 100644 --- a/pkgs/development/libraries/xvidcore/default.nix +++ b/pkgs/development/libraries/xvidcore/default.nix @@ -3,11 +3,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "xvidcore-${version}"; - version = "1.3.3"; + version = "1.3.4"; src = fetchurl { url = "http://downloads.xvid.org/downloads/${name}.tar.bz2"; - sha256 = "0m5g75qvapr7xpywg6a83v5x19kw1nm9l2q48lg7jvvpba0bmqdh"; + sha256 = "1xwbmp9wqshc0ckm970zdpi0yvgqxlqg0s8bkz98mnr8p2067bsz"; }; preConfigure = '' diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 7a6f480215c7..59713bb8d205 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -2,7 +2,7 @@ let version = "1.2.8"; in -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "zlib-${version}"; src = fetchurl { @@ -20,15 +20,31 @@ stdenv.mkDerivation (rec { --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"' ''; - configureFlags = if static then "" else "--shared"; + outputs = [ "dev" "out" "static" ]; + setOutputFlags = false; + outputDoc = "dev"; # single tiny man3 page + preConfigure = '' if test -n "$crossConfig"; then export CC=$crossConfig-gcc - configureFlags=${if static then "" else "--shared"} fi ''; + configureFlags = stdenv.lib.optional (!static) "--shared"; + + postInstall = '' + moveToOutput lib/libz.a "$static" + '' + # jww (2015-01-06): Sometimes this library install as a .so, even on + # Darwin; others time it installs as a .dylib. I haven't yet figured out + # what causes this difference. + + stdenv.lib.optionalString stdenv.isDarwin '' + for file in $out/lib/*.so* $out/lib/*.dylib* ; do + install_name_tool -id "$file" $file + done + ''; + # As zlib takes part in the stdenv building, we don't want references # to the bootstrap-tools libgcc (as uses to happen on arm/mips) NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-static-libgcc " @@ -58,13 +74,5 @@ stdenv.mkDerivation (rec { license = licenses.zlib; platforms = platforms.all; }; -} // (if stdenv.isDarwin then { - postInstall = '' - # jww (2015-01-06): Sometimes this library install as a .so, even on - # Darwin; others time it installs as a .dylib. I haven't yet figured out - # what causes this difference. - for file in $out/lib/*.so* $out/lib/*.dylib* ; do - install_name_tool -id "$file" $file - done - ''; -} else {})) +} + diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix index 595c98f76aaa..0ae5fc3b5403 100644 --- a/pkgs/development/mobile/androidenv/androidndk.nix +++ b/pkgs/development/mobile/androidenv/androidndk.nix @@ -54,8 +54,8 @@ stdenv.mkDerivation rec { find $out \( \ \( -type f -a -name "*.so*" \) -o \ \( -type f -a -perm -0100 \) \ - \) -exec patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-*so.? \ - --set-rpath ${zlib}/lib:${ncurses}/lib {} \; + \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \ + --set-rpath ${stdenv.lib.makeLibraryPath [ zlib ncurses ]} {} \; # fix ineffective PROGDIR / MYNDKDIR determination for i in ndk-build ndk-gdb ndk-gdb-py do diff --git a/pkgs/development/mobile/androidenv/androidndk_r8e.nix b/pkgs/development/mobile/androidenv/androidndk_r8e.nix index 90994ae708e5..428cef49a2d1 100644 --- a/pkgs/development/mobile/androidenv/androidndk_r8e.nix +++ b/pkgs/development/mobile/androidenv/androidndk_r8e.nix @@ -54,8 +54,8 @@ stdenv.mkDerivation rec { find $out \( \ \( -type f -a -name "*.so*" \) -o \ \( -type f -a -perm -0100 \) \ - \) -exec patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-*so.? \ - --set-rpath ${zlib}/lib:${ncurses}/lib {} \; + \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \ + --set-rpath ${zlib.out}/lib:${ncurses.out}/lib {} \; # fix ineffective PROGDIR / MYNDKDIR determination for i in ndk-build ndk-gdb ndk-gdb-py do diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix index 01ba759f4f69..aa009cb301a3 100644 --- a/pkgs/development/mobile/androidenv/androidsdk.nix +++ b/pkgs/development/mobile/androidenv/androidsdk.nix @@ -7,6 +7,8 @@ }: { platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs ? false, useGooglePlayServices ? false }: +with { inherit (stdenv.lib) makeLibraryPath; }; + stdenv.mkDerivation rec { name = "android-sdk-${version}"; version = "24.4"; @@ -39,7 +41,7 @@ stdenv.mkDerivation rec { for i in emulator emulator-arm emulator-mips emulator-x86 mksdcard do - patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i + patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 $i patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib $i done @@ -48,7 +50,7 @@ stdenv.mkDerivation rec { for i in emulator64-arm emulator64-mips emulator64-x86 do - patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $i + patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i patchelf --set-rpath ${stdenv.cc.cc}/lib64 $i done ''} @@ -58,7 +60,7 @@ stdenv.mkDerivation rec { wrapProgram `pwd`/android \ --prefix PATH : ${jdk}/bin \ - --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib + --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ glib gtk libXtst ]} wrapProgram `pwd`/uiautomatorviewer \ --prefix PATH : ${jdk}/bin \ @@ -74,7 +76,7 @@ stdenv.mkDerivation rec { do wrapProgram `pwd`/$i \ --prefix PATH : ${file}/bin \ - --suffix LD_LIBRARY_PATH : `pwd`/lib:${libX11_32bit}/lib:${libxcb_32bit}/lib:${libXau_32bit}/lib:${libXdmcp_32bit}/lib:${libXext_32bit}/lib:${mesa_32bit}/lib + --suffix LD_LIBRARY_PATH : `pwd`/lib:${makeLibraryPath [ libX11_32bit libxcb_32bit libXau_32bit libXdmcp_32bit libXext_32bit mesa_32bit ]} done ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") '' @@ -82,7 +84,7 @@ stdenv.mkDerivation rec { do wrapProgram `pwd`/$i \ --prefix PATH : ${file}/bin \ - --suffix LD_LIBRARY_PATH : `pwd`/lib:${libX11}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${libXext}/lib:${mesa}/lib:${alsaLib}/lib + --suffix LD_LIBRARY_PATH : `pwd`/lib:${makeLibraryPath [ libX11 libxcb libXau libXdmcp libXext mesa alsaLib ]} done ''} ''} @@ -94,11 +96,11 @@ stdenv.mkDerivation rec { # The monitor requires some more patching cd lib/monitor-x86 - patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 monitor - patchelf --set-rpath ${libX11}/lib:${libXext}/lib:${libXrender}/lib:${freetype}/lib:${fontconfig}/lib libcairo-swt.so + patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux.so.2 monitor + patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so wrapProgram `pwd`/monitor \ - --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.cc.cc}/lib:${libXtst}/lib + --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ gtk atk stdenv.cc.cc libXtst ]} cd ../.. '' @@ -107,11 +109,11 @@ stdenv.mkDerivation rec { # The monitor requires some more patching cd lib/monitor-x86_64 - patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 monitor - patchelf --set-rpath ${libX11}/lib:${libXext}/lib:${libXrender}/lib:${freetype}/lib:${fontconfig}/lib libcairo-swt.so + patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 monitor + patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so wrapProgram `pwd`/monitor \ - --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.cc.cc}/lib::${libXtst}/lib + --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ gtk atk stdenv.cc.cc libXtst ]} cd ../.. '' diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix index 2918acd8c15e..1f4bf6e4cfdf 100644 --- a/pkgs/development/mobile/androidenv/build-tools.nix +++ b/pkgs/development/mobile/androidenv/build-tools.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { # Patch the interpreter for i in aapt aidl bcc_compat dexdump llvm-rs-cc do - patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i + patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 $i done # These binaries need to find libstdc++ and libgcc_s @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { # These binaries also need zlib in addition to libstdc++ for i in arm-linux-androideabi-ld i686-linux-android-ld mipsel-linux-android-ld split-select zipalign do - patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i + patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 $i patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:${zlib_32bit}/lib:`pwd`/lib $i done diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix index 1243ba429a39..1654b13d13b1 100644 --- a/pkgs/development/mobile/androidenv/platform-tools.nix +++ b/pkgs/development/mobile/androidenv/platform-tools.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { '' for i in adb dmtracedump fastboot hprof-conv sqlite3 do - patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i + patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 $i patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:`pwd`/lib $i done diff --git a/pkgs/development/mobile/flashtool/default.nix b/pkgs/development/mobile/flashtool/default.nix index d22eeb6c2138..b33fc13224a3 100644 --- a/pkgs/development/mobile/flashtool/default.nix +++ b/pkgs/development/mobile/flashtool/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { buildPhase = '' ln -s ${platformTools}/platform-tools/adb x10flasher_lib/adb.linux ln -s ${platformTools}/platform-tools/fastboot x10flasher_lib/fastboot.linux - ln -s ${libusb1}/lib/libusb-1.0.so.0 ./x10flasher_lib/linux/lib32/libusbx-1.0.so + ln -s ${libusb1.out}/lib/libusb-1.0.so.0 ./x10flasher_lib/linux/lib32/libusbx-1.0.so chmod +x x10flasher_lib/unyaffs.linux.x86 x10flasher_lib/bin2elf x10flasher_lib/bin2sin patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" x10flasher_lib/unyaffs.linux.x86 diff --git a/pkgs/development/ocaml-modules/camlzip/default.nix b/pkgs/development/ocaml-modules/camlzip/default.nix index de800a295bca..d392b5f789c1 100644 --- a/pkgs/development/ocaml-modules/camlzip/default.nix +++ b/pkgs/development/ocaml-modules/camlzip/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation { postPatch = '' substitute ${./META} META --subst-var-by VERSION "${version}" substituteInPlace Makefile \ - --subst-var-by ZLIB_LIBDIR "${zlib}/lib" \ + --subst-var-by ZLIB_LIBDIR "${zlib.out}/lib" \ --subst-var-by ZLIB_INCLUDE "${zlib}/include" ''; diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix index f4837bd047f5..b6ee0d192e33 100644 --- a/pkgs/development/ocaml-modules/expat/default.nix +++ b/pkgs/development/ocaml-modules/expat/default.nix @@ -28,8 +28,8 @@ stdenv.mkDerivation { postPatch = '' substituteInPlace "unittest.ml" \ --replace "/home/maas/xml-samples/REC-xml-19980210.xml.txt" "${testcase}" - substituteInPlace Makefile --replace "EXPAT_LIBDIR=/usr/local/lib" "EXPAT_LIBDIR=${expat}/lib" \ - substituteInPlace Makefile --replace "EXPAT_INCDIR=/usr/local/include" "EXPAT_INCDIR=${expat}/include" \ + substituteInPlace Makefile --replace "EXPAT_LIBDIR=/usr/local/lib" "EXPAT_LIBDIR=${expat.out}/lib" \ + substituteInPlace Makefile --replace "EXPAT_INCDIR=/usr/local/include" "EXPAT_INCDIR=${expat.dev}/include" \ ''; configurePhase = "true"; # Skip configure diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix index 20362a51a7be..9314481cbcfe 100644 --- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix +++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix @@ -12,7 +12,7 @@ buildPerlPackage rec { cat > config.in <<EOF BUILD_ZLIB = False INCLUDE = ${zlib}/include - LIB = ${zlib}/lib + LIB = ${zlib.out}/lib OLD_ZLIB = False GZIP_OS_CODE = AUTO_DETECT EOF diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix index 985e7946b6b4..13b633f4704e 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/default.nix +++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix @@ -17,6 +17,10 @@ buildPerlPackage rec { ./external-sqlite.patch ]; + sqlite_dev = sqlite.dev; + sqlite_out = sqlite.out; + postPatch = "substituteAllInPlace Makefile.PL; cat Makefile.PL"; + preBuild = '' substituteInPlace Makefile --replace -L/usr/lib "" diff --git a/pkgs/development/perl-modules/DBD-SQLite/external-sqlite.patch b/pkgs/development/perl-modules/DBD-SQLite/external-sqlite.patch index 9a20fa250399..1f90546b252c 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/external-sqlite.patch +++ b/pkgs/development/perl-modules/DBD-SQLite/external-sqlite.patch @@ -1,39 +1,33 @@ -diff -rc DBD-SQLite-1.29/Makefile.PL DBD-SQLite-1.29-new/Makefile.PL -*** DBD-SQLite-1.29/Makefile.PL 2010-01-08 10:08:29.000000000 +0100 ---- DBD-SQLite-1.29-new/Makefile.PL 2010-08-05 11:42:53.000000000 +0200 -*************** -*** 123,129 **** - # a system sqlite is also sophisticated enough to have a patching system - # that can change the if ( 0 ) to if ( 1 ) - my ($sqlite_local, $sqlite_base, $sqlite_lib, $sqlite_inc); -! if ( 0 ) { - require File::Spec; - if ( $sqlite_base = (grep(/SQLITE_LOCATION=.*/, @ARGV))[0] ) { - $sqlite_base =~ /=(.*)/; ---- 123,129 ---- - # a system sqlite is also sophisticated enough to have a patching system - # that can change the if ( 0 ) to if ( 1 ) - my ($sqlite_local, $sqlite_base, $sqlite_lib, $sqlite_inc); -! if ( 1 ) { - require File::Spec; - if ( $sqlite_base = (grep(/SQLITE_LOCATION=.*/, @ARGV))[0] ) { - $sqlite_base =~ /=(.*)/; -*************** -*** 184,191 **** - } else { - # Always the bundled one. - # XXX: ... and this message should be more informative. -! $sqlite_local = 1; -! print "We're using the bundled sqlite library.\n" if $ENV{AUTOMATED_TESTING}; - } - - @ARGV = grep( ! /SQLITE_LOCATION|USE_LOCAL_SQLITE/, @ARGV ); ---- 184,191 ---- - } else { - # Always the bundled one. - # XXX: ... and this message should be more informative. -! # $sqlite_local = 1; -! # print "We're using the bundled sqlite library.\n" if $ENV{AUTOMATED_TESTING}; - } - - @ARGV = grep( ! /SQLITE_LOCATION|USE_LOCAL_SQLITE/, @ARGV ); +diff --git a/Makefile.PL b/Makefile.PL +index 606b28d..0cea060 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -128,24 +128,10 @@ SCOPE: { + # the system SQLite. We expect that anyone sophisticated enough to use + # a system sqlite is also sophisticated enough to have a patching system + # that can change the if ( 0 ) to if ( 1 ) +-my ($sqlite_local, $sqlite_base, $sqlite_lib, $sqlite_inc); +-if ( 0 ) { +- require File::Spec; +- if ( $sqlite_base = (grep(/SQLITE_LOCATION=.*/, @ARGV))[0] ) { +- $sqlite_base =~ /=(.*)/; +- $sqlite_base = $1; +- $sqlite_lib = File::Spec->catdir( $sqlite_base, 'lib' ); +- $sqlite_inc = File::Spec->catdir( $sqlite_base, 'include' ); +- } +- if ( $sqlite_local = (grep(/USE_LOCAL_SQLITE=.*/, @ARGV))[0] ) { +- $sqlite_local =~ /=(.*)/; +- $sqlite_local = "$1" ? 1 : 0; +- if ( $sqlite_local ) { +- # Keep these from making into CFLAGS/LDFLAGS +- undef $sqlite_lib; +- undef $sqlite_inc; +- } +- } ++my ($sqlite_local, $sqlite_lib, $sqlite_inc); ++if ( 1 ) { ++ $sqlite_lib = '@sqlite_out@/lib'; ++ $sqlite_inc = '@sqlite_dev@/include'; + + # Now check for a compatible sqlite3 + unless ( $sqlite_local ) { diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh index 7c51bf1b5917..9ee8be87c028 100644 --- a/pkgs/development/perl-modules/generic/builder.sh +++ b/pkgs/development/perl-modules/generic/builder.sh @@ -28,6 +28,7 @@ preConfigure() { perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags } + postFixup() { # If a user installs a Perl package, she probably also wants its # dependencies in the user environment (since Perl modules don't diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix index 6cd4134cc9c4..91a004a7f686 100644 --- a/pkgs/development/perl-modules/generic/default.nix +++ b/pkgs/development/perl-modules/generic/default.nix @@ -1,13 +1,15 @@ perl: -{ buildInputs ? [], ... } @ attrs: +{ buildInputs ? [], name, ... } @ attrs: perl.stdenv.mkDerivation ( { + outputs = [ "out" "docdev" ]; + doCheck = true; - + checkTarget = "test"; - + # Prevent CPAN downloads. PERL_AUTOINSTALL = "--skipdeps"; @@ -23,7 +25,7 @@ perl.stdenv.mkDerivation ( attrs // { - name = "perl-" + attrs.name; + name = "perl-" + name; builder = ./builder.sh; buildInputs = buildInputs ++ [ perl ]; } diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix index 6f7139330407..897210a4046c 100644 --- a/pkgs/development/python-modules/pygobject/default.nix +++ b/pkgs/development/python-modules/pygobject/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"; }; - outputs = [ "out" "doc" ]; + outputs = [ "out" "docdev" ]; configureFlags = "--disable-introspection"; diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 68e9fc6b4585..7a7b603b449b 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -2311,7 +2311,7 @@ let xml2 = old.xml2.overrideDerivation (attrs: { preConfigure = '' - export LIBXML_INCDIR=${pkgs.libxml2}/include/libxml2 + export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2 patchShebangs configure ''; }); @@ -2383,7 +2383,7 @@ let }); devEMF = old.devEMF.overrideDerivation (attrs: { - NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft}/lib -lXft"; + NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft"; }); slfm = old.slfm.overrideDerivation (attrs: { diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 05be9090c84a..24699ad69040 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -76,8 +76,8 @@ in ncursesw = attrs: { buildInputs = [ ncurses ]; buildFlags = [ - "--with-cflags=-I${ncurses}/include" - "--with-ldflags=-L${ncurses}/lib" + "--with-cflags=-I${ncurses.dev}/include" + "--with-ldflags=-L${ncurses.out}/lib" ]; }; @@ -85,12 +85,12 @@ in buildFlags = [ "--use-system-libraries" "--with-zlib-dir=${zlib}" - "--with-xml2-lib=${libxml2}/lib" - "--with-xml2-include=${libxml2}/include/libxml2" - "--with-xslt-lib=${libxslt}/lib" - "--with-xslt-include=${libxslt}/include" - "--with-exslt-lib=${libxslt}/lib" - "--with-exslt-include=${libxslt}/include" + "--with-xml2-lib=${libxml2.out}/lib" + "--with-xml2-include=${libxml2.dev}/include/libxml2" + "--with-xslt-lib=${libxslt.out}/lib" + "--with-xslt-include=${libxslt.dev}/include" + "--with-exslt-lib=${libxslt.out}/lib" + "--with-exslt-include=${libxslt.dev}/include" ] ++ lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}"; }; @@ -118,8 +118,8 @@ in sqlite3 = attrs: { buildFlags = [ - "--with-sqlite3-include=${sqlite}/include" - "--with-sqlite3-lib=${sqlite}/lib" + "--with-sqlite3-include=${sqlite.dev}/include" + "--with-sqlite3-lib=${sqlite.out}/lib" ]; }; diff --git a/pkgs/development/tools/build-managers/cargo/snapshot.nix b/pkgs/development/tools/build-managers/cargo/snapshot.nix index 4a779cc456e9..c01ba2b53860 100644 --- a/pkgs/development/tools/build-managers/cargo/snapshot.nix +++ b/pkgs/development/tools/build-managers/cargo/snapshot.nix @@ -48,8 +48,8 @@ stdenv.mkDerivation { mkdir -p "$out" ./install.sh "--prefix=$out" '' + (if stdenv.isLinux then '' - patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \ - --set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/:${zlib}/lib" \ + patchelf --interpreter "${stdenv.glibc.out}/lib/${stdenv.cc.dynamicLinker}" \ + --set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/:${zlib.out}/lib" \ "$out/bin/cargo" '' else "") + postInstall; } diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix index 60a941a66375..80fdce59607b 100644 --- a/pkgs/development/tools/build-managers/cmake/2.8.nix +++ b/pkgs/development/tools/build-managers/cmake/2.8.nix @@ -47,8 +47,9 @@ stdenv.mkDerivation rec { propagatedBuildInputs = optional wantPS ps; - CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; - + CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" + (concatMap (p: [ p p.out ]) buildInputs); + configureFlags = "--docdir=/share/doc/${name} --mandir=/share/man --system-libs" + stdenv.lib.optionalString useQt4 " --qt-gui"; diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index c8ed91b96fb0..9d0ff6e1f174 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl +{ stdenv, fetchurl, pkgconfig , bzip2, curl, expat, libarchive, xz, zlib , useNcurses ? false, ncurses, useQt4 ? false, qt4 , wantPS ? false, ps ? null @@ -25,26 +25,34 @@ stdenv.mkDerivation rec { sha256 = "1yl0z422gr7zfc638chifv343vx0ig5gasvrh7nzf7b15488qgxp"; }; - enableParallelBuilding = true; - patches = # Don't search in non-Nix locations such as /usr, but do search in # Nixpkgs' Glibc. optional (stdenv ? glibc) ./search-path-3.2.patch ++ optional stdenv.isCygwin ./3.2.2-cygwin.patch; + outputs = [ "out" "doc" ]; + setOutputFlags = false; + + setupHook = ./setup-hook.sh; + buildInputs = - [ bzip2 curl expat libarchive xz zlib ] + [ setupHook pkgconfig bzip2 curl expat libarchive xz zlib ] ++ optional useNcurses ncurses ++ optional useQt4 qt4; propagatedBuildInputs = optional wantPS ps; - CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; - + preConfigure = with stdenv; optionalString (stdenv ? glibc) + '' + fixCmakeFiles . + substituteInPlace Modules/Platform/UnixPaths.cmake \ + --subst-var-by glibc_bin ${glibc.bin or glibc} \ + --subst-var-by glibc_dev ${glibc.dev or glibc} \ + --subst-var-by glibc_lib ${glibc.out or glibc} + ''; configureFlags = [ "--docdir=/share/doc/${name}" - "--mandir=/share/man" "--no-system-jsoncpp" ] ++ optional (!stdenv.isCygwin) "--system-libs" @@ -52,22 +60,18 @@ stdenv.mkDerivation rec { ++ ["--"] ++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF"; - setupHook = ./setup-hook.sh; - dontUseCmakeConfigure = true; - preConfigure = optionalString (stdenv ? glibc) - '' - source $setupHook - fixCmakeFiles . - substituteInPlace Modules/Platform/UnixPaths.cmake \ - --subst-var-by glibc ${stdenv.glibc} - ''; + enableParallelBuilding = true; + + preInstall = ''mkdir "$doc" ''; + + postInstall = ''moveToOutput "share/cmake-*/Help" "$doc" ''; - meta = { + meta = with stdenv.lib; { homepage = http://www.cmake.org/; description = "Cross-Platform Makefile Generator"; - platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all; - maintainers = with stdenv.lib.maintainers; [ urkud mornfall ttuegel ]; + platforms = if useQt4 then qt4.meta.platforms else platforms.all; + maintainers = with maintainers; [ urkud mornfall ttuegel ]; }; } diff --git a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch index b0447e706071..0a2d4ad43ab7 100644 --- a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch +++ b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch @@ -53,21 +53,21 @@ index 20ee1d1..39834e6 100644 - -list(APPEND CMAKE_SYSTEM_PROGRAM_PATH - /usr/pkg/bin -+ "@glibc@" ++ "@glibc_bin@" ) list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES - /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 -+ "@glibc@/lib" ++ "@glibc_lib@/lib" ) list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES - /usr/include -+ "@glibc@/include" ++ "@glibc_dev@/include" ) list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES - /usr/include -+ "@glibc@/include" ++ "@glibc_dev@/include" ) # Enable use of lib64 search path variants by default. diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh index 670376efdcab..b14e9984bc3c 100755 --- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh +++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -13,7 +13,7 @@ fixCmakeFiles() { } cmakeConfigurePhase() { - eval "$preConfigure" + runHook preConfigure if [ -z "$dontFixCmake" ]; then fixCmakeFiles . @@ -53,10 +53,11 @@ cmakeConfigurePhase() { cmake ${cmakeDir:-.} $cmakeFlags "${cmakeFlagsArray[@]}" - eval "$postConfigure" + runHook postConfigure } if [ -z "$dontUseCmakeConfigure" -a -z "$configurePhase" ]; then + setOutputFlags= configurePhase=cmakeConfigurePhase fi diff --git a/pkgs/development/tools/build-managers/gnumake/4.1/default.nix b/pkgs/development/tools/build-managers/gnumake/4.1/default.nix index 9ac201070182..de6f96ce99f6 100644 --- a/pkgs/development/tools/build-managers/gnumake/4.1/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/4.1/default.nix @@ -22,6 +22,8 @@ stdenv.mkDerivation { ./no-tty-name.patch ]; + outputs = [ "out" "doc" ]; + meta = { homepage = http://www.gnu.org/software/make/; description = "A tool to control the generation of non-source files from sources"; diff --git a/pkgs/development/tools/build-managers/gup/build.nix b/pkgs/development/tools/build-managers/gup/build.nix index 7f5caf7e6486..a9af037bb81e 100644 --- a/pkgs/development/tools/build-managers/gup/build.nix +++ b/pkgs/development/tools/build-managers/gup/build.nix @@ -1,5 +1,5 @@ # NOTE: this file is copied from the upstream repository for this package. -# Please submit any changes you make here to https://github.com/gfxmonk/gup/ +# Please submit any changes you make here to https://github.com/timbertson/gup/ { stdenv, lib, python, which, pychecker ? null }: { src, version, meta ? {} }: diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix index a907e6ace9e4..8e85c63cb6e5 100644 --- a/pkgs/development/tools/build-managers/gup/default.nix +++ b/pkgs/development/tools/build-managers/gup/default.nix @@ -1,20 +1,21 @@ -{ stdenv, fetchgit, lib, python, which }: +{ stdenv, fetchFromGitHub, lib, python, which }: let - version = "0.5.4"; - src = fetchgit { - url = "https://github.com/gfxmonk/gup.git"; - rev = "b3980e529c860167b48e31634d2b479fc4d10274"; - sha256 = "bb02ba0a7f1680ed5b9a8e8c9cc42aa07016329840f397d914b94744f9ed7c85"; + version = "0.5.5"; + src = fetchFromGitHub { + sha256 = "12yv0j333z6jkaaal8my3jx3k4ml9hq8ldis5zfvr8179d4xah7q"; + rev = "version-${version}"; + repo = "gup"; + owner = "timbertson"; }; in import ./build.nix { inherit stdenv lib python which; } { inherit src version; meta = { + inherit (src.meta) homepage; description = "A better make, inspired by djb's redo"; - homepage = https://github.com/gfxmonk/gup; license = stdenv.lib.licenses.lgpl2Plus; - maintainers = [ stdenv.lib.maintainers.gfxmonk ]; + maintainers = [ stdenv.lib.maintainers.timbertson ]; platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix index 37035b8c44d3..417ab348c405 100644 --- a/pkgs/development/tools/build-managers/scons/default.nix +++ b/pkgs/development/tools/build-managers/scons/default.nix @@ -2,7 +2,7 @@ let name = "scons"; - version = "2.4.1"; + version = "2.5.0"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/scons/${name}-${version}.tar.gz"; - sha256 = "19skywi4sb8riivvrylkjrjhnw1cdxj4ps8v7srwp6y650lz9i4g"; + sha256 = "1sdcj8iapfzmlq7098yas40qwl6khsiwydbxv33sw81wy93nnagb"; }; buildInputs = [python makeWrapper]; diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix index 0b16723866bf..7373d8584c23 100644 --- a/pkgs/development/tools/documentation/doxygen/default.nix +++ b/pkgs/development/tools/documentation/doxygen/default.nix @@ -3,14 +3,14 @@ stdenv.mkDerivation rec { name = "doxygen-1.8.11"; - + src = fetchurl { url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz"; sha256 = "0ja02pm3fpfhc5dkry00kq8mn141cqvdqqpmms373ncbwi38pl35"; }; nativeBuildInputs = [ cmake ]; - + buildInputs = [ perl python flex bison ] ++ stdenv.lib.optional (qt4 != null) qt4 @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices libiconv ]; cmakeFlags = + [ "-DICONV_INCLUDE_DIR=${libiconv}/include" ] ++ stdenv.lib.optional (qt4 != null) "-Dbuild_wizard=YES"; NIX_CFLAGS_COMPILE = diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index bb70b1ad3641..b080be846cd9 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { sha256 = "0hpxcij9xx9ny3gs9p0iz4r8zslw8wqymbyababiyl7603a6x90y"; }; + outputDocdev = "out"; + # maybe there is a better way to pass the needed dtd and xsl files # "-//OASIS//DTD DocBook XML V4.1.2//EN" and "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" preConfigure = '' diff --git a/pkgs/development/tools/haskell/haste/haste-Cabal.nix b/pkgs/development/tools/haskell/haste/haste-Cabal.nix new file mode 100644 index 000000000000..45a60172e395 --- /dev/null +++ b/pkgs/development/tools/haskell/haste/haste-Cabal.nix @@ -0,0 +1,35 @@ +# Haste requires its own patched up version of Cabal that's not on hackage +{ mkDerivation, array, base, binary, bytestring, containers +, deepseq, directory, extensible-exceptions, filepath, old-time +, pretty, process, QuickCheck, regex-posix, stdenv, tasty +, tasty-hunit, tasty-quickcheck, time, unix +, fetchFromGitHub +}: + +mkDerivation { + pname = "Cabal"; + version = "1.23.0.0"; + src = fetchFromGitHub { + owner = "valderman"; + repo = "cabal"; + rev = "a1962987ba32d5e20090830f50c6afdc78dae005"; + sha256 = "1gjmscfsikcvgkv6zricpfxvj23wxahndm784lg9cpxrc3pn5hvh"; + }; + libraryHaskellDepends = [ + array base binary bytestring containers deepseq directory filepath + pretty process time unix + ]; + testHaskellDepends = [ + base bytestring containers directory extensible-exceptions filepath + old-time pretty process QuickCheck regex-posix tasty tasty-hunit + tasty-quickcheck unix + ]; + prePatch = '' + rm -rf cabal-install + cd Cabal + ''; + doCheck = false; + homepage = "http://www.haskell.org/cabal/"; + description = "A framework for packaging Haskell software"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/pkgs/development/tools/haskell/haste/haste-cabal-install.nix b/pkgs/development/tools/haskell/haste/haste-cabal-install.nix new file mode 100644 index 000000000000..dd140409173e --- /dev/null +++ b/pkgs/development/tools/haskell/haste/haste-cabal-install.nix @@ -0,0 +1,46 @@ +# Haste requires its own patched up version of cabal-install that's not on hackage +{ mkDerivation, array, base, bytestring, Cabal, containers +, directory, extensible-exceptions, filepath, HTTP, mtl, network +, network-uri, pretty, process, QuickCheck, random, regex-posix +, stdenv, stm, tagged, tasty, tasty-hunit, tasty-quickcheck, time +, unix, zlib +, fetchFromGitHub +}: + +mkDerivation { + pname = "cabal-install"; + version = "1.23.0.0"; + src = fetchFromGitHub { + owner = "valderman"; + repo = "cabal"; + rev = "a1962987ba32d5e20090830f50c6afdc78dae005"; + sha256 = "1gjmscfsikcvgkv6zricpfxvj23wxahndm784lg9cpxrc3pn5hvh"; + }; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + array base bytestring Cabal containers directory filepath HTTP mtl + network network-uri pretty process random stm time unix zlib + ]; + testHaskellDepends = [ + array base bytestring Cabal containers directory + extensible-exceptions filepath HTTP mtl network network-uri pretty + process QuickCheck random regex-posix stm tagged tasty tasty-hunit + tasty-quickcheck time unix zlib + ]; + prePatch = '' + rm -rf Cabal + cd cabal-install + ''; + postInstall = '' + mkdir $out/etc + mv bash-completion $out/etc/bash_completion.d + + # Manually added by Nix maintainer + mv -v $out/etc/bash_completion.d/cabal $out/etc/bash_completion.d/haste-cabal + ''; + doCheck = false; + homepage = "http://www.haskell.org/cabal/"; + description = "The command-line interface for Cabal and Hackage"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/pkgs/development/tools/haskell/haste/haste-compiler.nix b/pkgs/development/tools/haskell/haste/haste-compiler.nix new file mode 100644 index 000000000000..f9aa5abae574 --- /dev/null +++ b/pkgs/development/tools/haskell/haste/haste-compiler.nix @@ -0,0 +1,33 @@ +{ mkDerivation +, overrideCabal +, super-haste-compiler +}: + +overrideCabal super-haste-compiler (drv: { + configureFlags = [ "-f-portable" ]; + prePatch = '' + # Get ghc libdir by invoking ghc and point to haste-cabal binary + substituteInPlace src/Haste/Environment.hs \ + --replace \ + 'hasteGhcLibDir = hasteSysDir' \ + 'hasteGhcLibDir = head $ lines $ either (error . show) id $ unsafePerformIO $ shell $ run "ghc" ["--print-libdir"] ""' \ + --replace \ + 'hasteCabalBinary = hasteBinDir </> "haste-cabal" ++ binaryExt' \ + 'hasteCabalBinary = "haste-cabal" ++ binaryExt' + + # Don't try to download/install haste-cabal in haste-boot: + patch src/haste-boot.hs << EOF + @@ -178,10 +178,6 @@ + pkgSysLibDir, jsmodSysDir, pkgSysDir] + + mkdir True (hasteCabalRootDir portableHaste) + - case getHasteCabal cfg of + - Download -> installHasteCabal portableHaste tmpdir + - Prebuilt fp -> copyHasteCabal portableHaste fp + - Source mdir -> buildHasteCabal portableHaste (maybe "../cabal" id mdir) + + -- Spawn off closure download in the background. + dir <- pwd -- use absolute path for closure to avoid dir changing race + EOF + ''; +}) diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix index bba50b320892..d2ddcabc0b1e 100644 --- a/pkgs/development/tools/misc/autogen/default.nix +++ b/pkgs/development/tools/misc/autogen/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "0sfmmy19k9z0j3f738fyk6ljf6b66410cvd5zzyplxi2683j10qs"; }; + outputs = [ "dev" "bin" "lib" "out" "man" "info" ]; + nativeBuildInputs = [ which pkgconfig perl ]; buildInputs = [ guile libxml2 ]; @@ -20,6 +22,17 @@ stdenv.mkDerivation rec { substituteInPlace pkg/libopts/mklibsrc.sh --replace /tmp $TMPDIR ''; + postInstall = '' + mkdir -p $dev/bin + mv $bin/bin/autoopts-config $dev/bin + + for f in $lib/lib/autogen/tpl-config.tlib $out/share/autogen/tpl-config.tlib; do + sed -e "s|$dev/include|/no-such-autogen-include-path|" -i $f + sed -e "s|$bin/bin|/no-such-autogen-bin-path|" -i $f + sed -e "s|$lib/lib|/no-such-autogen-lib-path|" -i $f + done + ''; + #doCheck = true; # 2 tests fail because of missing /dev/tty meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 9bcb87dd789e..80b5643aad14 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { ./fix-update-symbol-version.patch ]; - outputs = [ "out" "info" ]; + outputs = (optional (cross == null) "dev") ++ [ "out" "info" ]; nativeBuildInputs = [ bison ]; buildInputs = [ zlib ]; @@ -75,6 +75,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + postFixup = optionalString (cross == null) "ln -s $out/bin $dev/bin"; # tools needed for development + meta = with stdenv.lib; { description = "Tools for manipulating binaries (linker, assembler, etc.)"; longDescription = '' diff --git a/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch b/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch new file mode 100644 index 000000000000..bb0785fe192e --- /dev/null +++ b/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch @@ -0,0 +1,1786 @@ +--- binutils-2.23/bfd/elf-bfd.h ++++ binutils-2.23/bfd/elf-bfd.h +@@ -1577,6 +1577,9 @@ struct elf_obj_tdata + /* Segment flags for the PT_GNU_STACK segment. */ + unsigned int stack_flags; + ++ /* Segment flags for the PT_PAX_FLAGS segment. */ ++ unsigned int pax_flags; ++ + /* Symbol version definitions in external objects. */ + Elf_Internal_Verdef *verdef; + +--- binutils-2.23/bfd/elf.c ++++ binutils-2.23/bfd/elf.c +@@ -1158,6 +1158,7 @@ get_segment_type (unsigned int p_type) + case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break; + case PT_GNU_STACK: pt = "STACK"; break; + case PT_GNU_RELRO: pt = "RELRO"; break; ++ case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break; + default: pt = NULL; break; + } + return pt; +@@ -2477,6 +2478,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int hdr_index) + case PT_GNU_RELRO: + return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "relro"); + ++ case PT_PAX_FLAGS: ++ return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "pax_flags"); ++ + default: + /* Check for any processor-specific program segment types. */ + bed = get_elf_backend_data (abfd); +@@ -3551,6 +3555,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info) + ++segs; + } + ++ { ++ /* We need a PT_PAX_FLAGS segment. */ ++ ++segs; ++ } ++ + for (s = abfd->sections; s != NULL; s = s->next) + { + if ((s->flags & SEC_LOAD) != 0 +@@ -4153,6 +4162,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info) + } + } + ++ { ++ amt = sizeof (struct elf_segment_map); ++ m = bfd_zalloc (abfd, amt); ++ if (m == NULL) ++ goto error_return; ++ m->next = NULL; ++ m->p_type = PT_PAX_FLAGS; ++ m->p_flags = elf_tdata (abfd)->pax_flags; ++ m->p_flags_valid = 1; ++ ++ *pm = m; ++ pm = &m->next; ++ } ++ + free (sections); + elf_tdata (abfd)->segment_map = mfirst; + } +@@ -5417,7 +5440,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd) + 6. PT_TLS segment includes only SHF_TLS sections. + 7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments. + 8. PT_DYNAMIC should not contain empty sections at the beginning +- (with the possible exception of .dynamic). */ ++ (with the possible exception of .dynamic). ++ 9. PT_PAX_FLAGS segments do not include any sections. */ + #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed) \ + ((((segment->p_paddr \ + ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \ +@@ -5425,6 +5449,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd) + && (section->flags & SEC_ALLOC) != 0) \ + || IS_NOTE (segment, section)) \ + && segment->p_type != PT_GNU_STACK \ ++ && segment->p_type != PT_PAX_FLAGS \ + && (segment->p_type != PT_TLS \ + || (section->flags & SEC_THREAD_LOCAL)) \ + && (segment->p_type == PT_LOAD \ +--- binutils-2.23/bfd/elflink.c ++++ binutils-2.23/bfd/elflink.c +@@ -5545,16 +5545,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, + return TRUE; + + bed = get_elf_backend_data (output_bfd); ++ ++ elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC; ++ if (info->execheap) ++ elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT; ++ else if (info->noexecheap) ++ elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT; ++ + if (info->execstack) +- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; ++ { ++ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; ++ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP; ++ } + else if (info->noexecstack) +- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W; ++ { ++ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W; ++ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP; ++ } + else + { + bfd *inputobj; + asection *notesec = NULL; + int exec = 0; + ++ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP; + for (inputobj = info->input_bfds; + inputobj; + inputobj = inputobj->link_next) +@@ -5567,7 +5581,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, + if (s) + { + if (s->flags & SEC_CODE) +- exec = PF_X; ++ { ++ elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP; ++ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP; ++ exec = PF_X; ++ } + notesec = s; + } + else if (bed->default_execstack) +--- binutils-2.23/binutils/readelf.c ++++ binutils-2.23/binutils/readelf.c +@@ -2740,6 +2740,7 @@ get_segment_type (unsigned long p_type) + return "GNU_EH_FRAME"; + case PT_GNU_STACK: return "GNU_STACK"; + case PT_GNU_RELRO: return "GNU_RELRO"; ++ case PT_PAX_FLAGS: return "PAX_FLAGS"; + + default: + if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC)) +--- binutils-2.23/include/bfdlink.h ++++ binutils-2.23/include/bfdlink.h +@@ -322,6 +322,14 @@ struct bfd_link_info + /* TRUE if PT_GNU_RELRO segment should be created. */ + unsigned int relro: 1; + ++ /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT ++ flags. */ ++ unsigned int execheap: 1; ++ ++ /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT ++ flags. */ ++ unsigned int noexecheap: 1; ++ + /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment + should be created. */ + unsigned int eh_frame_hdr: 1; +--- binutils-2.23/include/elf/common.h ++++ binutils-2.23/include/elf/common.h +@@ -429,6 +429,7 @@ + #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */ + #define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */ + #define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */ ++#define PT_PAX_FLAGS (PT_LOOS + 0x5041580) /* PaX flags */ + + /* Program segment permissions, in program header p_flags field. */ + +@@ -439,6 +440,21 @@ + #define PF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */ + #define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */ + ++/* Flags to control PaX behavior. */ ++ ++#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ ++#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ ++#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ ++#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ ++#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ ++#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ ++#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ ++#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ ++#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ ++#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ ++#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ ++#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ ++ + /* Values for section header, sh_type field. */ + + #define SHT_NULL 0 /* Section header table entry unused */ +--- binutils-2.23/ld/emultempl/elf32.em ++++ binutils-2.23/ld/emultempl/elf32.em +@@ -2285,6 +2285,16 @@ fragment <<EOF + link_info.noexecstack = TRUE; + link_info.execstack = FALSE; + } ++ else if (strcmp (optarg, "execheap") == 0) ++ { ++ link_info.execheap = TRUE; ++ link_info.noexecheap = FALSE; ++ } ++ else if (strcmp (optarg, "noexecheap") == 0) ++ { ++ link_info.noexecheap = TRUE; ++ link_info.execheap = FALSE; ++ } + EOF + if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then + fragment <<EOF +@@ -2368,6 +2378,8 @@ fragment <<EOF + -z defs Report unresolved symbols in object files.\n")); + fprintf (file, _("\ + -z execstack Mark executable as requiring executable stack\n")); ++ fprintf (file, _("\ ++ -z execheap Mark executable as requiring executable heap\n")); + EOF + + if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then +@@ -2391,6 +2403,8 @@ fragment <<EOF + fragment <<EOF + fprintf (file, _("\ + -z noexecstack Mark executable as not requiring executable stack\n")); ++ fprintf (file, _("\ ++ -z noexecheap Mark executable as not requiring executable heap\n")); + EOF + if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then + fragment <<EOF +--- binutils-2.23/ld/ldgram.y ++++ binutils-2.23/ld/ldgram.y +@@ -1119,6 +1119,8 @@ phdr_type: + $$ = exp_intop (0x6474e550); + else if (strcmp (s, "PT_GNU_STACK") == 0) + $$ = exp_intop (0x6474e551); ++ else if (strcmp (s, "PT_PAX_FLAGS") == 0) ++ $$ = exp_intop (0x65041580); + else + { + einfo (_("\ +--- binutils-2.23/ld/testsuite/ld-alpha/tlsbin.rd ++++ binutils-2.23/ld/testsuite/ld-alpha/tlsbin.rd +@@ -35,13 +35,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+ + + Program Headers: + Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +- PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+150 R E 0x8 ++ PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+188 R E 0x8 + INTERP +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1 + .*Requesting program interpreter.* + LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000 + LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000 + DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8 + TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries: +--- binutils-2.23/ld/testsuite/ld-alpha/tlsbinr.rd ++++ binutils-2.23/ld/testsuite/ld-alpha/tlsbinr.rd +@@ -42,6 +42,7 @@ Program Headers: + +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000 + +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8 + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries: +--- binutils-2.23/ld/testsuite/ld-alpha/tlspic.rd ++++ binutils-2.23/ld/testsuite/ld-alpha/tlspic.rd +@@ -38,6 +38,7 @@ Program Headers: + +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000 + +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8 + +TLS +0x0+10e0 0x0+110e0 0x0+110e0 0x0+60 0x0+80 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries: +--- binutils-2.23/ld/testsuite/ld-elf/eh1.d ++++ binutils-2.23/ld/testsuite/ld-elf/eh1.d +@@ -22,11 +22,11 @@ Contents of the .eh_frame section: + DW_CFA_nop + DW_CFA_nop + +-00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078 +- DW_CFA_advance_loc: 0 to 00400078 ++00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1 ++ DW_CFA_advance_loc: 0 to [0-9a-f]+ + DW_CFA_def_cfa_offset: 16 + DW_CFA_offset: r6 \(rbp\) at cfa-16 +- DW_CFA_advance_loc: 0 to 00400078 ++ DW_CFA_advance_loc: 0 to [0-9a-f]+ + DW_CFA_def_cfa_register: r6 \(rbp\) + + 00000038 ZERO terminator +--- binutils-2.23/ld/testsuite/ld-elf/eh2.d ++++ binutils-2.23/ld/testsuite/ld-elf/eh2.d +@@ -22,11 +22,11 @@ Contents of the .eh_frame section: + DW_CFA_nop + DW_CFA_nop + +-00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078 +- DW_CFA_advance_loc: 0 to 00400078 ++00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1 ++ DW_CFA_advance_loc: 0 to [0-9a-f]+ + DW_CFA_def_cfa_offset: 16 + DW_CFA_offset: r6 \(rbp\) at cfa-16 +- DW_CFA_advance_loc: 0 to 00400078 ++ DW_CFA_advance_loc: 0 to [0-9a-f]+ + DW_CFA_def_cfa_register: r6 \(rbp\) + + 00000038 ZERO terminator +--- binutils-2.23/ld/testsuite/ld-elf/eh3.d ++++ binutils-2.23/ld/testsuite/ld-elf/eh3.d +@@ -22,11 +22,11 @@ Contents of the .eh_frame section: + DW_CFA_nop + DW_CFA_nop + +-00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078 +- DW_CFA_advance_loc: 0 to 00400078 ++00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1 ++ DW_CFA_advance_loc: 0 to [0-9a-f]+ + DW_CFA_def_cfa_offset: 16 + DW_CFA_offset: r6 \(rbp\) at cfa-16 +- DW_CFA_advance_loc: 0 to 00400078 ++ DW_CFA_advance_loc: 0 to [0-9a-f]+ + DW_CFA_def_cfa_register: r6 \(rbp\) + + 00000038 ZERO terminator +--- binutils-2.23/ld/testsuite/ld-elf/orphan-region.d ++++ binutils-2.23/ld/testsuite/ld-elf/orphan-region.d +@@ -15,7 +15,9 @@ + Program Headers: + Type.* + LOAD[ \t]+0x[0-9a-f]+ 0x0*40000000 0x0*40000000 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x[0-9a-f]+ ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + Segment Sections... + 00 .text .rodata .moredata * ++ 01 + +--- binutils-2.23/ld/testsuite/ld-i386/tlsbin.rd ++++ binutils-2.23/ld/testsuite/ld-i386/tlsbin.rd +@@ -44,6 +44,7 @@ Program Headers: + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -53,6 +54,7 @@ Program Headers: + +03 +.tdata .dynamic .got .got.plt * + +04 +.dynamic * + +05 +.tdata .tbss * ++ +06 + + + Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries: + Offset +Info +Type +Sym.Value +Sym. Name +--- binutils-2.23/ld/testsuite/ld-i386/tlsbindesc.rd ++++ binutils-2.23/ld/testsuite/ld-i386/tlsbindesc.rd +@@ -42,6 +42,7 @@ Program Headers: + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -51,6 +52,7 @@ Program Headers: + +03 +.tdata .dynamic .got .got.plt * + +04 +.dynamic * + +05 +.tdata .tbss * ++ +06 + + + Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries: + Offset +Info +Type +Sym.Value +Sym. Name +--- binutils-2.23/ld/testsuite/ld-i386/tlsdesc.rd ++++ binutils-2.23/ld/testsuite/ld-i386/tlsdesc.rd +@@ -39,6 +39,7 @@ Program Headers: + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -46,6 +47,7 @@ Program Headers: + +01 +.tdata .dynamic .got .got.plt * + +02 +.dynamic * + +03 +.tdata .tbss * ++ +04 + + + Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries: + Offset +Info +Type +Sym.Value +Sym. Name +--- binutils-2.23/ld/testsuite/ld-i386/tlsgdesc.rd ++++ binutils-2.23/ld/testsuite/ld-i386/tlsgdesc.rd +@@ -36,12 +36,14 @@ Program Headers: + +LOAD.* + +LOAD.* + +DYNAMIC.* ++ +PAX_FLAGS.* + + Section to Segment mapping: + +Segment Sections... + +00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text * + +01 +.dynamic .got .got.plt * + +02 +.dynamic * ++ +03 + + + Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries: + Offset +Info +Type +Sym.Value +Sym. Name +--- binutils-2.23/ld/testsuite/ld-i386/tlsnopic.rd ++++ binutils-2.23/ld/testsuite/ld-i386/tlsnopic.rd +@@ -37,6 +37,7 @@ Program Headers: + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -44,6 +45,7 @@ Program Headers: + +01 +.dynamic .got .got.plt * + +02 +.dynamic * + +03 +.tbss * ++ +04 + + + Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries: + Offset +Info +Type +Sym.Value +Sym. Name +--- binutils-2.23/ld/testsuite/ld-i386/tlspic.rd ++++ binutils-2.23/ld/testsuite/ld-i386/tlspic.rd +@@ -40,6 +40,7 @@ Program Headers: + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -47,6 +48,7 @@ Program Headers: + +01 +.tdata .dynamic .got .got.plt * + +02 +.dynamic * + +03 +.tdata .tbss * ++ +04 + + + Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries: + Offset +Info +Type +Sym.Value +Sym. Name +--- binutils-2.23/ld/testsuite/ld-ia64/merge1.d ++++ binutils-2.23/ld/testsuite/ld-ia64/merge1.d +@@ -4,7 +4,7 @@ + #objdump: -d + + #... +-0+1e0 <.text>: ++[a-f0-9]+ <.text>: + [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; + [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1 + [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; +--- binutils-2.23/ld/testsuite/ld-ia64/merge2.d ++++ binutils-2.23/ld/testsuite/ld-ia64/merge2.d +@@ -4,7 +4,7 @@ + #objdump: -d + + #... +-0+1e0 <.text>: ++[a-f0-9]+ <.text>: + [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; + [ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1 + [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; +--- binutils-2.23/ld/testsuite/ld-ia64/merge3.d ++++ binutils-2.23/ld/testsuite/ld-ia64/merge3.d +@@ -4,7 +4,7 @@ + #objdump: -d + + #... +-0+210 <.text>: ++[a-f0-9]+ <.text>: + [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; + [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1 + [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; +--- binutils-2.23/ld/testsuite/ld-ia64/merge4.d ++++ binutils-2.23/ld/testsuite/ld-ia64/merge4.d +@@ -4,7 +4,7 @@ + #objdump: -d + + #... +-0+240 <.text>: ++[a-f0-9]+ <.text>: + [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; + [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1 + [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; +--- binutils-2.23/ld/testsuite/ld-ia64/merge5.d ++++ binutils-2.23/ld/testsuite/ld-ia64/merge5.d +@@ -4,7 +4,7 @@ + #objdump: -d + + #... +-0+270 <.text>: ++[a-f0-9]+ <.text>: + [ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;; + [ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1 + [ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;; +--- binutils-2.23/ld/testsuite/ld-ia64/tlsbin.rd ++++ binutils-2.23/ld/testsuite/ld-ia64/tlsbin.rd +@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+ + + Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +- +PHDR +0x0+40 0x40+40 0x40+40 0x0+188 0x0+188 R E 0x8 +- +INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1 ++ +PHDR +0x0+40 0x40+40 0x40+40 (0x[0-9a-f]+) \1 R E 0x8 ++ +INTERP +0x0+([0-9a-f]+) (0x40+\1) \2 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1 + .*Requesting program interpreter.* + +LOAD +0x0+ 0x40+ 0x40+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000 + +LOAD +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000 + +DYNAMIC +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+150 0x0+150 RW +0x8 + +TLS +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+60 0x0+a0 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + +IA_64_UNWIND .* R +0x8 + #... + +--- binutils-2.23/ld/testsuite/ld-ia64/tlspic.rd ++++ binutils-2.23/ld/testsuite/ld-ia64/tlspic.rd +@@ -40,6 +40,7 @@ Program Headers: + +LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000 + +DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8 + +TLS +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+60 0x0+80 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + +IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8 + #... + +--- binutils-2.23/ld/testsuite/ld-mips-elf/multi-got-no-shared.d ++++ binutils-2.23/ld/testsuite/ld-mips-elf/multi-got-no-shared.d +@@ -8,9 +8,9 @@ + .*: +file format.* + + Disassembly of section \.text: +-004000b0 <[^>]*> 3c1c0043 lui gp,0x43 +-004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592 +-004000b8 <[^>]*> afbc0008 sw gp,8\(sp\) ++004000d0 <[^>]*> 3c1c0043 lui gp,0x43 ++004000d4 <[^>]*> 279c9ff0 addiu gp,gp,-24592 ++004000d8 <[^>]*> afbc0008 sw gp,8\(sp\) + #... + 00408d60 <[^>]*> 3c1c0043 lui gp,0x43 + 00408d64 <[^>]*> 279c2c98 addiu gp,gp,11416 +--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd ++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd +@@ -1,7 +1,7 @@ + + Elf file type is DYN \(Shared object file\) + Entry point .* +-There are 5 program headers, starting at offset .* ++There are [0-9] program headers, starting at offset .* + + Program Headers: + * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align +@@ -9,6 +9,7 @@ Program Headers: + * LOAD * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R E * 0x.* + * LOAD * [^ ]+ * 0x0+10000 * 0x0+10000 [^ ]+ * [^ ]+ * RW * 0x.* + * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 .* ++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + * NULL * .* + + *Section to Segment mapping: +@@ -18,3 +19,4 @@ Program Headers: + *0*2 * \.data \.got * + *0*3 * \.dynamic * + *0*4 * ++ *0*5 * +--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd ++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd +@@ -1,7 +1,7 @@ + + Elf file type is EXEC \(Executable file\) + Entry point 0x44000 +-There are 8 program headers, starting at offset .* ++There are [0-9] program headers, starting at offset .* + + Program Headers: + * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align +@@ -13,6 +13,7 @@ Program Headers: + * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.* + * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.* + * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .* ++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + * NULL * .* + + *Section to Segment mapping: +@@ -25,3 +26,4 @@ Program Headers: + *0*5 *\.got \.data * + *0*6 *\.dynamic * + *0*7 * ++ *0*8 * +--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd ++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd +@@ -1,7 +1,7 @@ + + Elf file type is EXEC \(Executable file\) + Entry point 0x44000 +-There are 8 program headers, starting at offset .* ++There are [0-9] program headers, starting at offset .* + + Program Headers: + * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align +@@ -13,6 +13,7 @@ Program Headers: + * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.* + * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.* + * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .* ++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + * NULL * .* + + *Section to Segment mapping: +@@ -25,3 +26,4 @@ Program Headers: + *0*5 * \.got \.data \.bss * + *0*6 * \.dynamic * + *0*7 * ++ *0*8 * +--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd ++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd +@@ -1,7 +1,7 @@ + + Elf file type is EXEC \(Executable file\) + Entry point 0x44000 +-There are 8 program headers, starting at offset .* ++There are [0-9] program headers, starting at offset .* + + Program Headers: + * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align +@@ -13,6 +13,7 @@ Program Headers: + * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.* + * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.* + * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .* ++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + * NULL * .* + + *Section to Segment mapping: +@@ -25,3 +26,4 @@ Program Headers: + *0*5 * \.got \.data \.bss * + *0*6 * \.dynamic * + *0*7 * ++ *0*8 * +--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd ++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd +@@ -1,7 +1,7 @@ + + Elf file type is EXEC \(Executable file\) + Entry point 0x44000 +-There are 8 program headers, starting at offset .* ++There are [0-9] program headers, starting at offset .* + + Program Headers: + * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align +@@ -13,6 +13,7 @@ Program Headers: + * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.* + * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.* + * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .* ++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + * NULL * .* + + *Section to Segment mapping: +@@ -25,3 +26,4 @@ Program Headers: + *0*5 * \.got \.data \.bss * + *0*6 * \.dynamic * + *0*7 * ++ *0*8 * +--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd ++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd +@@ -1,7 +1,7 @@ + + Elf file type is EXEC \(Executable file\) + Entry point 0x44000 +-There are 7 program headers, starting at offset .* ++There are [0-9] program headers, starting at offset .* + + Program Headers: + * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align +@@ -12,6 +12,7 @@ Program Headers: + * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.* + * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.* + * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .* ++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + * NULL * .* + + *Section to Segment mapping: +@@ -23,3 +24,4 @@ Program Headers: + *0*4 * \.got \.data \.bss * + *0*5 * \.dynamic * + *0*6 * ++ *0*7 * +--- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd ++++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd +@@ -1,7 +1,7 @@ + + Elf file type is EXEC \(Executable file\) + Entry point 0x44000 +-There are 8 program headers, starting at offset .* ++There are [0-9] program headers, starting at offset .* + + Program Headers: + * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align +@@ -13,6 +13,7 @@ Program Headers: + * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW * 0x.* + * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW * 0x.* + * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .* ++ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + * NULL * .* + + *Section to Segment mapping: +@@ -25,3 +26,4 @@ Program Headers: + *0*5 * \.got \.data \.bss * + *0*6 * \.dynamic * + *0*7 * ++ *0*8 * +--- binutils-2.23/ld/testsuite/ld-mips-elf/tlsbin-o32.d ++++ binutils-2.23/ld/testsuite/ld-mips-elf/tlsbin-o32.d +@@ -2,42 +2,42 @@ + + Disassembly of section .text: + +-004000d0 <__start>: +- 4000d0: 3c1c0fc0 lui gp,0xfc0 +- 4000d4: 279c7f30 addiu gp,gp,32560 +- 4000d8: 0399e021 addu gp,gp,t9 +- 4000dc: 27bdfff0 addiu sp,sp,-16 +- 4000e0: afbe0008 sw s8,8\(sp\) +- 4000e4: 03a0f021 move s8,sp +- 4000e8: afbc0000 sw gp,0\(sp\) +- 4000ec: 8f998018 lw t9,-32744\(gp\) +- 4000f0: 27848028 addiu a0,gp,-32728 +- 4000f4: 0320f809 jalr t9 +- 4000f8: 00000000 nop +- 4000fc: 8fdc0000 lw gp,0\(s8\) +- 400100: 00000000 nop +- 400104: 8f998018 lw t9,-32744\(gp\) +- 400108: 27848020 addiu a0,gp,-32736 +- 40010c: 0320f809 jalr t9 +- 400110: 00000000 nop +- 400114: 8fdc0000 lw gp,0\(s8\) +- 400118: 00401021 move v0,v0 +- 40011c: 3c030000 lui v1,0x0 +- 400120: 24638000 addiu v1,v1,-32768 +- 400124: 00621821 addu v1,v1,v0 +- 400128: 7c02283b rdhwr v0,\$5 +- 40012c: 8f83801c lw v1,-32740\(gp\) +- 400130: 00000000 nop +- 400134: 00621821 addu v1,v1,v0 +- 400138: 7c02283b rdhwr v0,\$5 +- 40013c: 3c030000 lui v1,0x0 +- 400140: 24639004 addiu v1,v1,-28668 +- 400144: 00621821 addu v1,v1,v0 +- 400148: 03c0e821 move sp,s8 +- 40014c: 8fbe0008 lw s8,8\(sp\) +- 400150: 03e00008 jr ra +- 400154: 27bd0010 addiu sp,sp,16 ++00400[0-9a-f]{3} <__start>: ++ 400[0-9a-f]{3}: 3c1c0fc0 lui gp,0xfc0 ++ 400[0-9a-f]{3}: 279c7f30 addiu gp,gp,32560 ++ 400[0-9a-f]{3}: 0399e021 addu gp,gp,t9 ++ 400[0-9a-f]{3}: 27bdfff0 addiu sp,sp,-16 ++ 400[0-9a-f]{3}: afbe0008 sw s8,8\(sp\) ++ 400[0-9a-f]{3}: 03a0f021 move s8,sp ++ 400[0-9a-f]{3}: afbc0000 sw gp,0\(sp\) ++ 400[0-9a-f]{3}: 8f998018 lw t9,-32744\(gp\) ++ 400[0-9a-f]{3}: 27848028 addiu a0,gp,-32728 ++ 400[0-9a-f]{3}: 0320f809 jalr t9 ++ 400[0-9a-f]{3}: 00000000 nop ++ 400[0-9a-f]{3}: 8fdc0000 lw gp,0\(s8\) ++ 400[0-9a-f]{3}: 00000000 nop ++ 400[0-9a-f]{3}: 8f998018 lw t9,-32744\(gp\) ++ 400[0-9a-f]{3}: 27848020 addiu a0,gp,-32736 ++ 400[0-9a-f]{3}: 0320f809 jalr t9 ++ 400[0-9a-f]{3}: 00000000 nop ++ 400[0-9a-f]{3}: 8fdc0000 lw gp,0\(s8\) ++ 400[0-9a-f]{3}: 00401021 move v0,v0 ++ 400[0-9a-f]{3}: 3c030000 lui v1,0x0 ++ 400[0-9a-f]{3}: 24638000 addiu v1,v1,-32768 ++ 400[0-9a-f]{3}: 00621821 addu v1,v1,v0 ++ 400[0-9a-f]{3}: 7c02283b rdhwr v0,\$5 ++ 400[0-9a-f]{3}: 8f83801c lw v1,-32740\(gp\) ++ 400[0-9a-f]{3}: 00000000 nop ++ 400[0-9a-f]{3}: 00621821 addu v1,v1,v0 ++ 400[0-9a-f]{3}: 7c02283b rdhwr v0,\$5 ++ 400[0-9a-f]{3}: 3c030000 lui v1,0x0 ++ 400[0-9a-f]{3}: 24639004 addiu v1,v1,-28668 ++ 400[0-9a-f]{3}: 00621821 addu v1,v1,v0 ++ 400[0-9a-f]{3}: 03c0e821 move sp,s8 ++ 400[0-9a-f]{3}: 8fbe0008 lw s8,8\(sp\) ++ 400[0-9a-f]{3}: 03e00008 jr ra ++ 400[0-9a-f]{3}: 27bd0010 addiu sp,sp,16 + +-00400158 <__tls_get_addr>: +- 400158: 03e00008 jr ra +- 40015c: 00000000 nop ++00400[0-9a-f]{3} <__tls_get_addr>: ++ 400[0-9a-f]{3}: 03e00008 jr ra ++ 400[0-9a-f]{3}: 00000000 nop +--- binutils-2.23/ld/testsuite/ld-powerpc/tls.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tls.d +@@ -9,45 +9,45 @@ + + Disassembly of section \.text: + +-0+100000e8 <_start>: +- 100000e8: 3c 6d 00 00 addis r3,r13,0 +- 100000ec: 60 00 00 00 nop +- 100000f0: 38 63 90 78 addi r3,r3,-28552 +- 100000f4: 3c 6d 00 00 addis r3,r13,0 +- 100000f8: 60 00 00 00 nop +- 100000fc: 38 63 10 00 addi r3,r3,4096 +- 10000100: 3c 6d 00 00 addis r3,r13,0 +- 10000104: 60 00 00 00 nop +- 10000108: 38 63 90 40 addi r3,r3,-28608 +- 1000010c: 3c 6d 00 00 addis r3,r13,0 +- 10000110: 60 00 00 00 nop +- 10000114: 38 63 10 00 addi r3,r3,4096 +- 10000118: 39 23 80 48 addi r9,r3,-32696 +- 1000011c: 3d 23 00 00 addis r9,r3,0 +- 10000120: 81 49 80 50 lwz r10,-32688\(r9\) +- 10000124: e9 22 80 10 ld r9,-32752\(r2\) +- 10000128: 7d 49 18 2a ldx r10,r9,r3 +- 1000012c: 3d 2d 00 00 addis r9,r13,0 +- 10000130: a1 49 90 60 lhz r10,-28576\(r9\) +- 10000134: 89 4d 90 68 lbz r10,-28568\(r13\) +- 10000138: 3d 2d 00 00 addis r9,r13,0 +- 1000013c: 99 49 90 70 stb r10,-28560\(r9\) +- 10000140: 3c 6d 00 00 addis r3,r13,0 +- 10000144: 60 00 00 00 nop +- 10000148: 38 63 90 00 addi r3,r3,-28672 +- 1000014c: 3c 6d 00 00 addis r3,r13,0 +- 10000150: 60 00 00 00 nop +- 10000154: 38 63 10 00 addi r3,r3,4096 +- 10000158: f9 43 80 08 std r10,-32760\(r3\) +- 1000015c: 3d 23 00 00 addis r9,r3,0 +- 10000160: 91 49 80 10 stw r10,-32752\(r9\) +- 10000164: e9 22 80 08 ld r9,-32760\(r2\) +- 10000168: 7d 49 19 2a stdx r10,r9,r3 +- 1000016c: 3d 2d 00 00 addis r9,r13,0 +- 10000170: b1 49 90 60 sth r10,-28576\(r9\) +- 10000174: e9 4d 90 2a lwa r10,-28632\(r13\) +- 10000178: 3d 2d 00 00 addis r9,r13,0 +- 1000017c: a9 49 90 30 lha r10,-28624\(r9\) ++0+10000[0-9a-f]{3} <_start>: ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 78 addi r3,r3,-28552 ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096 ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 40 addi r3,r3,-28608 ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096 ++ 10000[0-9a-f]{3}: 39 23 80 48 addi r9,r3,-32696 ++ 10000[0-9a-f]{3}: 3d 23 00 00 addis r9,r3,0 ++ 10000[0-9a-f]{3}: 81 49 80 50 lwz r10,-32688\(r9\) ++ 10000[0-9a-f]{3}: e9 22 80 10 ld r9,-32752\(r2\) ++ 10000[0-9a-f]{3}: 7d 49 18 2a ldx r10,r9,r3 ++ 10000[0-9a-f]{3}: 3d 2d 00 00 addis r9,r13,0 ++ 10000[0-9a-f]{3}: a1 49 90 60 lhz r10,-28576\(r9\) ++ 10000[0-9a-f]{3}: 89 4d 90 68 lbz r10,-28568\(r13\) ++ 10000[0-9a-f]{3}: 3d 2d 00 00 addis r9,r13,0 ++ 10000[0-9a-f]{3}: 99 49 90 70 stb r10,-28560\(r9\) ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 00 addi r3,r3,-28672 ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096 ++ 10000[0-9a-f]{3}: f9 43 80 08 std r10,-32760\(r3\) ++ 10000[0-9a-f]{3}: 3d 23 00 00 addis r9,r3,0 ++ 10000[0-9a-f]{3}: 91 49 80 10 stw r10,-32752\(r9\) ++ 10000[0-9a-f]{3}: e9 22 80 08 ld r9,-32760\(r2\) ++ 10000[0-9a-f]{3}: 7d 49 19 2a stdx r10,r9,r3 ++ 10000[0-9a-f]{3}: 3d 2d 00 00 addis r9,r13,0 ++ 10000[0-9a-f]{3}: b1 49 90 60 sth r10,-28576\(r9\) ++ 10000[0-9a-f]{3}: e9 4d 90 2a lwa r10,-28632\(r13\) ++ 10000[0-9a-f]{3}: 3d 2d 00 00 addis r9,r13,0 ++ 10000[0-9a-f]{3}: a9 49 90 30 lha r10,-28624\(r9\) + +-0+10000180 <\.__tls_get_addr>: +- 10000180: 4e 80 00 20 blr ++0+10000[0-9a-f]{3} <\.__tls_get_addr>: ++ 10000[0-9a-f]{3}: 4e 80 00 20 blr +--- binutils-2.23/ld/testsuite/ld-powerpc/tls.g ++++ binutils-2.23/ld/testsuite/ld-powerpc/tls.g +@@ -8,5 +8,5 @@ + .*: +file format elf64-powerpc + + Contents of section \.got: +- 100101e0 00000000 100181e0 ffffffff ffff8018 .* +- 100101f0 ffffffff ffff8058 .* ++ 10010([0-9a-f]{3}) 00000000 10018\1 ffffffff ffff8018 .* ++ 10010[0-9a-f]{3} ffffffff ffff8058 .* +--- binutils-2.23/ld/testsuite/ld-powerpc/tls32.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.d +@@ -9,42 +9,42 @@ + + Disassembly of section \.text: + +-0+1800094 <_start>: +- 1800094: 3c 62 00 00 addis r3,r2,0 +- 1800098: 38 63 90 3c addi r3,r3,-28612 +- 180009c: 3c 62 00 00 addis r3,r2,0 +- 18000a0: 38 63 10 00 addi r3,r3,4096 +- 18000a4: 3c 62 00 00 addis r3,r2,0 +- 18000a8: 38 63 90 20 addi r3,r3,-28640 +- 18000ac: 3c 62 00 00 addis r3,r2,0 +- 18000b0: 38 63 10 00 addi r3,r3,4096 +- 18000b4: 39 23 80 24 addi r9,r3,-32732 +- 18000b8: 3d 23 00 00 addis r9,r3,0 +- 18000bc: 81 49 80 28 lwz r10,-32728\(r9\) +- 18000c0: 3d 22 00 00 addis r9,r2,0 +- 18000c4: a1 49 90 30 lhz r10,-28624\(r9\) +- 18000c8: 89 42 90 34 lbz r10,-28620\(r2\) +- 18000cc: 3d 22 00 00 addis r9,r2,0 +- 18000d0: 99 49 90 38 stb r10,-28616\(r9\) +- 18000d4: 3c 62 00 00 addis r3,r2,0 +- 18000d8: 38 63 90 00 addi r3,r3,-28672 +- 18000dc: 3c 62 00 00 addis r3,r2,0 +- 18000e0: 38 63 10 00 addi r3,r3,4096 +- 18000e4: 91 43 80 04 stw r10,-32764\(r3\) +- 18000e8: 3d 23 00 00 addis r9,r3,0 +- 18000ec: 91 49 80 08 stw r10,-32760\(r9\) +- 18000f0: 3d 22 00 00 addis r9,r2,0 +- 18000f4: b1 49 90 30 sth r10,-28624\(r9\) +- 18000f8: a1 42 90 14 lhz r10,-28652\(r2\) +- 18000fc: 3d 22 00 00 addis r9,r2,0 +- 1800100: a9 49 90 18 lha r10,-28648\(r9\) ++0+1800[0-9a-f]{3} <_start>: ++ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0 ++ 1800[0-9a-f]{3}: 38 63 90 3c addi r3,r3,-28612 ++ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0 ++ 1800[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096 ++ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0 ++ 1800[0-9a-f]{3}: 38 63 90 20 addi r3,r3,-28640 ++ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0 ++ 1800[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096 ++ 1800[0-9a-f]{3}: 39 23 80 24 addi r9,r3,-32732 ++ 1800[0-9a-f]{3}: 3d 23 00 00 addis r9,r3,0 ++ 1800[0-9a-f]{3}: 81 49 80 28 lwz r10,-32728\(r9\) ++ 1800[0-9a-f]{3}: 3d 22 00 00 addis r9,r2,0 ++ 1800[0-9a-f]{3}: a1 49 90 30 lhz r10,-28624\(r9\) ++ 1800[0-9a-f]{3}: 89 42 90 34 lbz r10,-28620\(r2\) ++ 1800[0-9a-f]{3}: 3d 22 00 00 addis r9,r2,0 ++ 1800[0-9a-f]{3}: 99 49 90 38 stb r10,-28616\(r9\) ++ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0 ++ 1800[0-9a-f]{3}: 38 63 90 00 addi r3,r3,-28672 ++ 1800[0-9a-f]{3}: 3c 62 00 00 addis r3,r2,0 ++ 1800[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096 ++ 1800[0-9a-f]{3}: 91 43 80 04 stw r10,-32764\(r3\) ++ 1800[0-9a-f]{3}: 3d 23 00 00 addis r9,r3,0 ++ 1800[0-9a-f]{3}: 91 49 80 08 stw r10,-32760\(r9\) ++ 1800[0-9a-f]{3}: 3d 22 00 00 addis r9,r2,0 ++ 1800[0-9a-f]{3}: b1 49 90 30 sth r10,-28624\(r9\) ++ 1800[0-9a-f]{3}: a1 42 90 14 lhz r10,-28652\(r2\) ++ 1800[0-9a-f]{3}: 3d 22 00 00 addis r9,r2,0 ++ 1800[0-9a-f]{3}: a9 49 90 18 lha r10,-28648\(r9\) + +-0+1800104 <__tls_get_addr>: +- 1800104: 4e 80 00 20 blr ++0+1800[0-9a-f]{3} <__tls_get_addr>: ++ 1800[0-9a-f]{3}: 4e 80 00 20 blr + Disassembly of section \.got: + +-0+1810128 <_GLOBAL_OFFSET_TABLE_-0x4>: +- 1810128: 4e 80 00 21 blrl ++0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_-0x4>: ++ 1810[0-9a-f]{3}: 4e 80 00 21 blrl + +-0+181012c <_GLOBAL_OFFSET_TABLE_>: ++0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_>: + \.\.\. +--- binutils-2.23/ld/testsuite/ld-powerpc/tls32.g ++++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.g +@@ -8,4 +8,4 @@ + .*: +file format elf32-powerpc + + Contents of section \.got: +- 1810128 4e800021 00000000 00000000 00000000 .* ++ 18101[0-9a-f]{2} 4e800021 00000000 00000000 00000000 .* +--- binutils-2.23/ld/testsuite/ld-powerpc/tls32.t ++++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.t +@@ -8,5 +8,5 @@ + .*: +file format elf32-powerpc + + Contents of section \.tdata: +- 1810108 12345678 23456789 3456789a 456789ab .* +- 1810118 56789abc 6789abcd 789abcde 00c0ffee .* ++ 18101[0-9a-f]{2} 12345678 23456789 3456789a 456789ab .* ++ 18101[0-9a-f]{2} 56789abc 6789abcd 789abcde 00c0ffee .* +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.d +@@ -44,4 +44,4 @@ Disassembly of section \.got: + .*: 4e 80 00 21 blrl + + .* <_GLOBAL_OFFSET_TABLE_>: +-.*: 01 81 02 b8 00 00 00 00 00 00 00 00 .* ++.*: 01 81 02 [bd]8 00 00 00 00 00 00 00 00 .* +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.g ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.g +@@ -8,4 +8,4 @@ + + Contents of section \.got: + .* 00000000 00000000 00000000 4e800021 .* +-.* 018102b8 00000000 00000000 .* ++.* 018102[bd]8 00000000 00000000 .* +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.r ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.r +@@ -33,13 +33,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+ + + Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align +- +PHDR +0x000034 0x01800034 0x01800034 0x000c0 0x000c0 R E 0x4 +- +INTERP +0x0000f4 0x018000f4 0x018000f4 0x00011 0x00011 R +0x1 ++ +PHDR +0x000034 0x01800034 0x01800034 (0x000[0-9a-f]{2}) \1 R E 0x4 ++ +INTERP +0x000([0-9a-f]{3}) 0x01800\1 0x01800\1 0x00011 0x00011 R +0x1 + +\[Requesting program interpreter: .*\] + +LOAD .* R E 0x10000 + +LOAD .* RWE 0x10000 + +DYNAMIC .* RW +0x4 + +TLS .* 0x0001c 0x00038 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections\.\.\. +@@ -49,6 +50,7 @@ Program Headers: + +03 +\.tdata \.dynamic \.got \.plt + +04 +\.dynamic + +05 +\.tdata \.tbss ++ +06 + + + Relocation section '\.rela\.dyn' at offset .* contains 2 entries: + Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsmark.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsmark.d +@@ -9,29 +9,29 @@ + + Disassembly of section \.text: + +-0+100000e8 <_start>: +- 100000e8: 48 00 00 18 b 10000100 <_start\+0x18> +- 100000ec: 60 00 00 00 nop +- 100000f0: 38 63 90 00 addi r3,r3,-28672 +- 100000f4: e8 83 00 00 ld r4,0\(r3\) +- 100000f8: 3c 6d 00 00 addis r3,r13,0 +- 100000fc: 48 00 00 0c b 10000108 <_start\+0x20> +- 10000100: 3c 6d 00 00 addis r3,r13,0 +- 10000104: 4b ff ff e8 b 100000ec <_start\+0x4> +- 10000108: 60 00 00 00 nop +- 1000010c: 38 63 10 00 addi r3,r3,4096 +- 10000110: e8 83 80 00 ld r4,-32768\(r3\) +- 10000114: 3c 6d 00 00 addis r3,r13,0 +- 10000118: 48 00 00 0c b 10000124 <_start\+0x3c> +- 1000011c: 3c 6d 00 00 addis r3,r13,0 +- 10000120: 48 00 00 14 b 10000134 <_start\+0x4c> +- 10000124: 60 00 00 00 nop +- 10000128: 38 63 90 04 addi r3,r3,-28668 +- 1000012c: e8 a3 00 00 ld r5,0\(r3\) +- 10000130: 4b ff ff ec b 1000011c <_start\+0x34> +- 10000134: 60 00 00 00 nop +- 10000138: 38 63 10 00 addi r3,r3,4096 +- 1000013c: e8 a3 80 04 ld r5,-32764\(r3\) ++0+10000[0-9a-f]{3} <_start>: ++ 10000[0-9a-f]{3}: 48 00 00 18 b 10000[0-9a-f]{3} <_start\+0x18> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 00 addi r3,r3,-28672 ++ 10000[0-9a-f]{3}: e8 83 00 00 ld r4,0\(r3\) ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 48 00 00 0c b 10000[0-9a-f]{3} <_start\+0x20> ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 4b ff ff e8 b 10000[0-9a-f]{3} <_start\+0x4> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096 ++ 10000[0-9a-f]{3}: e8 83 80 00 ld r4,-32768\(r3\) ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 48 00 00 0c b 10000[0-9a-f]{3} <_start\+0x3c> ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 48 00 00 14 b 10000[0-9a-f]{3} <_start\+0x4c> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 04 addi r3,r3,-28668 ++ 10000[0-9a-f]{3}: e8 a3 00 00 ld r5,0\(r3\) ++ 10000[0-9a-f]{3}: 4b ff ff ec b 10000[0-9a-f]{3} <_start\+0x34> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 10 00 addi r3,r3,4096 ++ 10000[0-9a-f]{3}: e8 a3 80 04 ld r5,-32764\(r3\) + +-0+10000140 <\.__tls_get_addr>: +- 10000140: 4e 80 00 20 blr ++0+10000[0-9a-f]{3} <\.__tls_get_addr>: ++ 10000[0-9a-f]{3}: 4e 80 00 20 blr +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsmark32.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsmark32.d +@@ -9,17 +9,17 @@ + + Disassembly of section \.text: + +-0+1800094 <_start>: +- 1800094: 48 00 00 14 b 18000a8 <_start\+0x14> +- 1800098: 38 63 90 00 addi r3,r3,-28672 +- 180009c: 80 83 00 00 lwz r4,0\(r3\) +- 18000a0: 3c 62 00 00 addis r3,r2,0 +- 18000a4: 48 00 00 0c b 18000b0 <_start\+0x1c> +- 18000a8: 3c 62 00 00 addis r3,r2,0 +- 18000ac: 4b ff ff ec b 1800098 <_start\+0x4> +- 18000b0: 38 63 10 00 addi r3,r3,4096 +- 18000b4: 80 83 80 00 lwz r4,-32768\(r3\) ++0+18000[0-9a-f]{2} <_start>: ++ 18000[0-9a-f]{2}: 48 00 00 14 b 18000[0-9a-f]{2} <_start\+0x14> ++ 18000[0-9a-f]{2}: 38 63 90 00 addi r3,r3,-28672 ++ 18000[0-9a-f]{2}: 80 83 00 00 lwz r4,0\(r3\) ++ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0 ++ 18000[0-9a-f]{2}: 48 00 00 0c b 18000[0-9a-f]{2} <_start\+0x1c> ++ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0 ++ 18000[0-9a-f]{2}: 4b ff ff ec b 18000[0-9a-f]{2} <_start\+0x4> ++ 18000[0-9a-f]{2}: 38 63 10 00 addi r3,r3,4096 ++ 18000[0-9a-f]{2}: 80 83 80 00 lwz r4,-32768\(r3\) + +-0+18000b8 <__tls_get_addr>: +- 18000b8: 4e 80 00 20 blr +-#pass +\ No newline at end of file ++0+18000[0-9a-f]{2} <__tls_get_addr>: ++ 18000[0-9a-f]{2}: 4e 80 00 20 blr ++#pass +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1.d +@@ -9,17 +9,17 @@ + + Disassembly of section \.text: + +-0+100000e8 <\.__tls_get_addr>: +- 100000e8: 4e 80 00 20 blr ++0+10000[0-9a-f]{3} <\.__tls_get_addr>: ++ 10000[0-9a-f]{3}: 4e 80 00 20 blr + + Disassembly of section \.no_opt1: + +-0+100000ec <\.no_opt1>: +- 100000ec: 38 62 80 08 addi r3,r2,-32760 +- 100000f0: 2c 24 00 00 cmpdi r4,0 +- 100000f4: 41 82 00 10 beq- .* +- 100000f8: 4b ff ff f1 bl 100000e8 <\.__tls_get_addr> +- 100000fc: 60 00 00 00 nop +- 10000100: 48 00 00 0c b .* +- 10000104: 4b ff ff e5 bl 100000e8 <\.__tls_get_addr> +- 10000108: 60 00 00 00 nop ++0+10000[0-9a-f]{3} <\.no_opt1>: ++ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760 ++ 10000[0-9a-f]{3}: 2c 24 00 00 cmpdi r4,0 ++ 10000[0-9a-f]{3}: 41 82 00 10 beq- .* ++ 10000[0-9a-f]{3}: 4b ff ff f1 bl 10000[0-9a-f]{3} <\.__tls_get_addr> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 48 00 00 0c b .* ++ 10000[0-9a-f]{3}: 4b ff ff e5 bl 10000[0-9a-f]{3} <\.__tls_get_addr> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1_32.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1_32.d +@@ -9,16 +9,16 @@ + + Disassembly of section \.text: + +-0+1800094 <__tls_get_addr>: +- 1800094: 4e 80 00 20 blr ++0+18000[0-9a-f]{2} <__tls_get_addr>: ++ 18000[0-9a-f]{2}: 4e 80 00 20 blr + + Disassembly of section \.no_opt1: + +-0+1800098 <\.no_opt1>: +- 1800098: 38 6d ff f4 addi r3,r13,-12 +- 180009c: 2c 04 00 00 cmpwi r4,0 +- 18000a0: 41 82 00 0c beq- .* +- 18000a4: 4b ff ff f1 bl 1800094 <__tls_get_addr> +- 18000a8: 48 00 00 08 b .* +- 18000ac: 4b ff ff e9 bl 1800094 <__tls_get_addr> ++0+18000[0-9a-f]{2} <\.no_opt1>: ++ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12 ++ 18000[0-9a-f]{2}: 2c 04 00 00 cmpwi r4,0 ++ 18000[0-9a-f]{2}: 41 82 00 0c beq- .* ++ 18000[0-9a-f]{2}: 4b ff ff f1 bl 18000[0-9a-f]{2} <__tls_get_addr> ++ 18000[0-9a-f]{2}: 48 00 00 08 b .* ++ 18000[0-9a-f]{2}: 4b ff ff e9 bl 18000[0-9a-f]{2} <__tls_get_addr> + #pass +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2.d +@@ -9,15 +9,15 @@ + + Disassembly of section \.text: + +-0+100000e8 <\.__tls_get_addr>: +- 100000e8: 4e 80 00 20 blr ++0+10000[0-9a-f]{3} <\.__tls_get_addr>: ++ 10000[0-9a-f]{3}: 4e 80 00 20 blr + + Disassembly of section \.no_opt2: + +-0+100000ec <\.no_opt2>: +- 100000ec: 38 62 80 08 addi r3,r2,-32760 +- 100000f0: 2c 24 00 00 cmpdi r4,0 +- 100000f4: 41 82 00 08 beq- .* +- 100000f8: 38 62 80 08 addi r3,r2,-32760 +- 100000fc: 4b ff ff ed bl 100000e8 <\.__tls_get_addr> +- 10000100: 60 00 00 00 nop ++0+10000[0-9a-f]{3} <\.no_opt2>: ++ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760 ++ 10000[0-9a-f]{3}: 2c 24 00 00 cmpdi r4,0 ++ 10000[0-9a-f]{3}: 41 82 00 08 beq- .* ++ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760 ++ 10000[0-9a-f]{3}: 4b ff ff ed bl 10000[0-9a-f]{3} <\.__tls_get_addr> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2_32.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2_32.d +@@ -9,15 +9,15 @@ + + Disassembly of section \.text: + +-0+1800094 <__tls_get_addr>: +- 1800094: 4e 80 00 20 blr ++0+18000[0-9a-f]{2} <__tls_get_addr>: ++ 18000[0-9a-f]{2}: 4e 80 00 20 blr + + Disassembly of section \.no_opt2: + +-0+1800098 <\.no_opt2>: +- 1800098: 38 6d ff f4 addi r3,r13,-12 +- 180009c: 2c 04 00 00 cmpwi r4,0 +- 18000a0: 41 82 00 08 beq- .* +- 18000a4: 38 6d ff f4 addi r3,r13,-12 +- 18000a8: 4b ff ff ed bl 1800094 <__tls_get_addr> ++0+18000[0-9a-f]{2} <\.no_opt2>: ++ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12 ++ 18000[0-9a-f]{2}: 2c 04 00 00 cmpwi r4,0 ++ 18000[0-9a-f]{2}: 41 82 00 08 beq- .* ++ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12 ++ 18000[0-9a-f]{2}: 4b ff ff ed bl 18000[0-9a-f]{2} <__tls_get_addr> + #pass +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3.d +@@ -9,18 +9,18 @@ + + Disassembly of section \.text: + +-00000000100000e8 <\.__tls_get_addr>: +- 100000e8: 4e 80 00 20 blr ++0000000010000[0-9a-f]{3} <\.__tls_get_addr>: ++ 10000[0-9a-f]{3}: 4e 80 00 20 blr + + Disassembly of section \.no_opt3: + +-00000000100000ec <\.no_opt3>: +- 100000ec: 38 62 80 08 addi r3,r2,-32760 +- 100000f0: 48 00 00 0c b .* +- 100000f4: 38 62 80 18 addi r3,r2,-32744 +- 100000f8: 48 00 00 10 b .* +- 100000fc: 4b ff ff ed bl 100000e8 <\.__tls_get_addr> +- 10000100: 60 00 00 00 nop +- 10000104: 48 00 00 0c b .* +- 10000108: 4b ff ff e1 bl 100000e8 <\.__tls_get_addr> +- 1000010c: 60 00 00 00 nop ++0000000010000[0-9a-f]{3} <\.no_opt3>: ++ 10000[0-9a-f]{3}: 38 62 80 08 addi r3,r2,-32760 ++ 10000[0-9a-f]{3}: 48 00 00 0c b .* ++ 10000[0-9a-f]{3}: 38 62 80 18 addi r3,r2,-32744 ++ 10000[0-9a-f]{3}: 48 00 00 10 b .* ++ 10000[0-9a-f]{3}: 4b ff ff ed bl 10000[0-9a-f]{3} <\.__tls_get_addr> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 48 00 00 0c b .* ++ 10000[0-9a-f]{3}: 4b ff ff e1 bl 10000[0-9a-f]{3} <\.__tls_get_addr> ++ 10000[0-9a-f]{3}: 60 00 00 00 nop +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3_32.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3_32.d +@@ -9,17 +9,17 @@ + + Disassembly of section \.text: + +-0+1800094 <__tls_get_addr>: +- 1800094: 4e 80 00 20 blr ++0+18000[0-9a-f]{2} <__tls_get_addr>: ++ 18000[0-9a-f]{2}: 4e 80 00 20 blr + + Disassembly of section \.no_opt3: + +-0+1800098 <\.no_opt3>: +- 1800098: 38 6d ff ec addi r3,r13,-20 +- 180009c: 48 00 00 0c b .* +- 18000a0: 38 6d ff f4 addi r3,r13,-12 +- 18000a4: 48 00 00 0c b .* +- 18000a8: 4b ff ff ed bl 1800094 <__tls_get_addr> +- 18000ac: 48 00 00 08 b .* +- 18000b0: 4b ff ff e5 bl 1800094 <__tls_get_addr> ++0+18000[0-9a-f]{2} <\.no_opt3>: ++ 18000[0-9a-f]{2}: 38 6d ff ec addi r3,r13,-20 ++ 18000[0-9a-f]{2}: 48 00 00 0c b .* ++ 18000[0-9a-f]{2}: 38 6d ff f4 addi r3,r13,-12 ++ 18000[0-9a-f]{2}: 48 00 00 0c b .* ++ 18000[0-9a-f]{2}: 4b ff ff ed bl 18000[0-9a-f]{2} <__tls_get_addr> ++ 18000[0-9a-f]{2}: 48 00 00 08 b .* ++ 18000[0-9a-f]{2}: 4b ff ff e5 bl 18000[0-9a-f]{2} <__tls_get_addr> + #pass +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4.d +@@ -9,40 +9,40 @@ + + Disassembly of section \.text: + +-0+100000e8 <\.__tls_get_addr>: +- 100000e8: 4e 80 00 20 blr ++0+10000[0-9a-f]{3} <\.__tls_get_addr>: ++ 10000[0-9a-f]{3}: 4e 80 00 20 blr + + Disassembly of section \.opt1: + +-0+100000ec <\.opt1>: +- 100000ec: 3c 6d 00 00 addis r3,r13,0 +- 100000f0: 2c 24 00 00 cmpdi r4,0 +- 100000f4: 41 82 00 10 beq- .* +- 100000f8: 60 00 00 00 nop +- 100000fc: 38 63 90 10 addi r3,r3,-28656 +- 10000100: 48 00 00 0c b .* +- 10000104: 60 00 00 00 nop +- 10000108: 38 63 90 10 addi r3,r3,-28656 ++0+10000[0-9a-f]{3} <\.opt1>: ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 2c 24 00 00 cmpdi r4,0 ++ 10000[0-9a-f]{3}: 41 82 00 10 beq- .* ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 10 addi r3,r3,-28656 ++ 10000[0-9a-f]{3}: 48 00 00 0c b .* ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 10 addi r3,r3,-28656 + + Disassembly of section \.opt2: + +-0+1000010c <\.opt2>: +- 1000010c: 3c 6d 00 00 addis r3,r13,0 +- 10000110: 2c 24 00 00 cmpdi r4,0 +- 10000114: 41 82 00 08 beq- .* +- 10000118: 3c 6d 00 00 addis r3,r13,0 +- 1000011c: 60 00 00 00 nop +- 10000120: 38 63 90 10 addi r3,r3,-28656 ++0+10000[0-9a-f]{3} <\.opt2>: ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 2c 24 00 00 cmpdi r4,0 ++ 10000[0-9a-f]{3}: 41 82 00 08 beq- .* ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 10 addi r3,r3,-28656 + + Disassembly of section \.opt3: + +-0+10000124 <\.opt3>: +- 10000124: 3c 6d 00 00 addis r3,r13,0 +- 10000128: 48 00 00 0c b .* +- 1000012c: 3c 6d 00 00 addis r3,r13,0 +- 10000130: 48 00 00 10 b .* +- 10000134: 60 00 00 00 nop +- 10000138: 38 63 90 10 addi r3,r3,-28656 +- 1000013c: 48 00 00 0c b .* +- 10000140: 60 00 00 00 nop +- 10000144: 38 63 90 08 addi r3,r3,-28664 ++0+10000[0-9a-f]{3} <\.opt3>: ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 48 00 00 0c b .* ++ 10000[0-9a-f]{3}: 3c 6d 00 00 addis r3,r13,0 ++ 10000[0-9a-f]{3}: 48 00 00 10 b .* ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 10 addi r3,r3,-28656 ++ 10000[0-9a-f]{3}: 48 00 00 0c b .* ++ 10000[0-9a-f]{3}: 60 00 00 00 nop ++ 10000[0-9a-f]{3}: 38 63 90 08 addi r3,r3,-28664 +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4_32.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4_32.d +@@ -9,36 +9,36 @@ + + Disassembly of section \.text: + +-0+1800094 <__tls_get_addr>: +- 1800094: 4e 80 00 20 blr ++0+18000[0-9a-f]{2} <__tls_get_addr>: ++ 18000[0-9a-f]{2}: 4e 80 00 20 blr + + Disassembly of section \.opt1: + +-0+1800098 <\.opt1>: +- 1800098: 3c 62 00 00 addis r3,r2,0 +- 180009c: 2c 04 00 00 cmpwi r4,0 +- 18000a0: 41 82 00 0c beq- .* +- 18000a4: 38 63 90 10 addi r3,r3,-28656 +- 18000a8: 48 00 00 08 b .* +- 18000ac: 38 63 90 10 addi r3,r3,-28656 ++0+18000[0-9a-f]{2} <\.opt1>: ++ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0 ++ 18000[0-9a-f]{2}: 2c 04 00 00 cmpwi r4,0 ++ 18000[0-9a-f]{2}: 41 82 00 0c beq- .* ++ 18000[0-9a-f]{2}: 38 63 90 10 addi r3,r3,-28656 ++ 18000[0-9a-f]{2}: 48 00 00 08 b .* ++ 18000[0-9a-f]{2}: 38 63 90 10 addi r3,r3,-28656 + + Disassembly of section \.opt2: + +-0+18000b0 <\.opt2>: +- 18000b0: 3c 62 00 00 addis r3,r2,0 +- 18000b4: 2c 04 00 00 cmpwi r4,0 +- 18000b8: 41 82 00 08 beq- .* +- 18000bc: 3c 62 00 00 addis r3,r2,0 +- 18000c0: 38 63 90 10 addi r3,r3,-28656 ++0+18000[0-9a-f]{2} <\.opt2>: ++ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0 ++ 18000[0-9a-f]{2}: 2c 04 00 00 cmpwi r4,0 ++ 18000[0-9a-f]{2}: 41 82 00 08 beq- .* ++ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0 ++ 18000[0-9a-f]{2}: 38 63 90 10 addi r3,r3,-28656 + + Disassembly of section \.opt3: + +-0+18000c4 <\.opt3>: +- 18000c4: 3c 62 00 00 addis r3,r2,0 +- 18000c8: 48 00 00 0c b .* +- 18000cc: 3c 62 00 00 addis r3,r2,0 +- 18000d0: 48 00 00 0c b .* +- 18000d4: 38 63 90 10 addi r3,r3,-28656 +- 18000d8: 48 00 00 08 b .* +- 18000dc: 38 63 90 08 addi r3,r3,-28664 ++0+18000[0-9a-f]{2} <\.opt3>: ++ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0 ++ 18000[0-9a-f]{2}: 48 00 00 0c b .* ++ 18000[0-9a-f]{2}: 3c 62 00 00 addis r3,r2,0 ++ 18000[0-9a-f]{2}: 48 00 00 0c b .* ++ 18000[0-9a-f]{2}: 38 63 90 10 addi r3,r3,-28656 ++ 18000[0-9a-f]{2}: 48 00 00 08 b .* ++ 18000[0-9a-f]{2}: 38 63 90 08 addi r3,r3,-28664 + #pass +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.d ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.d +@@ -42,5 +42,5 @@ Disassembly of section \.got: + #... + .*: 4e 80 00 21 blrl + .* <_GLOBAL_OFFSET_TABLE_>: +-.*: 00 01 03 ec .* ++.*: 00 01 [0-9a-f]{2} [0-9a-f]{2} .* + #pass +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.g ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.g +@@ -9,5 +9,5 @@ + Contents of section \.got: + .* 00000000 00000000 00000000 00000000 .* + .* 00000000 00000000 00000000 00000000 .* +-.* 00000000 4e800021 000103ec 00000000 .* ++.* 00000000 4e800021 00010[0-9a-f]{3} 00000000 .* + .* 00000000 .* +--- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.r ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.r +@@ -35,6 +35,7 @@ Program Headers: + +LOAD .* RWE 0x10000 + +DYNAMIC .* RW +0x4 + +TLS .* 0x0+1c 0x0+38 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections\.\.\. +@@ -42,6 +43,7 @@ Program Headers: + +01 +\.tdata \.dynamic \.got \.plt + +02 +\.dynamic + +03 +\.tdata \.tbss ++ +04 + + + Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries: + Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend +@@ -52,9 +54,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries: + [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0 + [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0 + [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0 +-[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4 +-[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8 +-[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8 ++[0-9a-f ]+R_PPC_TPREL16 +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3} ++[0-9a-f ]+R_PPC_TPREL16_HA +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3} ++[0-9a-f ]+R_PPC_TPREL16_LO +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3} + [0-9a-f ]+R_PPC_DTPMOD32 +0 + [0-9a-f ]+R_PPC_DTPREL32 +0 + [0-9a-f ]+R_PPC_DTPMOD32 +0 +--- binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.g ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.g +@@ -8,8 +8,8 @@ + .*: +file format elf64-powerpc + + Contents of section \.got: +- 100101a0 00000000 00000001 00000000 00000000 .* +- 100101b0 00000000 00000001 00000000 00000000 .* +- 100101c0 00000000 00000001 00000000 00000000 .* +- 100101d0 00000000 00000001 00000000 00000000 .* +- 100101e0 ffffffff ffff8060 00000000 00000000 .* ++ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .* ++ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .* ++ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .* ++ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000 .* ++ 10010[0-9a-f]{3} ffffffff ffff8060 00000000 00000000 .* +--- binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.t ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.t +@@ -8,7 +8,7 @@ + .*: +file format elf64-powerpc + + Contents of section \.tdata: +- 10010148 00c0ffee 00000000 12345678 9abcdef0 .* +- 10010158 23456789 abcdef01 3456789a bcdef012 .* +- 10010168 456789ab cdef0123 56789abc def01234 .* +- 10010178 6789abcd ef012345 789abcde f0123456 .* ++ 10010180 00c0ffee 00000000 12345678 9abcdef0 .* ++ 10010190 23456789 abcdef01 3456789a bcdef012 .* ++ 100101a0 456789ab cdef0123 56789abc def01234 .* ++ 100101b0 6789abcd ef012345 789abcde f0123456 .* +--- binutils-2.23/ld/testsuite/ld-powerpc/tlstocso.g ++++ binutils-2.23/ld/testsuite/ld-powerpc/tlstocso.g +@@ -7,7 +7,7 @@ + .*: +file format elf64-powerpc + + Contents of section \.got: +-.* 00000000 000186c0 00000000 00000000 .* ++.* 00000000 000186f8 00000000 00000000 .* + .* 00000000 00000000 00000000 00000000 .* + .* 00000000 00000000 00000000 00000000 .* + .* 00000000 00000000 00000000 00000000 .* +--- binutils-2.23/ld/testsuite/ld-s390/tlsbin.rd ++++ binutils-2.23/ld/testsuite/ld-s390/tlsbin.rd +@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+ + +LOAD .* RW +0x1000 + +DYNAMIC .* RW +0x4 + +TLS .* 0x0+60 0x0+a0 R +0x20 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -52,6 +53,7 @@ Program Headers: + +03 +.tdata .dynamic .got * + +04 +.dynamic * + +05 +.tdata .tbss * ++ +06 + + + Relocation section '.rela.dyn' at offset .* contains 4 entries: + Offset +Info +Type +Sym.Value +Sym. Name \+ Addend +--- binutils-2.23/ld/testsuite/ld-s390/tlsbin_64.rd ++++ binutils-2.23/ld/testsuite/ld-s390/tlsbin_64.rd +@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+ + +LOAD .* RW +0x1000 + +DYNAMIC .* RW +0x8 + +TLS .* 0x0+60 0x0+a0 R +0x20 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -52,6 +53,7 @@ Program Headers: + +03 +.tdata .dynamic .got * + +04 +.dynamic * + +05 +.tdata .tbss * ++ +06 + + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +--- binutils-2.23/ld/testsuite/ld-s390/tlspic.rd ++++ binutils-2.23/ld/testsuite/ld-s390/tlspic.rd +@@ -39,6 +39,7 @@ Program Headers: + +LOAD .* RW +0x1000 + +DYNAMIC .* RW +0x4 + +TLS .* 0x0+60 0x0+80 R +0x20 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -46,6 +47,7 @@ Program Headers: + +01 +.tdata .dynamic .got + +02 +.dynamic + +03 +.tdata .tbss ++ +04 + + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: + Offset +Info +Type +Sym.Value +Sym. Name \+ Addend +--- binutils-2.23/ld/testsuite/ld-s390/tlspic_64.rd ++++ binutils-2.23/ld/testsuite/ld-s390/tlspic_64.rd +@@ -39,6 +39,7 @@ Program Headers: + +LOAD .* RW +0x1000 + +DYNAMIC .* RW +0x8 + +TLS .* 0x0+60 0x0+80 R +0x20 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -46,6 +47,7 @@ Program Headers: + +01 +.tdata .dynamic .got * + +02 +.dynamic * + +03 +.tdata .tbss * ++ +04 + + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +--- binutils-2.23/ld/testsuite/ld-scripts/empty-aligned.d ++++ binutils-2.23/ld/testsuite/ld-scripts/empty-aligned.d +@@ -8,7 +8,9 @@ + Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align + +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ [RWE ]+ +0x[0-9a-f]+ ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections\.\.\. + +00 +.text ++ +01 + +--- binutils-2.23/ld/testsuite/ld-sh/tlsbin-2.d ++++ binutils-2.23/ld/testsuite/ld-sh/tlsbin-2.d +@@ -44,6 +44,7 @@ Program Headers: + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections\.\.\. +@@ -53,6 +54,7 @@ Program Headers: + +03 +\.tdata \.dynamic \.got * + +04 +\.dynamic * + +05 +\.tdata \.tbss * ++ +06 + + + Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries: + Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend +--- binutils-2.23/ld/testsuite/ld-sh/tlspic-2.d ++++ binutils-2.23/ld/testsuite/ld-sh/tlspic-2.d +@@ -32,7 +32,7 @@ Key to Flags: + + Elf file type is DYN \(Shared object file\) + Entry point 0x[0-9a-f]+ +-There are 4 program headers, starting at offset [0-9]+ ++There are [0-9] program headers, starting at offset [0-9]+ + + Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +@@ -40,6 +40,7 @@ Program Headers: + +LOAD.* + +DYNAMIC.* + +TLS .* 0x0+18 0x0+20 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections\.\.\. +@@ -47,6 +48,7 @@ Program Headers: + +01 +\.tdata \.dynamic \.got * + +02 +\.dynamic * + +03 +\.tdata \.tbss * ++ +04 + + + Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries: + Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend +--- binutils-2.23/ld/testsuite/ld-sparc/gotop32.rd ++++ binutils-2.23/ld/testsuite/ld-sparc/gotop32.rd +@@ -31,6 +31,7 @@ Program Headers: + +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x10000 + +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+2000 0x0+2000 RW +0x10000 + +DYNAMIC +0x0+2000 0x0+12000 0x0+12000 0x0+70 0x0+70 RW +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: +--- binutils-2.23/ld/testsuite/ld-sparc/gotop64.rd ++++ binutils-2.23/ld/testsuite/ld-sparc/gotop64.rd +@@ -31,6 +31,7 @@ Program Headers: + +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x100000 + +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+2000 0x0+2000 RW +0x100000 + +DYNAMIC +0x0+2000 0x0+102000 0x0+102000 0x0+e0 0x0+e0 RW +0x8 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: +--- binutils-2.23/ld/testsuite/ld-sparc/tlssunbin32.rd ++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunbin32.rd +@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+ + + Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align +- +PHDR +0x0+34 0x0+10034 0x0+10034 0x0+c0 0x0+c0 R E 0x4 +- +INTERP +0x0+f4 0x0+100f4 0x0+100f4 0x0+11 0x0+11 R +0x1 ++ +PHDR +0x0+34 0x0+10034 0x0+10034 (0x[0-9a-f]+) \1 R E 0x4 ++ +INTERP +(0x[0-9a-f]+ ){3}0x0+11 0x0+11 R +0x1 + .*Requesting program interpreter.* + +LOAD .* R E 0x10000 + +LOAD .* RW +0x10000 + +DYNAMIC .* RW +0x4 + +TLS .* 0x0+1060 0x0+10a0 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: +--- binutils-2.23/ld/testsuite/ld-sparc/tlssunbin64.rd ++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunbin64.rd +@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+ + + Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +- +PHDR +0x0+40 0x0+100040 0x0+100040 0x0+150 0x0+150 R E 0x8 +- +INTERP +0x0+190 0x0+100190 0x0+100190 0x0+19 0x0+19 R +0x1 ++ +PHDR +0x0+40 0x0+100040 0x0+100040 (0x[0-9a-f]+) \1 R E 0x8 ++ +INTERP +0x0+([0-9a-f]+) (0x0+10+\1) \2 0x0+19 0x0+19 R +0x1 + .*Requesting program interpreter.* + +LOAD .* R E 0x100000 + +LOAD .* RW +0x100000 + +DYNAMIC .* RW +0x8 + +TLS .* 0x0+60 0x0+a0 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: +--- binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic32.rd ++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic32.rd +@@ -32,6 +32,7 @@ Program Headers: + +LOAD .* RW +0x10000 + +DYNAMIC .* RW +0x4 + +TLS .* 0x0+ 0x0+24 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries: +--- binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic64.rd ++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic64.rd +@@ -32,6 +32,7 @@ Program Headers: + +LOAD .* RW +0x100000 + +DYNAMIC .* RW +0x8 + +TLS .* 0x0+ 0x0+24 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: +--- binutils-2.23/ld/testsuite/ld-sparc/tlssunpic32.rd ++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunpic32.rd +@@ -36,6 +36,7 @@ Program Headers: + +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+184 0x0+184 RWE 0x10000 + +DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+98 0x0+98 RW +0x4 + +TLS +0x0+2000 0x0+12000 0x0+12000 0x0+60 0x0+80 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: +--- binutils-2.23/ld/testsuite/ld-sparc/tlssunpic64.rd ++++ binutils-2.23/ld/testsuite/ld-sparc/tlssunpic64.rd +@@ -36,6 +36,7 @@ Program Headers: + +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+3a0 0x0+3a0 RWE 0x100000 + +DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8 + +TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x4 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + #... + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: +--- binutils-2.23/ld/testsuite/ld-x86-64/tlsgdesc.rd ++++ binutils-2.23/ld/testsuite/ld-x86-64/tlsgdesc.rd +@@ -36,12 +36,14 @@ Program Headers: + +LOAD.* + +LOAD.* + +DYNAMIC.* ++ +PAX_FLAGS.* + + Section to Segment mapping: + +Segment Sections... + +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text * + +01 +.dynamic .got .got.plt * + +02 +.dynamic * ++ +03 + + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +--- binutils-2.23/ld/testsuite/ld-x86-64/tlspic.rd ++++ binutils-2.23/ld/testsuite/ld-x86-64/tlspic.rd +@@ -40,6 +40,7 @@ Program Headers: + +LOAD +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+244 0x0+244 RW +0x200000 + +DYNAMIC +0x0+1210 0x0+201210 0x0+201210 0x0+130 0x0+130 RW +0x8 + +TLS +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+60 0x0+80 R +0x1 ++ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48] + + Section to Segment mapping: + +Segment Sections... +@@ -47,6 +48,7 @@ Program Headers: + +01 +.tdata .dynamic .got .got.plt * + +02 +.dynamic * + +03 +.tdata .tbss * ++ +04 + + + Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend diff --git a/pkgs/development/tools/misc/dfu-util/default.nix b/pkgs/development/tools/misc/dfu-util/default.nix index f3a986e64323..d0a68caace68 100644 --- a/pkgs/development/tools/misc/dfu-util/default.nix +++ b/pkgs/development/tools/misc/dfu-util/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name="dfu-util-${version}"; - version = "0.8"; + version = "0.9"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libusb1 ]; src = fetchurl { - url = "mirror://debian/pool/main/d/dfu-util/dfu-util_0.8.orig.tar.gz"; - sha256 = "0n7h08avlzin04j93m6hkq9id6hxjiiix7ff9gc2n89aw6dxxjsm"; + url = "http://dfu-util.sourceforge.net/releases/${name}.tar.gz"; + sha256 = "0czq73m92ngf30asdzrfkzraag95hlrr74imbanqq25kdim8qhin"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/drush/default.nix b/pkgs/development/tools/misc/drush/default.nix index cb534d511eaf..72bbe50422ca 100644 --- a/pkgs/development/tools/misc/drush/default.nix +++ b/pkgs/development/tools/misc/drush/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { mkdir -p "$out" cp -r . "$out/src" mkdir "$out/bin" - wrapProgram "$out/src/drush" --prefix PATH : "${which}/bin:${php}/bin:${bash}/bin:${coreutils}/bin:${ncurses}/bin" + wrapProgram "$out/src/drush" --prefix PATH : "${which}/bin:${php}/bin:${bash}/bin:${coreutils}/bin:${ncurses.out}/bin" ln -s "$out/src/drush" "$out/bin/drush" ''; } diff --git a/pkgs/development/tools/misc/eggdbus/default.nix b/pkgs/development/tools/misc/eggdbus/default.nix index 97031a533fae..9f04e2837222 100644 --- a/pkgs/development/tools/misc/eggdbus/default.nix +++ b/pkgs/development/tools/misc/eggdbus/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "118hj63ac65zlg71kydv4607qcg1qpdlql4kvhnwnnhar421jnq4"; }; - buildInputs = [ pkgconfig glib dbus.libs dbus_glib ]; + buildInputs = [ pkgconfig glib dbus dbus_glib ]; meta = { homepage = http://hal.freedesktop.org/releases/; diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix index 5fdccc9acadd..e6b81ca7eb17 100644 --- a/pkgs/development/tools/misc/global/default.nix +++ b/pkgs/development/tools/misc/global/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-ltdl-include=${libtool}/include" - "--with-ltdl-lib=${libtool}/lib" + "--with-ltdl-lib=${libtool.lib}/lib" "--with-ncurses=${ncurses}" "--with-sqlite3=${sqlite}" "--with-exuberant-ctags=${ctags}/bin/ctags" diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix index 5d27b469680b..27ec2772e095 100644 --- a/pkgs/development/tools/misc/libtool/libtool2.nix +++ b/pkgs/development/tools/misc/libtool/libtool2.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1qq61k6lp1fp75xs398yzi6wvbx232l7xbyn3p13cnh27mflvgg3"; }; + outputs = [ "out" "lib" ]; + propagatedNativeBuildInputs = [ m4 ]; nativeBuildInputs = [ perl help2man ]; @@ -43,4 +45,3 @@ stdenv.mkDerivation rec { maintainers = [ ]; }; } - diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index 7154166c2516..77a1f2661682 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { setupHook = [ ./setup-hook.sh ]; + #doCheck = true; # problems when loading libc.so.6 + meta = { homepage = http://nixos.org/patchelf.html; license = "GPL"; diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix index d7246d22ca73..d0e63469987b 100644 --- a/pkgs/development/tools/misc/pkgconfig/default.nix +++ b/pkgs/development/tools/misc/pkgconfig/default.nix @@ -1,6 +1,9 @@ -{stdenv, fetchurl, automake, libiconv, vanilla ? false}: +{stdenv, fetchurl, automake, libiconv, vanilla ? false }: -stdenv.mkDerivation (rec { +let + inherit (stdenv.lib) optional; +in +stdenv.mkDerivation rec { name = "pkg-config-0.29"; setupHook = ./setup-hook.sh; @@ -12,17 +15,19 @@ stdenv.mkDerivation (rec { ]; sha256 = "0sq09a39wj4cxf8l2jvkq067g08ywfma4v6nhprnf351s82pfl68"; }; + # Process Requires.private properly, see + # http://bugs.freedesktop.org/show_bug.cgi?id=4738. + patches = optional (!vanilla) ./requires-private.patch + ++ optional stdenv.isCygwin ./2.36.3-not-win32.patch; + preConfigure = stdenv.lib.optionalString (stdenv.system == "mips64el-linux") + ''cp -v ${automake}/share/automake*/config.{sub,guess} .''; buildInputs = stdenv.lib.optional (stdenv.isCygwin || stdenv.isDarwin || stdenv.isSunOS) libiconv; configureFlags = [ "--with-internal-glib" ] ++ stdenv.lib.optional (stdenv.isSunOS) [ "--with-libiconv=gnu" "--with-system-library-path" "--with-system-include-path" "CFLAGS=-DENABLE_NLS" ]; - patches = (if vanilla then [] else [ - # Process Requires.private properly, see - # http://bugs.freedesktop.org/show_bug.cgi?id=4738. - ./requires-private.patch - ]) ++ stdenv.lib.optional stdenv.isCygwin ./2.36.3-not-win32.patch; + postInstall = ''rm "$out"/bin/*-pkg-config''; # clean the duplicate file meta = { description = "A tool that allows packages to find out information about other packages"; @@ -30,9 +35,5 @@ stdenv.mkDerivation (rec { platforms = stdenv.lib.platforms.all; }; -} // (if stdenv.system == "mips64el-linux" then - { - preConfigure = '' - cp -v ${automake}/share/automake*/config.{sub,guess} . - ''; - } else {})) +} + diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix index 99582e0f8a3d..d01a2f9cdd06 100644 --- a/pkgs/development/tools/misc/texinfo/5.2.nix +++ b/pkgs/development/tools/misc/texinfo/5.2.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"; }; - buildInputs = [ perl xz ] + buildInputs = [ perl xz.bin ] ++ optional interactive ncurses ++ optional doCheck procps; # for tests diff --git a/pkgs/development/tools/node-webkit/nw11.nix b/pkgs/development/tools/node-webkit/nw11.nix index ed3b99aad009..2fe1ddf42d43 100644 --- a/pkgs/development/tools/node-webkit/nw11.nix +++ b/pkgs/development/tools/node-webkit/nw11.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, buildEnv, makeWrapper , xorg, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig -, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev, libcap +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev, libcap , libnotify}: let bits = if stdenv.system == "x86_64-linux" then "x64" @@ -35,7 +35,7 @@ in stdenv.mkDerivation rec { patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot - ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0 + ln -s ${libudev.out}/lib/libudev.so $out/share/node-webkit/libudev.so.0 patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot diff --git a/pkgs/development/tools/node-webkit/nw12.nix b/pkgs/development/tools/node-webkit/nw12.nix index 7492acb13678..4cacc75d7776 100644 --- a/pkgs/development/tools/node-webkit/nw12.nix +++ b/pkgs/development/tools/node-webkit/nw12.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, buildEnv, makeWrapper , xorg, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig -, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev, libcap +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev, libcap , libnotify}: let bits = if stdenv.system == "x86_64-linux" then "x64" @@ -37,7 +37,7 @@ in stdenv.mkDerivation rec { patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nw patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nwjc - ln -s ${udev}/lib/libudev.so $out/share/nwjs/libudev.so.0 + ln -s ${libudev.out}/lib/libudev.so $out/share/nwjs/libudev.so.0 patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/nwjs" $out/share/nwjs/nw patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/nwjs" $out/share/nwjs/nwjc diff --git a/pkgs/development/tools/node-webkit/nw9.nix b/pkgs/development/tools/node-webkit/nw9.nix index 213b94102b0d..d8601865c6d1 100644 --- a/pkgs/development/tools/node-webkit/nw9.nix +++ b/pkgs/development/tools/node-webkit/nw9.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, buildEnv, makeWrapper , xorg, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig -, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev}: +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev }: let bits = if stdenv.system == "x86_64-linux" then "x64" else "ia32"; @@ -33,7 +33,7 @@ in stdenv.mkDerivation rec { patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot - ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0 + ln -s ${libudev.out}/lib/libudev.so $out/share/node-webkit/libudev.so.0 patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot diff --git a/pkgs/development/tools/phantomjs/default.nix b/pkgs/development/tools/phantomjs/default.nix index 77bc1e5a885f..8b6b655b6a56 100644 --- a/pkgs/development/tools/phantomjs/default.nix +++ b/pkgs/development/tools/phantomjs/default.nix @@ -1,6 +1,9 @@ -{ stdenv, fetchurl, freetype, fontconfig, openssl, unzip }: +{ stdenv, lib, fetchurl, freetype, fontconfig, openssl, unzip }: -assert stdenv.lib.elem stdenv.system [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; +let + platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; +in +assert lib.elem stdenv.system platforms; stdenv.mkDerivation rec { name = "phantomjs-1.9.8"; @@ -27,12 +30,12 @@ stdenv.mkDerivation rec { sha256 = "0j0aq8dgzmb210xdrh0v3d4nblskl3zsckl8bzf1a603wcx085cg"; }; - buildInputs = if stdenv.isDarwin then [ unzip ] else []; + buildInputs = lib.optional stdenv.isDarwin unzip; - buildPhase = if stdenv.isDarwin then "" else '' + buildPhase = lib.optionalString (!stdenv.isDarwin) '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${freetype}/lib:${fontconfig}/lib:${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${openssl}/lib" \ + --set-rpath "${stdenv.lib.makeLibraryPath [ freetype fontconfig stdenv.cc.cc stdenv.cc.cc openssl ]}" \ bin/phantomjs ''; @@ -60,9 +63,9 @@ stdenv.mkDerivation rec { ''; homepage = http://phantomjs.org/; - license = stdenv.lib.licenses.bsd3; + license = lib.licenses.bsd3; - maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; - platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" ]; + maintainers = [ lib.maintainers.bluescreen303 ]; + inherit platforms; }; } diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix index 8d9db34446d6..dd6d75771a32 100644 --- a/pkgs/development/tools/selenium/chromedriver/default.nix +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -8,12 +8,12 @@ assert stdenv.system == "x86_64-linux"; stdenv.mkDerivation rec { product = "chromedriver_linux64"; - name = "${product}-2.14"; - version = "2.14"; + name = "${product}-2.21"; + version = "2.21"; src = fetchurl { url = "http://chromedriver.storage.googleapis.com/${version}/${product}.zip"; - sha256 = "18kpky1v5pc3fv6kv9i2mf4wr4qicmfhf27h9zqy18gh16rlwrin"; + sha256 = "1fhwvqjwqkfm18icacvk0312ii8hf1p03icd3isfcxp7j69qf2wg"; }; buildInputs = [ unzip makeWrapper ]; @@ -23,9 +23,9 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin mv chromedriver $out/bin - patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver + patchelf --set-interpreter ${glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver wrapProgram "$out/bin/chromedriver" \ - --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:${libXi}/lib:\$LD_LIBRARY_PATH" + --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64:${stdenv.lib.makeLibraryPath [ cairo fontconfig freetype gdk_pixbuf glib gtk libX11 nspr nss pango libXrender gconf libXext libXi ]}:\$LD_LIBRARY_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix index 2efd85f84010..66d9668fe82d 100644 --- a/pkgs/development/tools/selenium/server/default.nix +++ b/pkgs/development/tools/selenium/server/default.nix @@ -29,7 +29,7 @@ in stdenv.mkDerivation rec { ${jdk}/bin/jar xf $src launchers/launcher-linux-amd64 patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${gcc.cc}/lib/:${gcc.cc}/lib64:${xorg.libX11}/lib" \ + --set-rpath "${gcc.cc}/lib/:${gcc.cc}/lib64:${xorg.libX11.out}/lib" \ launchers/launcher-linux-${arch} ${jdk}/bin/jar uf $src launchers/launcher-linux-${arch} ''; diff --git a/pkgs/development/tools/sslmate/default.nix b/pkgs/development/tools/sslmate/default.nix index 72af18984514..8def4b6a6657 100644 --- a/pkgs/development/tools/sslmate/default.nix +++ b/pkgs/development/tools/sslmate/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { JSONPP TermReadKey ]}" \ - --prefix PATH : "${openssl}/bin" + --prefix PATH : "${openssl.bin}/bin" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/sunxi-tools/default.nix b/pkgs/development/tools/sunxi-tools/default.nix index f27b9500319e..432560242549 100644 --- a/pkgs/development/tools/sunxi-tools/default.nix +++ b/pkgs/development/tools/sunxi-tools/default.nix @@ -1,11 +1,13 @@ -{ stdenv, fetchgit, pkgconfig, libusb }: +{ stdenv, fetchFromGitHub, pkgconfig, libusb }: + stdenv.mkDerivation { name = "sunxi-tools-1.3"; - src = fetchgit { - url = "https://github.com/linux-sunxi/sunxi-tools"; + src = fetchFromGitHub { + owner = "linux-sunxi"; + repo = "sunxi-tools"; rev = "be1b4c7400161b90437432076360c1f99970f54f"; - sha256 = "0qbl4v66a3mvqai29q2y60zf2b5lj32mh9gyn44gfp0w2bsb10yj"; + sha256 = "02pqaaahra4wbv325264qh5i17mxwicmjx9nm33nw2dpmfmg9xhr"; }; buildInputs = [ pkgconfig libusb ]; @@ -23,7 +25,7 @@ stdenv.mkDerivation { description = "Tools for Allwinner A10 devices"; homepage = http://linux-sunxi.org/; license = licenses.gpl2Plus; - platforms = platforms.unix; + platforms = platforms.linux; maintainers = with maintainers; [ elitak ]; }; } diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index c113dcbfb7b1..2284c25cf661 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { # curl: curl, curl-config rm opt/vagrant/embedded/bin/{curl,curl-config} - ln -s ${curl}/bin/curl opt/vagrant/embedded/bin + ln -s ${curl.bin}/bin/curl opt/vagrant/embedded/bin ln -s ${curl}/bin/curl-config opt/vagrant/embedded/bin # libarchive: bsdtar, bsdcpio @@ -61,8 +61,8 @@ stdenv.mkDerivation rec { # openssl: c_rehash, openssl rm opt/vagrant/embedded/bin/{c_rehash,openssl} - ln -s ${openssl}/bin/c_rehash opt/vagrant/embedded/bin - ln -s ${openssl}/bin/openssl opt/vagrant/embedded/bin + ln -s ${openssl.bin}/bin/c_rehash opt/vagrant/embedded/bin + ln -s ${openssl.bin}/bin/openssl opt/vagrant/embedded/bin # ruby: erb, gem, irb, rake, rdoc, ri, ruby rm opt/vagrant/embedded/bin/{erb,gem,irb,rake,rdoc,ri,ruby} @@ -80,14 +80,14 @@ stdenv.mkDerivation rec { # libxml: xml2-config, xmlcatalog, xmllint rm opt/vagrant/embedded/bin/{xml2-config,xmlcatalog,xmllint} - ln -s ${libxml2}/bin/xml2-config opt/vagrant/embedded/bin - ln -s ${libxml2}/bin/xmlcatalog opt/vagrant/embedded/bin - ln -s ${libxml2}/bin/xmllint opt/vagrant/embedded/bin + ln -s ${libxml2.dev}/bin/xml2-config opt/vagrant/embedded/bin + ln -s ${libxml2.bin}/bin/xmlcatalog opt/vagrant/embedded/bin + ln -s ${libxml2.bin}/bin/xmllint opt/vagrant/embedded/bin # libxslt: xslt-config, xsltproc rm opt/vagrant/embedded/bin/{xslt-config,xsltproc} - ln -s ${libxslt}/bin/xslt-config opt/vagrant/embedded/bin - ln -s ${libxslt}/bin/xsltproc opt/vagrant/embedded/bin + ln -s ${libxslt.dev}/bin/xslt-config opt/vagrant/embedded/bin + ln -s ${libxslt.bin}/bin/xsltproc opt/vagrant/embedded/bin mkdir -p "$out" cp -r opt "$out" diff --git a/pkgs/development/tools/xqilla/default.nix b/pkgs/development/tools/xqilla/default.nix new file mode 100644 index 000000000000..77bf313e83dc --- /dev/null +++ b/pkgs/development/tools/xqilla/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, xercesc }: + +stdenv.mkDerivation rec { + name = "xqilla-${version}"; + version = "2.3.3"; + + src = fetchurl { + url = "mirror://sourceforge/xqilla/XQilla-${version}.tar.gz"; + sha256 = "1mjgcyar3qyizpnb0h9lxaj6p9yq4vj09qd8qan1bwv6z6sbjxlg"; + }; + + configureFlags = [ "--with-xerces=${xercesc}" ]; + + meta = with stdenv.lib; { + description = "XQilla is an XQuery and XPath 2 library and command line utility written in C++, implemented on top of the Xerces-C library."; + license = licenses.asl20 ; + maintainers = with maintainers; [ obadz ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/web/nodejs/v4.nix b/pkgs/development/web/nodejs/v4.nix index 629864b6e0b5..ccb528173677 100644 --- a/pkgs/development/web/nodejs/v4.nix +++ b/pkgs/development/web/nodejs/v4.nix @@ -43,13 +43,14 @@ in stdenv.mkDerivation { patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode.patch ]; + buildInputs = [ python zlib libuv openssl python ] + ++ optionals stdenv.isLinux [ utillinux http-parser ]; + nativeBuildInputs = [ pkgconfig ] + ++ optional stdenv.isDarwin libtool; + postFixup = '' sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' $out/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py ''; - - buildInputs = [ python which zlib libuv openssl python ] - ++ optionals stdenv.isLinux [ utillinux http-parser ] - ++ optionals stdenv.isDarwin [ pkgconfig openssl libtool ]; setupHook = ./setup-hook.sh; enableParallelBuilding = true; diff --git a/pkgs/games/beret/default.nix b/pkgs/games/beret/default.nix index e2e4f5af977a..81bdbed46e94 100644 --- a/pkgs/games/beret/default.nix +++ b/pkgs/games/beret/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { buildInputs = [ SDL SDL_image SDL_ttf SDL_mixer ]; - NIX_CFLAGS_COMPILE = "-I${SDL}/include/SDL"; + NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL"; NIX_CFLAGS_LINK = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-framework CoreFoundation -framework OpenGL -framework Cocoa"; diff --git a/pkgs/games/bitsnbots/default.nix b/pkgs/games/bitsnbots/default.nix index 57cd67fbb7ba..82e5ddb06d4d 100644 --- a/pkgs/games/bitsnbots/default.nix +++ b/pkgs/games/bitsnbots/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { makefile = "Makefile.linux"; - NIX_CFLAGS_COMPILE = "-I${SDL}/include/SDL"; + NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL"; NIX_LDFLAGS = "-lGL"; diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix index af80467c960d..f2417428880c 100644 --- a/pkgs/games/extremetuxracer/default.nix +++ b/pkgs/games/extremetuxracer/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-tcl=${tcl}/lib" ]; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL}/include/SDL" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL.dev}/include/SDL" ''; meta = { diff --git a/pkgs/games/gemrb/default.nix b/pkgs/games/gemrb/default.nix index 86da7686eefd..42d80f86e828 100644 --- a/pkgs/games/gemrb/default.nix +++ b/pkgs/games/gemrb/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { # TODO: make libpng, libvorbis, sdl_mixer, freetype, vlc, glew (and other gl reqs) optional # Necessary to find libdl. - CMAKE_LIBRARY_PATH = "${stdenv.cc.libc}/lib"; + CMAKE_LIBRARY_PATH = "${stdenv.cc.libc.out}/lib"; # Can't have -werror because of the Vorbis header files. cmakeFlags = "-DDISABLE_WERROR=ON -DCMAKE_VERBOSE_MAKEFILE=ON"; diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix index 8d601e29d0b0..7d0f59a4e0d0 100644 --- a/pkgs/games/hedgewars/default.nix +++ b/pkgs/games/hedgewars/default.nix @@ -26,11 +26,11 @@ stdenv.mkDerivation rec { -rpath ${SDL_mixer}/lib -rpath ${SDL_net}/lib -rpath ${SDL_ttf}/lib - -rpath ${SDL}/lib - -rpath ${libpng}/lib + -rpath ${SDL.out}/lib + -rpath ${libpng.out}/lib -rpath ${lua5_1}/lib -rpath ${mesa}/lib - -rpath ${zlib}/lib + -rpath ${zlib.out}/lib " ''; diff --git a/pkgs/games/liberal-crime-squad/default.nix b/pkgs/games/liberal-crime-squad/default.nix new file mode 100644 index 000000000000..434f72d62f0f --- /dev/null +++ b/pkgs/games/liberal-crime-squad/default.nix @@ -0,0 +1,28 @@ +{ fetchFromGitHub, stdenv, ncurses, autoconf, automake , SDL2, SDL2_mixer }: + +stdenv.mkDerivation rec { + version = "2016-03-03"; + name = "liberal-crime-squad-${version}"; + src = fetchFromGitHub { + owner = "Kamal-Sadek"; + repo = "Liberal-Crime-Squad"; + rev = "39c5f167e902e33cb37b152215d67f71b9ae8269"; + sha256 = "18s2w2570fd79y9rb7ikxls1qw29l1lbwk9n2dxxqjslbzrbvv31"; + }; + + preConfigure = '' + ./bootstrap + ''; + + buildInputs = [ ncurses autoconf automake SDL2 SDL2_mixer ]; + + meta = with stdenv.lib; { + description = "A humorous politically themed ncurses game"; + longDescription = '' + Welcome to Liberal Crime Squad! The Conservatives have taken the Executive, Legislative, and Judicial branches of government. Over time, the Liberal laws of this nation will erode and turn the country into a BACKWOODS YET CORPORATE NIGHTMARE. To prevent this from happening, the Liberal Crime Squad was established. The mood of the country is shifting, and we need to turn things around. Go out on the streets and indoctrinate Conservative automatons. That is, let them see their True Liberal Nature. Then arm them and send them forth to Stop Evil. + ''; + homepage = https://github.com/Kamal-Sadek/Liberal-Crime-Squad; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/games/liquidwar/default.nix b/pkgs/games/liquidwar/default.nix index ce346459201d..f97c0ec412fc 100644 --- a/pkgs/games/liquidwar/default.nix +++ b/pkgs/games/liquidwar/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ]; # To avoid problems finding SDL_types.h. - configureFlags = [ "CFLAGS=-I${SDL}/include/SDL" ]; + configureFlags = [ "CFLAGS=-I${SDL.dev}/include/SDL" ]; meta = with stdenv.lib; { description = "Quick tactics game"; diff --git a/pkgs/games/micropolis/default.nix b/pkgs/games/micropolis/default.nix index 55a02e08003d..a294128969c5 100644 --- a/pkgs/games/micropolis/default.nix +++ b/pkgs/games/micropolis/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { preConfigure = '' cd src - sed -i "s@^CFLAGS.*\$@&\nCFLAGS += -I${libXpm}/include/X11@" tk/makefile + sed -i "s@^CFLAGS.*\$@&\nCFLAGS += -I${libXpm.dev}/include/X11@" tk/makefile sed -i "s@^INCLUDES.*\$@&\n\t-I$PWD/tcl \\\\@" sim/makefile ''; diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix index ecd468eaf582..1b201daa371b 100644 --- a/pkgs/games/minetest/default.nix +++ b/pkgs/games/minetest/default.nix @@ -25,7 +25,7 @@ in stdenv.mkDerivation { cmakeFlags = [ "-DENABLE_FREETYPE=1" "-DENABLE_GETTEXT=1" - "-DCURL_INCLUDE_DIR=${curl}/include/curl" + "-DCURL_INCLUDE_DIR=${curl.dev}/include/curl" "-DIRRLICHT_INCLUDE_DIR=${irrlicht}/include/irrlicht" ]; diff --git a/pkgs/games/nexuiz/default.nix b/pkgs/games/nexuiz/default.nix index e40dec3c23fc..0bfebd510c94 100644 --- a/pkgs/games/nexuiz/default.nix +++ b/pkgs/games/nexuiz/default.nix @@ -36,14 +36,14 @@ in stdenv.mkDerivation { ''; NIX_LDFLAGS = '' - -rpath ${zlib}/lib - -rpath ${curl}/lib - -rpath ${libjpeg}/lib - -rpath ${libpng}/lib - -rpath ${libvorbis}/lib - -rpath ${libtheora}/lib - -rpath ${libogg}/lib - -rpath ${libmodplug}/lib + -rpath ${zlib.out}/lib + -rpath ${curl.out}/lib + -rpath ${libjpeg.out}/lib + -rpath ${libpng.out}/lib + -rpath ${libvorbis.out}/lib + -rpath ${libtheora.out}/lib + -rpath ${libogg.out}/lib + -rpath ${libmodplug.out}/lib ''; buildPhase = '' diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix index d75f02c5e941..ec9c928b7982 100644 --- a/pkgs/games/oilrush/default.nix +++ b/pkgs/games/oilrush/default.nix @@ -1,6 +1,8 @@ { stdenv, config, fetchurl, libX11, libXext, libXinerama, libXrandr , libXrender, fontconfig, freetype, openal }: +with { inherit (stdenv.lib) makeLibraryPath; }; + stdenv.mkDerivation { name = "oilrush"; src = @@ -25,25 +27,25 @@ stdenv.mkDerivation { do patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f done - patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\ + patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\ launcher_$arch patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\ libNetwork_$arch.so patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\ libQtCoreUnigine_$arch.so.4 - patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\ + patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\ libQtGuiUnigine_$arch.so.4 patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\ libQtNetworkUnigine_$arch.so.4 - patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\ + patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\ libQtWebKitUnigine_$arch.so.4 patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\ libQtXmlUnigine_$arch.so.4 patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\ libRakNet_$arch.so - patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXinerama}/lib:${libXrandr}/lib\ + patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXinerama libXrandr ]}\ libUnigine_$arch.so - patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXinerama}/lib:${libXrandr}/lib\ + patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXinerama libXrandr ]}\ OilRush_$arch ''; installPhase = '' @@ -53,7 +55,7 @@ stdenv.mkDerivation { mkdir -p "$out/bin" cat << EOF > "$out/bin/oilrush" #! /bin/sh - LD_LIBRARY_PATH=.:${openal}/lib:\$LD_LIBRARY_PATH + LD_LIBRARY_PATH=.:${makeLibraryPath [ openal ]}:\$LD_LIBRARY_PATH cd "$out/opt/oilrush" exec ./launcher_$arch.sh "\$@" EOF diff --git a/pkgs/games/openarena/default.nix b/pkgs/games/openarena/default.nix index 1926afaeb3b6..1e396318bbbd 100644 --- a/pkgs/games/openarena/default.nix +++ b/pkgs/games/openarena/default.nix @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { installPhase = let gameDir = "$out/openarena-$version"; interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")"; + libPath = stdenv.lib.makeLibraryPath [ SDL libogg libvorbis ]; in '' mkdir -pv $out/bin cd $out @@ -23,11 +24,11 @@ stdenv.mkDerivation rec { ${if stdenv.system == "x86_64-linux" then '' patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.x86_64" makeWrapper "${gameDir}/openarena.x86_64" "$out/bin/openarena" \ - --prefix LD_LIBRARY_PATH : "${SDL}/lib:${libogg}/lib:${libvorbis}/lib" + --prefix LD_LIBRARY_PATH : "${libPath}" '' else '' patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.i386" makeWrapper "${gameDir}/openarena.i386" "$out/bin/openarena" \ - --prefix LD_LIBRARY_PATH : "${SDL}/lib:${libogg}/lib:${libvorbis}/lib" + --prefix LD_LIBRARY_PATH : "${libPath}" ''} ''; diff --git a/pkgs/games/openlierox/default.nix b/pkgs/games/openlierox/default.nix index 2dc4dece75f3..04b74b4214fa 100644 --- a/pkgs/games/openlierox/default.nix +++ b/pkgs/games/openlierox/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { sha256 = "1k35xppfqi3qfysv81xq3hj4qdy9j2ciinbkfdcmwclcsf3nh94z"; }; - NIX_CFLAGS_COMPILE = "-I${libxml2}/include/libxml2"; + NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2"; # The breakpad fails to build on x86_64, and it's only to report bugs upstream cmakeFlags = [ "-DBREAKPAD=0" ]; diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix index 29e13aa810a5..2fdd2c7e56cc 100644 --- a/pkgs/games/openmw/default.nix +++ b/pkgs/games/openmw/default.nix @@ -1,34 +1,38 @@ -{ stdenv, fetchFromGitHub, qt4, ogre, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal, pkgconfig }: - -stdenv.mkDerivation rec { - version = "0.36.1"; - name = "openmw-${version}"; - - mygui_ = mygui.overrideDerivation (oldAttrs: { - name = "mygui-3.2.1"; - version = "3.2.1"; +{ stdenv, fetchFromGitHub, qt4, openscenegraph, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal +, giflib, pkgconfig }: +let + openscenegraph_ = openscenegraph.override { + inherit ffmpeg giflib; + withApps = false; + }; + openscenegraph__ = openscenegraph_.overrideDerivation (self: { src = fetchFromGitHub { - owner = "MyGUI"; - repo = "mygui"; - rev = "MyGUI3.2.1"; - sha256 = "1ic4xwyh2akfpqirrbyvicc56yy2r268rzgcgx16yqb4nrldy2p0"; + owner = "OpenMW"; + repo = "osg"; + rev = "a72f43de6e1e4a8191643acb26c3e7138f833798"; + sha256 = "04x2pjfrdz1kaj4i34zpzrmkk018jnr84rb6z646cz5fin3dapyh"; }; }); +in stdenv.mkDerivation rec { + version = "0.38.0"; + name = "openmw-${version}"; src = fetchFromGitHub { owner = "OpenMW"; repo = "openmw"; rev = name; - sha256 = "0yfiilad6izmingc0nhvkvn6dpybps04xwj4k1h13ymip6awm80x"; + sha256 = "1ssz1pa59a34v5vxiccqyvij5s38kl662p7xbc59y90y668f78y6"; }; - buildInputs = [ cmake boost ffmpeg qt4 bullet mygui_ ogre SDL2 unshield openal pkgconfig ]; + enableParallelBuilding = true; + + buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph__ SDL2 unshield openal pkgconfig ]; - meta = { + meta = with stdenv.lib; { description = "An unofficial open source engine reimplementation of the game Morrowind"; homepage = "http://openmw.org"; - license = stdenv.lib.licenses.gpl3; + license = licenses.gpl3; + platforms = platforms.linux; }; - } diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 65fab09d04dd..03f94afd94f2 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -21,11 +21,11 @@ let in stdenv.mkDerivation rec { name = "openttd-${version}"; - version = "1.5.3"; + version = "1.6.0"; src = fetchurl { url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz"; - sha256 = "0qxss5rxzac94z5k16xv84ll0n163sphs88xkgv3z7vwramagffq"; + sha256 = "1cjf9gz7d0sn7893wv9d00q724sxv3d81bgb0c5f5ppz2ssyc4jc"; }; nativeBuildInputs = [ pkgconfig ]; @@ -34,7 +34,6 @@ stdenv.mkDerivation rec { prefixKey = "--prefix-dir="; configureFlags = [ - "--with-zlib=${zlib}/lib/libz.a" "--without-liblzo2" ]; diff --git a/pkgs/games/planetaryannihilation/default.nix b/pkgs/games/planetaryannihilation/default.nix index ed682e7bed93..cf968c08287e 100644 --- a/pkgs/games/planetaryannihilation/default.nix +++ b/pkgs/games/planetaryannihilation/default.nix @@ -34,12 +34,12 @@ stdenv.mkDerivation { ln -s ${systemd}/lib/libudev.so.1 $out/lib/libudev.so.0 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/PA" - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc xorg.libXdamage xorg.libXfixes gtk glib stdenv.glibc "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xorg.libXrender ]}:{stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64" "$out/host/CoherentUI_Host" + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib xorg.libXdamage xorg.libXfixes gtk glib stdenv.glibc.out "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xorg.libXrender ]}:{stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" "$out/host/CoherentUI_Host" - wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc xorg.libX11 xorg.libXcursor gtk glib curl "$out" ]}:${stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64" + wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib stdenv.glibc.out xorg.libX11 xorg.libXcursor gtk glib curl "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" for f in $out/lib/*; do - patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc curl xorg.libX11 stdenv.glibc xorg.libXcursor "$out" ]}:${stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64" $f + patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib curl xorg.libX11 stdenv.glibc.out xorg.libXcursor "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" $f done ''; diff --git a/pkgs/games/quantumminigolf/default.nix b/pkgs/games/quantumminigolf/default.nix index 940351790166..1b0755077965 100644 --- a/pkgs/games/quantumminigolf/default.nix +++ b/pkgs/games/quantumminigolf/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { inherit (s) url sha256; }; preBuild = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL}/include/SDL" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL.dev}/include/SDL" sed -re 's@"(gfx|fonts|tracks)/@"'"$out"'/share/quantumminigolf/\1/@g' -i *.cpp ''; diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix index 7d1273328453..e0e6de6b8efe 100644 --- a/pkgs/games/rili/default.nix +++ b/pkgs/games/rili/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { patches = [ ./moderinze_cpp.patch ]; - CPPFLAGS = "-I${SDL}/include -I${SDL}/include/SDL -I${SDL_mixer}/include"; + CPPFLAGS = "-I${SDL.dev}/include -I${SDL.dev}/include/SDL -I${SDL_mixer}/include"; buildInputs = [ SDL SDL_mixer autoreconfHook ]; diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix index 15b7f87ed10f..5e52a92e621a 100644 --- a/pkgs/games/sdlmame/default.nix +++ b/pkgs/games/sdlmame/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { installPhase = '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${alsaLib}/lib:${qt48}/lib:${SDL}/lib:${fontconfig}/lib:${freetype}/lib:${SDL_ttf}/lib:${xorg.libX11}/lib:${xorg.libXinerama}/lib:${stdenv.cc.cc}/lib" \ + --set-rpath "${stdenv.lib.makeLibraryPath [ alsaLib qt48 SDL fontconfig freetype SDL_ttf xorg.libX11 xorg.libXinerama stdenv.cc.cc ]}" \ share/sdlmame/sdlmame mkdir -p "$out/bin" diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix index 2c41a11ab575..436ac958f344 100644 --- a/pkgs/games/stuntrally/default.nix +++ b/pkgs/games/stuntrally/default.nix @@ -3,18 +3,18 @@ stdenv.mkDerivation rec { name = "stunt-rally-${version}"; - version = "2.5"; + version = "2.6"; src = fetchgit { url = git://github.com/stuntrally/stuntrally.git; rev = "refs/tags/${version}"; - sha256 = "1lsh7z7sjfwpdybg6vbwqx1zxsgbfp2n60n7xl33v225p32qh1qf"; + sha256 = "0rrfmldl6m7igni1n4rv2i0s2q5j1ik8dh05ydkaqrpcky96bdr8"; }; tracks = fetchgit { url = git://github.com/stuntrally/tracks.git; rev = "refs/tags/${version}"; - sha256 = "1614j6q1d2f69l58kkqndndvf6svcghhw8pzc2s1plf6k87h67mg"; + sha256 = "186qqyr1nrabfzsgy7b4sjgm38mgd875f4c7qwkm8k2bl7zjkrm2"; }; preConfigure = '' @@ -34,5 +34,7 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ pSub ]; platforms = platforms.linux; + # Build failure + broken = true; }; } diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix index c1f533276d6e..1af750f462a9 100644 --- a/pkgs/games/tibia/default.nix +++ b/pkgs/games/tibia/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation { mkdir -pv $out/res cp -r * $out/res - patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \ + patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \ --set-rpath ${stdenv.cc.cc}/lib:${libX11}/lib:${mesa}/lib \ "$out/res/Tibia" @@ -41,7 +41,7 @@ stdenv.mkDerivation { cat << EOF > "$out/bin/Tibia" #!${stdenv.shell} cd $out/res - ${glibc}/lib/ld-linux.so.2 --library-path \$LD_LIBRARY_PATH ./Tibia "\$@" + ${glibc.out}/lib/ld-linux.so.2 --library-path \$LD_LIBRARY_PATH ./Tibia "\$@" EOF chmod +x $out/bin/Tibia diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix index 22d8c944fa8b..7cf741f2faba 100644 --- a/pkgs/games/trackballs/default.nix +++ b/pkgs/games/trackballs/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { postUnpack = optionalString debug "mkdir -p $out/src; cp -R * $out/src ; cd $out/src"; - NIX_CFLAGS_COMPILE = "-iquote ${SDL}/include/SDL"; + NIX_CFLAGS_COMPILE = "-iquote ${SDL.dev}/include/SDL"; configureFlags = optionalString debug "--enable-debug"; patchPhase = '' diff --git a/pkgs/games/ue4demos/default.nix b/pkgs/games/ue4demos/default.nix index ed2ea23d4158..026f974ff932 100644 --- a/pkgs/games/ue4demos/default.nix +++ b/pkgs/games/ue4demos/default.nix @@ -20,7 +20,7 @@ let cd $out unzip $src - interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2) + interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2) binary=$(find . -executable -type f) patchelf \ --set-interpreter $interpreter \ diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix index 3eabaa090bb0..5027abedcf4f 100644 --- a/pkgs/games/ultrastardx/default.nix +++ b/pkgs/games/ultrastardx/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { # The fpc is not properly wrapped to add -rpath. I add this manually. # I even do a trick on lib/lib64 for libgcc, that I expect it will work. preBuild = '' - export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL}/lib -rpath ${SDL_image}/lib -rpath ${libpng}/lib -rpath ${freetype}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg}/lib -rpath ${zlib}/lib -rpath ${sqlite}/lib -rpath ${libX11}/lib -rpath ${pcre}/lib -rpath ${lua}/lib -rpath ${stdenv.cc.cc}/lib64 -rpath ${stdenv.cc.cc}/lib" + export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL.out}/lib -rpath ${SDL_image}/lib -rpath ${libpng.out}/lib -rpath ${freetype.out}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg.out}/lib -rpath ${zlib.out}/lib -rpath ${sqlite.out}/lib -rpath ${libX11.out}/lib -rpath ${pcre.out}/lib -rpath ${lua}/lib -rpath ${stdenv.cc.cc.out}/lib64 -rpath ${stdenv.cc.cc.out}/lib" sed -i 414,424d Makefile ''; diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix index b525e3cb0f89..9f2dfbab2ecd 100644 --- a/pkgs/games/warsow/default.nix +++ b/pkgs/games/warsow/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { cp -rv basewsw libs $dest # Since 1.03 some modules are _always_ downloaded from server, thus makeWrapper $dest/warsow $out/bin/warsow \ - --suffix-each LD_LIBRARY_PATH ':' "${freetype}/lib" + --suffix-each LD_LIBRARY_PATH ':' "${freetype.out}/lib" makeWrapper $dest/wsw_server $out/bin/wsw_server makeWrapper $dest/wswtv_server $out/bin/wswtv_server ''; diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix index 7fb7c11694fd..e45bbb20d3a7 100644 --- a/pkgs/games/xonotic/default.nix +++ b/pkgs/games/xonotic/default.nix @@ -32,9 +32,9 @@ stdenv.mkDerivation rec { #''; NIX_LDFLAGS = '' - -rpath ${zlib}/lib - -rpath ${libvorbis}/lib - -rpath ${curl}/lib + -rpath ${zlib.out}/lib + -rpath ${libvorbis.out}/lib + -rpath ${curl.out}/lib ''; buildPhase = '' diff --git a/pkgs/games/xsokoban/default.nix b/pkgs/games/xsokoban/default.nix index e6686a658a90..502771e18ee6 100644 --- a/pkgs/games/xsokoban/default.nix +++ b/pkgs/games/xsokoban/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { preConfigure = '' sed -e 's/getline/my_getline/' -i score.c - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXpm}/include/X11" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXpm.dev}/include/X11" for i in $NIX_CFLAGS_COMPILE; do echo $i; ls ''${i#-I}; done chmod a+rw config.h cat >>config.h <<EOF diff --git a/pkgs/games/zdoom/default.nix b/pkgs/games/zdoom/default.nix index 8feb78ad9693..3a301ed0f2b5 100644 --- a/pkgs/games/zdoom/default.nix +++ b/pkgs/games/zdoom/default.nix @@ -14,10 +14,10 @@ stdenv.mkDerivation { cmakeFlags = [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" - "-DSDL_INCLUDE_DIR=${SDL}/include" + "-DSDL_INCLUDE_DIR=${SDL.dev}/include" ]; - NIX_CFLAGS_COMPILE = [ "-I ${SDL}/include/SDL" ]; + NIX_CFLAGS_COMPILE = [ "-I ${SDL.dev}/include/SDL" ]; preConfigure = '' sed s@zdoom.pk3@$out/share/zdoom.pk3@ -i src/version.h diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 437300650419..ff8a0ec417bc 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -18,8 +18,11 @@ stdenv.mkDerivation { sha256 = "1lyl3z01xhg9xb9c8m42398c6h9kw8qr6jwiv8bjdsjab11hv9rn"; }; + # FIXME: the cups libraries contains some $out/share strings so can't be split. + outputs = [ "dev" "out" "doc" "man" ]; # TODO: above + buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb gnutls libpaper ] - ++ optionals stdenv.isLinux [ avahi pam dbus.libs acl ] + ++ optionals stdenv.isLinux [ avahi pam dbus acl ] ++ optionals stdenv.isDarwin (with darwin; [ configd apple_sdk.frameworks.ApplicationServices ]); @@ -68,6 +71,9 @@ stdenv.mkDerivation { # Delete obsolete stuff that conflicts with cups-filters. rm -rf $out/share/cups/banners $out/share/cups/data/testprint + mkdir $dev/bin + mv $out/bin/cups-config $dev/bin/ + # Rename systemd files provided by CUPS for f in $out/lib/systemd/system/*; do substituteInPlace "$f" \ diff --git a/pkgs/misc/cups/drivers/canon/default.nix b/pkgs/misc/cups/drivers/canon/default.nix index 4c31e8d37d25..779cf9656863 100644 --- a/pkgs/misc/cups/drivers/canon/default.nix +++ b/pkgs/misc/cups/drivers/canon/default.nix @@ -202,10 +202,10 @@ stdenv.mkDerivation rec { cp libs/ThLB* $out/share/ufr2filter ) - patchelf --set-rpath "$out/lib32:${i686_libxml2}/lib" $out/lib32/libcanonufr2.so.1.0.0 + patchelf --set-rpath "$out/lib32:${i686_libxml2.out}/lib" $out/lib32/libcanonufr2.so.1.0.0 patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/cnpkmoduleufr2 - patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32:${i686_libxml2}/lib" $out/bin/cnpkbidi + patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32:${i686_libxml2.out}/lib" $out/bin/cnpkbidi makeWrapper "${ghostscript}/bin/gs" "$out/bin/gs" \ --prefix LD_LIBRARY_PATH ":" "$out/lib" \ diff --git a/pkgs/misc/cups/drivers/mfcj470dw/default.nix b/pkgs/misc/cups/drivers/mfcj470dw/default.nix index d6ce3fbcdc64..b8458ae0af32 100644 --- a/pkgs/misc/cups/drivers/mfcj470dw/default.nix +++ b/pkgs/misc/cups/drivers/mfcj470dw/default.nix @@ -44,8 +44,8 @@ stdenv.mkDerivation rec { --replace expr "${coreutils}/bin/expr" \ --replace rm "${coreutils}/bin/rm" - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/lpd/brmfcj470dwfilter - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/cupswrapper/brcupsconfpt1 + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/lpd/brmfcj470dwfilter + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/cupswrapper/brcupsconfpt1 mkdir -p $out/lib/cups/filter/ ln -s $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw $out/lib/cups/filter/brother_lpdwrapper_mfcj470dw diff --git a/pkgs/misc/drivers/foo2zjs/default.nix b/pkgs/misc/drivers/foo2zjs/default.nix index 2417b0e566de..2547baec4f12 100644 --- a/pkgs/misc/drivers/foo2zjs/default.nix +++ b/pkgs/misc/drivers/foo2zjs/default.nix @@ -1,5 +1,5 @@ x@{builderDefsPackage - , foomatic_filters, bc, unzip, ghostscript, udev, vim + , foomatic_filters, bc, unzip, ghostscript, systemd, vim , ...}: builderDefsPackage (a : @@ -36,7 +36,7 @@ rec { ''PIXMAPS=$out/share/pixmaps'' ''UDEVBIN=$out/bin'' ''UDEVDIR=$out/etc/udev/rules.d'' - ''UDEVD=${udev}/sbin/udevd'' + ''UDEVD=${systemd.udev.bin}/sbin/udevd'' ''LIBUDEVDIR=$out/lib/udev/rules.d'' ''USBDIR=$out/etc/hotplug/usb'' ''FOODB=$out/share/foomatic/db/source'' diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/misc/emulators/mgba/default.nix index ea11e3a33e2b..07470fa54ab4 100644 --- a/pkgs/misc/emulators/mgba/default.nix +++ b/pkgs/misc/emulators/mgba/default.nix @@ -1,22 +1,23 @@ -{ stdenv, fetchurl, pkgconfig, cmake, ffmpeg, imagemagick, libzip, SDL2 +{ stdenv, fetchgit +, pkgconfig, cmake, libzip, epoxy, ffmpeg, imagemagick, SDL2 , qtbase, qtmultimedia }: stdenv.mkDerivation rec { - name = "mgba-${meta.version}"; - src = fetchurl { - url = "https://github.com/mgba-emu/mgba/archive/${meta.version}.tar.gz"; - sha256 = "0z52w4dkgjjviwi6w13gls082zclljgx1sa8nlyb1xcnnrn6980l"; + name = "mgba-git-${version}"; + version = "20160325"; + + src = fetchgit { + url = "https://github.com/mgba-emu/mgba.git"; + rev = "be2641c77b4a438e0db487bc82b43bc27a26e0c2"; + sha256 = "0ygsmmp24w14x5fm2qz2v68p59bs2ravn22axrg2ipn5skkgrvxz"; }; buildInputs = [ - pkgconfig cmake ffmpeg imagemagick libzip SDL2 + pkgconfig cmake libzip epoxy ffmpeg imagemagick SDL2 qtbase qtmultimedia ]; - enableParallelBuilding = true; - meta = with stdenv.lib; { - version = "0.3.1"; homepage = https://mgba.io; description = "A modern GBA emulator with a focus on accuracy"; longDescription = '' @@ -38,4 +39,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ MP2E AndersonTorres ]; }; } - diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix index 35a55a8933ad..07783d016183 100644 --- a/pkgs/misc/emulators/retroarch/cores.nix +++ b/pkgs/misc/emulators/retroarch/cores.nix @@ -207,7 +207,7 @@ in extraBuildInputs = [ libpng SDL ]; }).override { - patchPhase = "sed -i -e 's,SDL_CONFIG=\".*\",SDL_CONFIG=\"${SDL}/bin/sdl-config\",' configure"; + patchPhase = "sed -i -e 's,SDL_CONFIG=\".*\",SDL_CONFIG=\"${SDL.dev}/bin/sdl-config\",' configure"; configurePhase = "./configure"; }; diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index e031627a032d..503e8da6845e 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -1,5 +1,6 @@ { stdenv, lib, pkgArches, name, version, src, monos, geckos, platforms, + pkgconfig, fontforge, makeWrapper, flex, bison, pulseaudioSupport, buildScript ? null, configureFlags ? "" }: @@ -14,24 +15,27 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) { }) // rec { inherit name src configureFlags; - buildInputs = toBuildInputs pkgArches (pkgs: with pkgs; [ - pkgconfig alsaLib lcms2 fontforge libxml2 libxslt makeWrapper flex bison - ]); + nativeBuildInputs = [ + pkgconfig fontforge makeWrapper flex bison + ]; - nativeBuildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [ + buildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [ freetype fontconfig mesa mesa_noglu.osmesa libdrm libpng libjpeg openssl gnutls cups ncurses + alsaLib libxml2 libxslt lcms2 gettext dbus mpg123 openal ]) ++ lib.optional pulseaudioSupport pkgs.libpulseaudio ++ (with pkgs.xorg; [ - xlibsWrapper libXi libXcursor libXinerama libXrandr libXrender libXxf86vm libXcomposite + libXi libXcursor libXinerama libXrandr libXrender libXxf86vm libXcomposite libXext ])); # 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") - ([ stdenv.cc.cc ] ++ nativeBuildInputs); + NIX_LDFLAGS = map (path: "-rpath " + path) ( + map (x: "${x}/lib") ([ stdenv.cc.cc ] ++ buildInputs) + # libpulsecommon.so is linked but not found otherwise + ++ lib.optionals pulseaudioSupport (map (x: "${x}/lib/pulseaudio") (toBuildInputs pkgArches (pkgs: [ pkgs.libpulseaudio ]))) + ); # Don't shrink the ELF RPATHs in order to keep the extra RPATH # elements specified above. diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/misc/emulators/wine/packages.nix index 69275a74b356..206deb01b8bb 100644 --- a/pkgs/misc/emulators/wine/packages.nix +++ b/pkgs/misc/emulators/wine/packages.nix @@ -1,32 +1,36 @@ -{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, +{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686, + overrideCC, wrapCCMulti, gcc49, pulseaudioSupport, wineRelease ? "stable" }: let src = lib.getAttr wineRelease (callPackage ./sources.nix {}); in with src; { - wine32 = import ./base.nix { + wine32 = callPackage_i686 ./base.nix { name = "wine-${version}"; inherit src version pulseaudioSupport; - inherit (pkgsi686Linux) lib stdenv; pkgArches = [ pkgsi686Linux ]; geckos = [ gecko32 ]; monos = [ mono ]; platforms = [ "i686-linux" "x86_64-linux" ]; }; - wine64 = import ./base.nix { + wine64 = callPackage ./base.nix { name = "wine64-${version}"; - inherit src version pulseaudioSupport lib stdenv; + inherit src version pulseaudioSupport; + # FIXME: drop this when GCC is updated to >5.3. + # Corresponding bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140 + stdenv = overrideCC stdenv gcc49; pkgArches = [ pkgs ]; geckos = [ gecko64 ]; monos = [ mono ]; - configureFlags = "--enable-win64"; + configureFlags = [ "--enable-win64" ]; platforms = [ "x86_64-linux" ]; }; - wineWow = import ./base.nix { + wineWow = callPackage ./base.nix { name = "wine-wow-${version}"; - inherit src version pulseaudioSupport lib; - stdenv = stdenv_32bit; + inherit src version pulseaudioSupport; + # FIXME: see above. + stdenv = overrideCC stdenv_32bit (wrapCCMulti gcc49); pkgArches = [ pkgs pkgsi686Linux ]; geckos = [ gecko32 gecko64 ]; monos = [ mono ]; diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix index cd877403d3a0..9ad09ed5dfe1 100644 --- a/pkgs/misc/emulators/wine/sources.nix +++ b/pkgs/misc/emulators/wine/sources.nix @@ -30,9 +30,9 @@ in rec { }; unstable = fetchurl rec { - version = "1.9.4"; + version = "1.9.7"; url = "mirror://sourceforge/wine/wine-${version}.tar.bz2"; - sha256 = "1f5v1gns0xs512a6ym785cn29j8dxdbnxnvkg8v0p1w0p6vfmhbm"; + sha256 = "1v47i0pxqcixnh06x23kzp2dbz1cf3d2sric0bw6xqh54ph5yw29"; inherit (stable) mono; gecko32 = fetchurl rec { version = "2.44"; @@ -48,7 +48,7 @@ in rec { staging = fetchFromGitHub rec { inherit (unstable) version; - sha256 = "0xjxbip0ab1lqgxrww08082ndsb8b5wjfwlf51zlr3f59c9bx9y5"; + sha256 = "1h5hwd07qyx0qw5whf6lcp7v57kqd6mrrcvwwg1bydir68b0zp16"; owner = "wine-compholio"; repo = "wine-staging"; rev = "v${version}"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix index d72afac88fee..b8b436efe24f 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix @@ -73,12 +73,15 @@ in appleDerivation { install -d 0755 $ps/bin install ps $ps/bin/ps + touch "$out" ''; outputs = [ + "out" "ps" "locale" ]; + setOutputFlags = false; # ps uses this syscall to get process info propagatedSandboxProfile = stdenv.lib.sandbox.allow "mach-priv-task-port"; diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix index abe4aa67b143..d671c7c72303 100644 --- a/pkgs/os-specific/darwin/binutils/default.nix +++ b/pkgs/os-specific/darwin/binutils/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { # FIXME: this will give us incorrect man pages for bits of cctools ln -s ${binutils-raw}/share $out/share - ln -s ${binutils-raw}/lib $out/lib + ln -s ${binutils-raw.out}/lib $out/lib ln -s ${cctools}/libexec $out/libexec ''; diff --git a/pkgs/os-specific/darwin/opencflite/default.nix b/pkgs/os-specific/darwin/opencflite/default.nix index a2408bfc5c8a..1cd7f2bf9d6e 100644 --- a/pkgs/os-specific/darwin/opencflite/default.nix +++ b/pkgs/os-specific/darwin/opencflite/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; configureFlags = [ "--with-uuid=${libuuid}" ]; - buildInputs = [ icu tzdata.lib ]; + buildInputs = [ icu tzdata.dev ]; enableParallelBuilding = true; meta = { diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix index c4fd46b3c7da..d2637f99119c 100644 --- a/pkgs/os-specific/linux/alsa-lib/default.nix +++ b/pkgs/os-specific/linux/alsa-lib/default.nix @@ -25,6 +25,8 @@ stdenv.mkDerivation rec { sed -i -e 's/u_int\([0-9]*\)_t/uint\1_t/g' include/pcm.h ''; + outputs = [ "dev" "out" ]; + crossAttrs = { patchPhase = '' sed -i s/extern/static/g include/iatomic.h diff --git a/pkgs/os-specific/linux/apparmor/2.9/default.nix b/pkgs/os-specific/linux/apparmor/2.9/default.nix new file mode 100644 index 000000000000..5e8ccc756918 --- /dev/null +++ b/pkgs/os-specific/linux/apparmor/2.9/default.nix @@ -0,0 +1,183 @@ +{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, perl, which +, glibc, flex, bison, python27, swig, dbus, pam +}: + +let + apparmor-series = "2.9"; + apparmor-patchver = "2"; + apparmor-version = "${apparmor-series}.${apparmor-patchver}"; + + apparmor-meta = component: with stdenv.lib; { + homepage = http://apparmor.net/; + description = "Linux application security system - ${component}"; + license = licenses.gpl2; + maintainers = with maintainers; [ phreedom thoughtpolice joachifm ]; + platforms = platforms.linux; + }; + + apparmor-sources = fetchurl { + url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz"; + sha256 = "1mayly7d7w959fya7z8q6kab2x3jcwhqhkpx36jsvpjhxkhmc4fh"; + }; + + prePatchCommon = '' + substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man" + substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html" + substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${glibc.dev}/include/linux/capability.h" + substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man" + ''; + + libapparmor = stdenv.mkDerivation { + name = "libapparmor-${apparmor-version}"; + src = apparmor-sources; + + buildInputs = [ + autoconf + automake + bison + flex + dbus # requires patch to dbus ... + glibc + libtool + perl + pkgconfig + python27 + swig + which + ]; + + prePatch = prePatchCommon + '' + substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc.dev}/include/netinet/in.h" + substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc.dev}/include/netinet/in.h" + ''; + + buildPhase = '' + cd ./libraries/libapparmor + ./autogen.sh + ./configure --prefix="$out" --with-python --with-perl + make + ''; + + installPhase = '' + make install + ''; + + meta = apparmor-meta "library"; + }; + + apparmor-utils = stdenv.mkDerivation { + name = "apparmor-utils-${apparmor-version}"; + src = apparmor-sources; + + buildInputs = [ + python27 + libapparmor + which + ]; + + prePatch = prePatchCommon; + + buildPhase = '' + cd ./utils + make LANGS="" + ''; + + installPhase = '' + make install LANGS="" DESTDIR="$out" BINDIR="$out/bin" VIM_INSTALL_PATH="$out/share" PYPREFIX="" + ''; + + meta = apparmor-meta "user-land utilities"; + }; + + apparmor-parser = stdenv.mkDerivation { + name = "apparmor-parser-${apparmor-version}"; + src = apparmor-sources; + + buildInputs = [ + libapparmor + bison + flex + which + ]; + + prePatch = prePatchCommon + '' + substituteInPlace ./parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison" + substituteInPlace ./parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex" + substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc.dev}/include/linux/capability.h" + ## techdoc.pdf still doesn't build ... + substituteInPlace ./parser/Makefile --replace "manpages htmlmanpages pdf" "manpages htmlmanpages" + ''; + + buildPhase = '' + cd ./parser + make LANGS="" USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include + ''; + + installPhase = '' + make install LANGS="" USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include DESTDIR="$out" DISTRO="unknown" + ''; + + meta = apparmor-meta "rule parser"; + }; + + apparmor-pam = stdenv.mkDerivation { + name = "apparmor-pam-${apparmor-version}"; + src = apparmor-sources; + + buildInputs = [ + libapparmor + pam + pkgconfig + which + ]; + + buildPhase = '' + cd ./changehat/pam_apparmor + make USE_SYSTEM=1 + ''; + + installPhase = '' + make install DESTDIR="$out" + ''; + + meta = apparmor-meta "PAM service"; + }; + + apparmor-profiles = stdenv.mkDerivation { + name = "apparmor-profiles-${apparmor-version}"; + src = apparmor-sources; + + buildInputs = [ which ]; + + buildPhase = '' + cd ./profiles + make + ''; + + installPhase = '' + make install DESTDIR="$out" EXTRAS_DEST="$out/share/apparmor/extra-profiles" + ''; + + meta = apparmor-meta "profiles"; + }; + + apparmor-kernel-patches = stdenv.mkDerivation { + name = "apparmor-kernel-patches-${apparmor-version}"; + src = apparmor-sources; + + phases = ''unpackPhase installPhase''; + + installPhase = '' + mkdir "$out" + cp -R ./kernel-patches "$out" + ''; + + meta = apparmor-meta "kernel patches"; + }; + +in + +{ + inherit libapparmor apparmor-utils apparmor-parser apparmor-pam + apparmor-profiles apparmor-kernel-patches; +} diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index 64c6f66575b6..49fdbab24caa 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -22,7 +22,7 @@ let prePatchCommon = '' substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man" substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html" - substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h" + substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${glibc.dev}/include/linux/capability.h" substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man" ''; @@ -49,8 +49,8 @@ let dontDisableStatic = true; prePatch = prePatchCommon + '' - substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h" - substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h" + substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc.dev}/include/netinet/in.h" + substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc.dev}/include/netinet/in.h" ''; postPatch = "cd ./libraries/libapparmor"; @@ -104,7 +104,7 @@ let prePatch = prePatchCommon + '' substituteInPlace ./parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison" substituteInPlace ./parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex" - substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h" + substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc.dev}/include/linux/capability.h" ## techdoc.pdf still doesn't build ... substituteInPlace ./parser/Makefile --replace "manpages htmlmanpages pdf" "manpages htmlmanpages" ''; diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index 377297feaf75..78903da1f1a1 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -85,15 +85,17 @@ stdenv.mkDerivation { inherit glibc /* glibc only used for setting interpreter */; + # outputs TODO: probably many fixes are needed; + # this in particular would be much better by lib.makeLibraryPath LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" - [ "${xorg.libXrandr}/lib/" - "${xorg.libXrender}/lib/" - "${xorg.libXext}/lib/" - "${xorg.libX11}/lib/" - "${xorg.libXinerama}/lib/" - "${xorg.libSM}/lib/" - "${xorg.libICE}/lib/" - "${stdenv.cc.cc}/lib/" + [ "${xorg.libXrandr.out}/lib/" + "${xorg.libXrender.out}/lib/" + "${xorg.libXext.out}/lib/" + "${xorg.libX11.out}/lib/" + "${xorg.libXinerama.out}/lib/" + "${xorg.libSM.out}/lib/" + "${xorg.libICE.out}/lib/" + "${stdenv.cc.cc.out}/lib/" ]; # without this some applications like blender don't start, but they start diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix index 2b73dc798c3f..9750a2a76499 100644 --- a/pkgs/os-specific/linux/bluez/bluez5.nix +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { [ pythonDBus pygobject pygobject3 recursivePthLoader ]; buildInputs = - [ pkgconfig dbus.libs glib alsaLib python pythonPackages.wrapPython + [ pkgconfig dbus glib alsaLib python pythonPackages.wrapPython readline libsndfile udev libical # Disables GStreamer; not clear what it gains us other than a # zillion extra dependencies. diff --git a/pkgs/os-specific/linux/bluez/bluez5_28.nix b/pkgs/os-specific/linux/bluez/bluez5_28.nix index 80adc0fd56b8..68db9345bd0e 100644 --- a/pkgs/os-specific/linux/bluez/bluez5_28.nix +++ b/pkgs/os-specific/linux/bluez/bluez5_28.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { [ pythonDBus pygobject pygobject3 recursivePthLoader ]; buildInputs = - [ pkgconfig dbus.libs glib alsaLib python pythonPackages.wrapPython + [ pkgconfig dbus glib alsaLib python pythonPackages.wrapPython readline libsndfile udev libical # Disables GStreamer; not clear what it gains us other than a # zillion extra dependencies. diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index 23e5171d1780..4f30bc19caf8 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ pkgconfig dbus.libs glib libusb alsaLib python makeWrapper + [ pkgconfig dbus glib libusb alsaLib python makeWrapper readline libsndfile # Disables GStreamer; not clear what it gains us other than a # zillion extra dependencies. diff --git a/pkgs/os-specific/linux/cgmanager/default.nix b/pkgs/os-specific/linux/cgmanager/default.nix index 1c79fddeca96..2260ac08b632 100644 --- a/pkgs/os-specific/linux/cgmanager/default.nix +++ b/pkgs/os-specific/linux/cgmanager/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libnih, dbus, pam }: stdenv.mkDerivation rec { - name = "cgmanager-0.39"; + name = "cgmanager-0.41"; src = fetchurl { url = "https://linuxcontainers.org/downloads/cgmanager/${name}.tar.gz"; - sha256 = "0ysv8klnybp727aad2k0aa67s05q027pzfl7rmm0map4nizlhrcy"; + sha256 = "0n5l4g78ifvyfnj8x9xz06mqn4y8j73sgg4xsbak7hiszfz5bc99"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/checksec/default.nix b/pkgs/os-specific/linux/checksec/default.nix index b423dc3a0862..60468538be24 100644 --- a/pkgs/os-specific/linux/checksec/default.nix +++ b/pkgs/os-specific/linux/checksec/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { cp checksec.sh $out/bin/checksec chmod +x $out/bin/checksec substituteInPlace $out/bin/checksec --replace /bin/bash ${stdenv.shell} - substituteInPlace $out/bin/checksec --replace /lib/libc.so.6 ${glibc}/lib/libc.so.6 + substituteInPlace $out/bin/checksec --replace /lib/libc.so.6 ${glibc.out}/lib/libc.so.6 substituteInPlace $out/bin/checksec --replace find ${findutils}/bin/find substituteInPlace $out/bin/checksec --replace "file $" "${file}/bin/file $" substituteInPlace $out/bin/checksec --replace "xargs file" "xargs ${file}/bin/file" diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix index 3c209c6253dd..32905b8ec39f 100644 --- a/pkgs/os-specific/linux/conspy/default.nix +++ b/pkgs/os-specific/linux/conspy/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="conspy"; - version="1.13"; + version="1.14"; name="${baseName}-${version}"; - hash="059sag372n09y1ddb1i0sx013kzkbr8a9pjqk03kyijn8h1z5hl2"; - url="mirror://sourceforge/project/conspy/conspy-1.13-1/conspy-1.13.tar.gz"; - sha256="059sag372n09y1ddb1i0sx013kzkbr8a9pjqk03kyijn8h1z5hl2"; + hash="069k26xpzsvrn3197ix5yd294zvz03zi2xqj4fip6rlsw74habsf"; + url="mirror://sourceforge/project/conspy/conspy-1.14-1/conspy-1.14.tar.gz"; + sha256="069k26xpzsvrn3197ix5yd294zvz03zi2xqj4fip6rlsw74habsf"; }; buildInputs = [ autoconf automake ncurses diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix index 6afaf36bd80a..0d06864df1e5 100644 --- a/pkgs/os-specific/linux/criu/default.nix +++ b/pkgs/os-specific/linux/criu/default.nix @@ -1,27 +1,29 @@ { stdenv, fetchurl, protobuf, protobufc, asciidoc -, xmlto, utillinux, docbook_xsl, libpaper }: +, xmlto, utillinux, docbook_xsl, libpaper, libnl, libcap, pkgconfig +, python }: stdenv.mkDerivation rec { name = "criu-${version}"; - version = "1.3-rc2"; + version = "2.0"; src = fetchurl { url = "http://download.openvz.org/criu/${name}.tar.bz2"; - sha256 = "1h9ii91aq8cja22j3520vg3qb3y9h6c064s4115s2ldylm8jmi0s"; + sha256 = "1zqqshslcf503lqip89azp1zz0i8kb7v19b3dyp52izpak62c1z8"; }; enableParallelBuilding = true; - buildInputs = [ protobuf protobufc asciidoc xmlto libpaper ]; + buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap pkgconfig python ]; patchPhase = '' chmod +w ./scripts/gen-offsets.sh substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" "" substituteInPlace ./Documentation/Makefile --replace "--skip-validation" "--skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl" - substituteInPlace ./Makefile --replace "-Werror" "" + substituteInPlace ./criu/Makefile --replace "-I/usr/include/libnl3" "-I${libnl}/include/libnl3" + substituteInPlace ./Makefile --replace "tar-name := $(shell git tag -l v$(CRIU_VERSION))" "tar-name = 2.0" # --replace "-Werror" "" + ln -sf ${protobuf}/include/google/protobuf/descriptor.proto ./images/google/protobuf/descriptor.proto ''; - configurePhase = "make config PREFIX=$out"; buildPhase = "make PREFIX=$out"; installPhase = '' diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix index d90d6faac396..60615fb1e5be 100644 --- a/pkgs/os-specific/linux/drbd/default.nix +++ b/pkgs/os-specific/linux/drbd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, flex, udev, perl }: +{ stdenv, fetchurl, flex, systemd, perl }: assert stdenv.isLinux; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { preConfigure = '' - export PATH=${udev}/sbin:$PATH + export PATH=${systemd.udev.bin}/sbin:$PATH substituteInPlace user/Makefile.in --replace /sbin/ $out/sbin/ substituteInPlace user/legacy/Makefile.in \ --replace /sbin/ $out/sbin/ \ diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix index 57820f92cc4f..dac0eb0d0f50 100644 --- a/pkgs/os-specific/linux/firejail/default.nix +++ b/pkgs/os-specific/linux/firejail/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="firejail"; - version="0.9.38"; + version="0.9.40"; name="${baseName}-${version}"; - hash="0j0zvff9rwjwxcxddfhgzimjgmr99kd04nl40dllkrv3apv5ag4i"; - url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.38-rc1.tar.bz2"; - sha256="0j0zvff9rwjwxcxddfhgzimjgmr99kd04nl40dllkrv3apv5ag4i"; + hash="1vr0z694wibjkcpmyg7lz68r53z857c8hsb02cqxi4lfkkcmzgh2"; + url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.40-rc1.tar.bz2"; + sha256="1vr0z694wibjkcpmyg7lz68r53z857c8hsb02cqxi4lfkkcmzgh2"; }; buildInputs = [ which diff --git a/pkgs/os-specific/linux/fusionio/util.nix b/pkgs/os-specific/linux/fusionio/util.nix index e2f8d423a61d..e77d596dc6f8 100644 --- a/pkgs/os-specific/linux/fusionio/util.nix +++ b/pkgs/os-specific/linux/fusionio/util.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { cp -r $TMPDIR/{etc,usr/{bin,lib,share}} $out for BIN in $(find $out/bin -type f); do echo Patching $BIN - patchelf --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" --set-rpath "${glibc}/lib:${gcc.cc}/lib:${libuuid}/lib:$out/lib" $BIN + patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" --set-rpath "${glibc.out}/lib:${gcc.cc}/lib:${libuuid}/lib:$out/lib" $BIN # Test our binary to see if it was correctly patched set +e diff --git a/pkgs/os-specific/linux/iptables/1.6.nix b/pkgs/os-specific/linux/iptables/1.6.nix new file mode 100644 index 000000000000..88821a15d73e --- /dev/null +++ b/pkgs/os-specific/linux/iptables/1.6.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, bison, flex, libnetfilter_conntrack, libnftnl, libmnl}: + +stdenv.mkDerivation rec { + name = "iptables-${version}"; + version = "1.6.0"; + + src = fetchurl { + url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2"; + sha256 = "0q0w1x4aijid8wj7dg1ny9fqwll483f1sqw7kvkskd8q1c52mdsb"; + }; + + nativeBuildInputs = [bison flex]; + + buildInputs = [libnetfilter_conntrack libnftnl libmnl]; + + preConfigure = '' + export NIX_LDFLAGS="$NIX_LDFLAGS -lmnl -lnftnl" + ''; + + configureFlags = '' + --enable-devel + --enable-shared + ''; + + meta = { + description = "A program to configure the Linux IP packet filtering ruleset"; + homepage = http://www.netfilter.org/projects/iptables/index.html; + platforms = stdenv.lib.platforms.linux; + downloadPage = "http://www.netfilter.org/projects/iptables/files/"; + updateWalker = true; + inherit version; + }; +} diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix index bb2915958f7c..fddaa84a8240 100644 --- a/pkgs/os-specific/linux/kbd/default.nix +++ b/pkgs/os-specific/linux/kbd/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { # Fix the path to gzip/bzip2. substituteInPlace src/libkeymap/findfile.c \ --replace gzip ${gzip}/bin/gzip \ - --replace bzip2 ${bzip2}/bin/bzip2 \ + --replace bzip2 ${bzip2.bin}/bin/bzip2 \ # We get a warning in armv5tel-linux and the fuloong2f, so we # disable -Werror in it. diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index e3edaa43b8cd..ea9eb4d551b0 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.6-rc2"; - modDirVersion = "4.6.0-rc2"; + version = "4.6-rc3"; + modDirVersion = "4.6.0-rc3"; extraMeta.branch = "4.6"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz"; - sha256 = "0zihk9s1rkgmn0ghiz9xkg0w88w524af5mmad45rbxhm5751nxcr"; + sha256 = "1vhvhbldk5pvwxhdndyzvyqy5mscpnlz09sfyh2c9rk6wc1hc8xv"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 67342d4ab8ae..ffe09cc2fee5 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -74,7 +74,7 @@ let installsFirmware = (config.isEnabled "FW_LOADER") && (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL")); - in (optionalAttrs isModular { outputs = [ "out" "dev" ]; }) // { + in (optionalAttrs isModular { outputs = [ "out" "dev" ]; propagatedBuildOutputs = ""; }) // { passthru = { inherit version modDirVersion config kernelPatches configfile; }; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index a23ee7823a61..707ebb544bf4 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -154,4 +154,8 @@ rec { { name = "mfd_fix_dependency"; patch = ./chromiumos-patches/mfd-fix-dependency.patch; }; + qat_common_Makefile = + { name = "qat_common_Makefile"; + patch = ./qat_common_Makefile.patch; + }; } diff --git a/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch b/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch new file mode 100644 index 000000000000..2d4476a7fe50 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch @@ -0,0 +1,10 @@ +--- a/drivers/crypto/qat/qat_common/Makefile ++++ b/drivers/crypto/qat/qat_common/Makefile +@@ -2,6 +2,7 @@ + $(obj)/qat_rsapubkey-asn1.h + $(obj)/qat_rsaprivkey-asn1.o: $(obj)/qat_rsaprivkey-asn1.c \ + $(obj)/qat_rsaprivkey-asn1.h ++$(obj)/qat_asym_algs.o: $(obj)/qat_rsaprivkey-asn1.h $(obj)/qat_rsapubkey-asn1.h + + clean-files += qat_rsapubkey-asn1.c qat_rsapubkey-asn1.h + clean-files += qat_rsaprivkey-asn1.c qat_rsapvivkey-asn1.h diff --git a/pkgs/os-specific/linux/klibc/shrunk.nix b/pkgs/os-specific/linux/klibc/shrunk.nix index 066b4fcb4e06..2ce833d104fd 100644 --- a/pkgs/os-specific/linux/klibc/shrunk.nix +++ b/pkgs/os-specific/linux/klibc/shrunk.nix @@ -8,10 +8,10 @@ stdenv.mkDerivation { name = "${klibc.name}"; buildCommand = '' mkdir -p $out/lib - cp -prd ${klibc}/lib/klibc/bin $out/ - cp -p ${klibc}/lib/*.so $out/lib/ + cp -prd ${klibc.out}/lib/klibc/bin $out/ + cp -p ${klibc.out}/lib/*.so $out/lib/ chmod +w $out/* - old=$(echo ${klibc}/lib/klibc-*.so) + old=$(echo ${klibc.out}/lib/klibc-*.so) new=$(echo $out/lib/klibc-*.so) for i in $out/bin/*; do echo $i diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix index 8157270d67d7..c8484babcdf8 100644 --- a/pkgs/os-specific/linux/libcap/default.nix +++ b/pkgs/os-specific/linux/libcap/default.nix @@ -3,12 +3,14 @@ stdenv.mkDerivation rec { name = "libcap-${version}"; version = "2.24"; - + src = fetchurl { url = "mirror://kernel/linux/libs/security/linux-privs/libcap2/${name}.tar.xz"; sha256 = "0rbc9qbqs5bp9am9s9g83wxj5k4ixps2agy9dxr1v1fwg27mdr6f"; }; - + + outputs = [ "dev" "out" ]; + nativeBuildInputs = [ perl ]; propagatedBuildInputs = [ attr ]; @@ -16,14 +18,11 @@ stdenv.mkDerivation rec { makeFlags = "lib=lib prefix=$(out)"; - passthru = { - postinst = n : '' - mkdir -p $out/share/doc/${n} - cp ../License $out/share/doc/${n}/License - ''; - }; - - postInstall = passthru.postinst name; + postInstall = '' + rm "$out"/lib/*.a + mkdir -p "$dev/share/doc/${name}" + cp ../License "$dev/share/doc/${name}/License" + ''; meta = { description = "Library for working with POSIX capabilities"; diff --git a/pkgs/os-specific/linux/libcap/man.nix b/pkgs/os-specific/linux/libcap/man.nix index 9aac3c4e1f5a..eeb780f095bd 100644 --- a/pkgs/os-specific/linux/libcap/man.nix +++ b/pkgs/os-specific/linux/libcap/man.nix @@ -10,6 +10,4 @@ stdenv.mkDerivation rec { makeFlags = "MANDIR=$(out)/share/man"; preConfigure = "cd doc"; - - postInstall = libcap.postinst name; } diff --git a/pkgs/os-specific/linux/libcap/pam.nix b/pkgs/os-specific/linux/libcap/pam.nix index b78f32dccbb4..3dd7cd947af2 100644 --- a/pkgs/os-specific/linux/libcap/pam.nix +++ b/pkgs/os-specific/linux/libcap/pam.nix @@ -12,6 +12,4 @@ stdenv.mkDerivation rec { preConfigure = "cd pam_cap"; makeFlags = "${libcap.makeFlags} PAM_CAP=yes"; - - postInstall = libcap.postinst name; } diff --git a/pkgs/os-specific/linux/libcap/progs.nix b/pkgs/os-specific/linux/libcap/progs.nix index ae4446c82e6c..e3871f15f885 100644 --- a/pkgs/os-specific/linux/libcap/progs.nix +++ b/pkgs/os-specific/linux/libcap/progs.nix @@ -21,5 +21,8 @@ stdenv.mkDerivation rec { installFlags = "RAISE_SETFCAP=no"; - postInstall = libcap.postinst name; + postInstall = '' + mkdir -p "$out/share/doc/${name}" + cp ../License "$out/share/doc/${name}/" + ''; } diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix index afd9695420e3..1e1ed0a6112c 100644 --- a/pkgs/os-specific/linux/libnl/default.nix +++ b/pkgs/os-specific/linux/libnl/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation { owner = "thom311"; }; + outputs = [ "dev" "bin" "out" "man" ]; + nativeBuildInputs = [ autoreconfHook bison flex pkgconfig ]; meta = { diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 351c2f609814..9147cb813714 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }: +{ stdenv, fetchurl, pkgconfig, systemd, libudev, utillinux, coreutils, enable_dmeventd ? false }: let version = "2.02.140"; @@ -22,7 +22,7 @@ stdenv.mkDerivation { ] ++ stdenv.lib.optional enable_dmeventd " --enable-dmeventd"; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ udev ]; + buildInputs = [ libudev ]; preConfigure = '' @@ -30,7 +30,7 @@ stdenv.mkDerivation { --replace /usr/bin/tr ${coreutils}/bin/tr substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \ --replace /usr/sbin/lvm $out/sbin/lvm \ - --replace /usr/bin/udevadm ${udev}/bin/udevadm + --replace /usr/bin/udevadm ${systemd.udev.bin}/bin/udevadm sed -i /DEFAULT_SYS_DIR/d Makefile.in sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index fcfe4975fd72..4ac5d0c7951c 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -12,11 +12,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "lxc-${version}"; - version = "1.1.5"; + version = "2.0.0"; src = fetchurl { url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz"; - sha256 = "1gnhgs4i2zamfdydj895inr9i072658wd47nf1ryw5710hdsv24m"; + sha256 = "1r0hgk91n3frrmla1681l74ag5sngbbkdagvjfqzxwcf9l8pwwsv"; }; nativeBuildInputs = [ @@ -29,10 +29,6 @@ stdenv.mkDerivation rec { patches = [ ./support-db2x.patch - (fetchpatch { - url = "https://github.com/lxc/lxc/commit/3db8dd39a797f87f8b348f1b6b44953a25f3f170.patch"; - sha256 = "0scbzm9dqqhqsl0ri8da8a34r4qj9ph0cg68l9s7gw01vpvqbs8l"; - }) ]; XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml"; @@ -40,7 +36,6 @@ stdenv.mkDerivation rec { configureFlags = [ "--localstatedir=/var" "--sysconfdir=/etc" - "--enable-doc" "--disable-api-docs" "--with-init-script=none" "--with-distro=nixos" # just to be sure it is "unknown" diff --git a/pkgs/os-specific/linux/lxc/support-db2x.patch b/pkgs/os-specific/linux/lxc/support-db2x.patch index 4662ca2e5048..16715992d35f 100644 --- a/pkgs/os-specific/linux/lxc/support-db2x.patch +++ b/pkgs/os-specific/linux/lxc/support-db2x.patch @@ -1,8 +1,8 @@ diff --git a/configure.ac b/configure.ac -index 92a4690..4dd341b 100644 +index 84f8699..dce9033 100644 --- a/configure.ac +++ b/configure.ac -@@ -91,9 +91,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then +@@ -192,9 +192,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then AC_SUBST(db2xman) fi AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"]) diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index 465dc58199ed..3fe9d462412c 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { # This is to avoid self-references, which causes the initrd to explode # in size and in turn prevents mdraid systems from booting. - allowedReferences = [ stdenv.glibc ]; + allowedReferences = [ stdenv.glibc.out ]; patches = [ ./no-self-references.patch ]; diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix index 1302d7b1fef0..ded6e77e43b4 100644 --- a/pkgs/os-specific/linux/module-init-tools/default.nix +++ b/pkgs/os-specific/linux/module-init-tools/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, docbook2x, docbook_sgml_dtd_41 }: +assert (stdenv.lib.elem stdenv.system stdenv.lib.platforms.linux); + stdenv.mkDerivation { name = "module-init-tools-3.16"; @@ -20,6 +22,8 @@ stdenv.mkDerivation { }) ]; + buildInputs = [ stdenv.glibc.dev stdenv.glibc.static ]; + SGML_CATALOG_FILES = "${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat"; patches = [ ./module-dir.patch ./docbook2man.patch ]; @@ -29,5 +33,6 @@ stdenv.mkDerivation { meta = { homepage = http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/; description = "Tools for loading and managing Linux kernel modules"; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix index 0dde3bca4e47..504d3790d868 100644 --- a/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/pkgs/os-specific/linux/nfs-utils/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { "--with-statedir=/var/lib/nfs" "--with-tirpcinclude=${libtirpc}/include/tirpc" ] - ++ stdenv.lib.optional (stdenv ? glibc) "--with-rpcgen=${stdenv.glibc}/bin/rpcgen"; + ++ stdenv.lib.optional (stdenv ? glibc) "--with-rpcgen=${stdenv.glibc.bin}/bin/rpcgen"; patchPhase = '' diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index f7cadd469d70..d84c6224eebe 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -9,10 +9,14 @@ stdenv.mkDerivation rec { sha256 = "1n9lnf9gjs72kbj1g354v1xhi2j27aqaah15vykh7cnkq08i4arl"; }; + outputs = [ "out" "doc" "man" /* "modules" */ ]; + nativeBuildInputs = [ flex ]; buildInputs = [ cracklib ]; + enableParallelBuilding = true; + crossAttrs = { propagatedBuildInputs = [ flex.crossDrv cracklib.crossDrv ]; preConfigure = preConfigure + '' @@ -31,7 +35,14 @@ stdenv.mkDerivation rec { postInstall = '' mv -v $out/sbin/unix_chkpwd{,.orig} ln -sv /var/setuid-wrappers/unix_chkpwd $out/sbin/unix_chkpwd - ''; + ''; /* + rm -rf $out/etc + mkdir -p $modules/lib + mv $out/lib/security $modules/lib/ + '';*/ + # don't move modules, because libpam needs to (be able to) find them, + # which is done by dlopening $out/lib/security/pam_foo.so + # $out/etc was also missed: pam_env(login:session): Unable to open config file preConfigure = '' configureFlags="$configureFlags --includedir=$out/include/security" diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index f928dc8e657c..321e94e3aaf4 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { preBuild = assert glibc != null; '' - substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc}/sbin/nscd + substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc.bin}/bin/nscd ''; postInstall = diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index c9a594e684cf..8296ec62c5b2 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -3,10 +3,10 @@ let inherit (stdenv.lib) optional optionalString; s = rec { baseName="sysdig"; - version = "0.8.0"; + version = "0.9.0"; name="${baseName}-${version}"; url="https://github.com/draios/sysdig/archive/${version}.tar.gz"; - sha256 = "1939k3clwxg09m1bn0szqiy2nxg66srl72n7476jc58hgaraq3dr"; + sha256 = "198x1zmlydvi4i1sfvs8xjh9z5pb47l6xs4phrnkwwak46rhka3j"; }; buildInputs = [ cmake zlib luajit ncurses perl jsoncpp libb64 openssl curl diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix index 6544210b2067..16431c465c16 100644 --- a/pkgs/os-specific/linux/sysstat/default.nix +++ b/pkgs/os-specific/linux/sysstat/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { preConfigure = '' export PATH_CP=$(type -tp cp) export PATH_CHKCONFIG=/no-such-program - export BZIP=${bzip2}/bin/bzip2 + export BZIP=${bzip2.bin}/bin/bzip2 export SYSTEMCTL=systemctl ''; diff --git a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix new file mode 100644 index 000000000000..2935990755c6 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix @@ -0,0 +1,25 @@ +{ stdenv, systemd, cryptsetup }: + +assert stdenv.isLinux; + +stdenv.lib.overrideDerivation systemd (p: { + version = p.version; + name = "systemd-cryptsetup-generator"; + + nativeBuildInputs = p.nativeBuildInputs ++ [ cryptsetup ]; + outputs = [ "out" ]; + + buildPhase = '' + make $makeFlags built-sources + make $makeFlags systemd-cryptsetup + make $makeFlags systemd-cryptsetup-generator + ''; + + installPhase = '' + mkdir -p $out/lib/systemd/ + cp systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup + + mkdir -p $out/lib/systemd/system-generators/ + cp systemd-cryptsetup-generator $out/lib/systemd/system-generators/systemd-cryptsetup-generator + ''; +}) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index cb1521a4005e..0f066e380c1b 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, pkgconfig, intltool, gperf, libcap, dbus, kmod -, xz, pam, acl, cryptsetup, libuuid, m4, utillinuxMinimal +{ stdenv, fetchFromGitHub, pkgconfig, intltool, gperf, libcap, kmod +, zlib, xz, pam, acl, cryptsetup, libuuid, m4, utillinux, libffi , glib, kbd, libxslt, coreutils, libgcrypt, libgpgerror, libapparmor, audit, lz4 , kexectools, libmicrohttpd, linuxHeaders, libseccomp , autoreconfHook, gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 @@ -19,18 +19,27 @@ stdenv.mkDerivation rec { sha256 = "1q0pyrljmq73qcan9rfqsiw66l1g159m5in5qgb8zwlwhl928670"; }; - outputs = [ "out" "man" "doc" ]; + patches = [ ./hwdb-location.diff ]; + + /* gave up for now! + outputs = [ "out" "libudev" "doc" ]; # maybe: "dev" + # note: there are many references to ${systemd}/... + outputDev = "out"; + propagatedBuildOutputs = "libudev"; + */ + outputs = [ "out" "man" ]; buildInputs = [ linuxHeaders pkgconfig intltool gperf libcap kmod xz pam acl /* cryptsetup */ libuuid m4 glib libxslt libgcrypt libgpgerror - libmicrohttpd kexectools libseccomp audit lz4 libapparmor + libmicrohttpd kexectools libseccomp libffi audit lz4 libapparmor /* FIXME: we may be able to prevent the following dependencies by generating an autoconf'd tarball, but that's probably not worth it. */ autoreconfHook gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45 ]; + configureFlags = [ "--localstatedir=/var" "--sysconfdir=/etc" @@ -74,14 +83,15 @@ stdenv.mkDerivation rec { for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c src/shared/generator.c; do test -e $i substituteInPlace $i \ - --replace /usr/bin/getent ${stdenv.glibc}/bin/getent \ - --replace /bin/mount ${utillinuxMinimal}/bin/mount \ - --replace /bin/umount ${utillinuxMinimal}/bin/umount \ - --replace /sbin/swapon ${utillinuxMinimal}/sbin/swapon \ - --replace /sbin/swapoff ${utillinuxMinimal}/sbin/swapoff \ + --replace /usr/bin/getent ${stdenv.glibc.bin}/bin/getent \ + --replace /bin/mount ${utillinux.bin}/bin/mount \ + --replace /bin/umount ${utillinux.bin}/bin/umount \ + --replace /sbin/swapon ${utillinux.bin}/sbin/swapon \ + --replace /sbin/swapoff ${utillinux.bin}/sbin/swapoff \ + --replace /sbin/fsck ${utillinux.bin}/sbin/fsck \ --replace /bin/echo ${coreutils}/bin/echo \ --replace /bin/cat ${coreutils}/bin/cat \ - --replace /sbin/sulogin ${utillinuxMinimal}/sbin/sulogin \ + --replace /sbin/sulogin ${utillinux.bin}/sbin/sulogin \ --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck done @@ -89,12 +99,24 @@ stdenv.mkDerivation rec { --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ configureFlagsArray+=("--with-ntp-servers=0.nixos.pool.ntp.org 1.nixos.pool.ntp.org 2.nixos.pool.ntp.org 3.nixos.pool.ntp.org") + + #export NIX_CFLAGS_LINK+=" -Wl,-rpath,$libudev/lib" ''; + /* + makeFlags = [ + "udevlibexecdir=$(libudev)/lib/udev" + # udev rules refer to $out, and anything but libs should probably go to $out + "udevrulesdir=$(out)/lib/udev/rules.d" + "udevhwdbdir=$(out)/lib/udev/hwdb.d" + ]; + */ + + PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python NIX_CFLAGS_COMPILE = - [ # Can't say ${polkit}/bin/pkttyagent here because that would + [ # Can't say ${polkit.bin}/bin/pkttyagent here because that would # lead to a cyclic dependency. "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\"" "-fno-stack-protector" @@ -147,8 +169,30 @@ stdenv.mkDerivation rec { # "kernel-install" shouldn't be used on NixOS. find $out -name "*kernel-install*" -exec rm {} \; ''; # */ + /* + # Move lib(g)udev to a separate output. TODO: maybe split them up + # to avoid libudev pulling glib + mkdir -p "$libudev/lib" + mv "$out"/lib/lib{,g}udev* "$libudev/lib/" + + for i in "$libudev"/lib/*.la; do + substituteInPlace $i --replace "$out" "$libudev" + done + for i in "$out"/lib/pkgconfig/{libudev,gudev-1.0}.pc; do + substituteInPlace $i --replace "libdir=$out" "libdir=$libudev" + done + */ enableParallelBuilding = true; + /* + # some libs fail to link to liblzma and/or libffi + postFixup = let extraLibs = stdenv.lib.makeLibraryPath [ xz.out libffi.out zlib.out ]; + in '' + for f in "$out"/lib/*.so.0.*; do + patchelf --set-rpath `patchelf --print-rpath "$f"`':${extraLibs}' "$f" + done + ''; + */ # The interface version prevents NixOS from switching to an # incompatible systemd at runtime. (Switching across reboots is @@ -165,3 +209,4 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.simons ]; }; } + diff --git a/pkgs/os-specific/linux/systemd/hwdb-location.diff b/pkgs/os-specific/linux/systemd/hwdb-location.diff new file mode 100644 index 000000000000..31e7a027f50d --- /dev/null +++ b/pkgs/os-specific/linux/systemd/hwdb-location.diff @@ -0,0 +1,19 @@ +diff --git a/src/libsystemd/sd-hwdb/sd-hwdb.c b/src/libsystemd/sd-hwdb/sd-hwdb.c +index 06c9831..e74825c 100644 +--- a/src/libsystemd/sd-hwdb/sd-hwdb.c ++++ b/src/libsystemd/sd-hwdb/sd-hwdb.c +@@ -268,13 +268,8 @@ static int trie_search_f(sd_hwdb *hwdb, const char *search) { + } + + static const char hwdb_bin_paths[] = +- "/etc/systemd/hwdb/hwdb.bin\0" + "/etc/udev/hwdb.bin\0" +- "/usr/lib/systemd/hwdb/hwdb.bin\0" +-#ifdef HAVE_SPLIT_USR +- "/lib/systemd/hwdb/hwdb.bin\0" +-#endif +- UDEVLIBEXECDIR "/hwdb.bin\0"; ++ ; + + _public_ int sd_hwdb_new(sd_hwdb **ret) { + _cleanup_hwdb_unref_ sd_hwdb *hwdb = NULL; diff --git a/pkgs/os-specific/linux/systemd/libudev.nix b/pkgs/os-specific/linux/systemd/libudev.nix new file mode 100644 index 000000000000..0fe45aee9164 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/libudev.nix @@ -0,0 +1,19 @@ +{ stdenv, systemd }: + +stdenv.mkDerivation { + name = "libudev-${systemd.version}"; + + unpackPhase = ":"; + outputs = [ "dev" "out" ]; + installPhase = '' + mkdir -p "$out/lib" "$dev/lib/pkgconfig" "$dev/include" + cp -P "${systemd}"/lib/libudev.* "$out/lib/" + cp -P "${systemd}"/lib/pkgconfig/libudev.pc "$dev/lib/pkgconfig/" + cp -P "${systemd}"/include/libudev.h "$dev/include/" + + substituteInPlace "$dev"/lib/pkgconfig/*.pc \ + --replace "${systemd}" "$out" + sed "/^includedir=/cincludedir=$dev/include" -i "$dev"/lib/pkgconfig/*.pc + ''; +} + diff --git a/pkgs/os-specific/linux/udev/145.nix b/pkgs/os-specific/linux/udev/145.nix new file mode 100644 index 000000000000..6dd551e1ce13 --- /dev/null +++ b/pkgs/os-specific/linux/udev/145.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchurl, gperf, pkgconfig, glib, acl, libusb, usbutils, pciutils }: + +assert stdenv ? glibc; + +stdenv.mkDerivation rec { + name = "udev-145"; + + src = fetchurl { + url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2"; + sha256 = "1zmibp6n7d582fqx8vmg9vb2a1435hghfpz36056bc25ccwf7yiv"; + }; + + buildInputs = [gperf pkgconfig glib acl libusb usbutils]; + + configureFlags = "--with-pci-ids-path=${pciutils}/share/pci.ids"; + + preConfigure = + '' + substituteInPlace extras/keymap/Makefile.in \ + --replace /usr/include ${stdenv.glibc.dev}/include + ''; + + postInstall = + '' + # Install some rules that really should be installed by default. + for i in 40-alsa.rules 40-infiniband.rules 40-isdn.rules 40-pilot-links.rules 64-device-mapper.rules 64-md-raid.rules; do + cp rules/packages/$i $out/libexec/rules.d/ + done + + # The path to rule_generator.functions in write_cd_rules and + # write_net_rules is broken. Also, don't store the mutable + # persistant rules in /etc/udev/rules.d but in + # /var/lib/udev/rules.d. + for i in $out/libexec/write_cd_rules $out/libexec/write_net_rules; do + substituteInPlace $i \ + --replace /lib/udev $out/libexec \ + --replace /etc/udev/rules.d /var/lib/udev/rules.d + done + + # Don't set PATH to /bin:/sbin; won't work in NixOS. + substituteInPlace $out/libexec/rule_generator.functions \ + --replace 'PATH=' '#PATH=' + + # Don't hardcore the FIRMWARE_DIRS variable; obtain it from the + # environment of the caller. + sed '3,4d' -i $out/libexec/firmware.sh + ''; + + meta = { + homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html; + description = "Udev manages the /dev filesystem"; + }; +} diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index a84740b1a30b..263fa4490dc8 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -1,6 +1,4 @@ -{ stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam, systemd ? null -, pkgconfig -}: +{ stdenv, fetchurl, pkgconfig, zlib, ncurses ? null, perl ? null, pam, systemd }: stdenv.mkDerivation rec { name = "util-linux-2.27.1"; @@ -10,12 +8,15 @@ stdenv.mkDerivation rec { sha256 = "1452hz5zx56a3mad8yrg5wb0vy5zi19mpjp6zx1yr6p9xp6qz08a"; }; - outputs = [ "out" "man" ]; - patches = [ ./rtcwake-search-PATH-for-shutdown.patch ]; + outputs = [ "bin" "out" "man" ]; # TODO: $bin is kept the first for now + # due to lots of ${utillinux}/bin occurences and headers being rather small + outputDev = "bin"; + + #FIXME: make it also work on non-nixos? postPatch = '' # Substituting store paths would create a circular dependency on systemd @@ -46,6 +47,9 @@ stdenv.mkDerivation rec { ''} ''; + makeFlags = "usrbin_execdir=$(bin)/bin usrsbin_execdir=$(bin)/sbin"; + + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ zlib pam ] ++ stdenv.lib.optional (ncurses != null) ncurses @@ -53,15 +57,16 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (perl != null) perl; postInstall = '' - rm $out/bin/su # su should be supplied by the su package (shadow) + rm "$bin/bin/su" # su should be supplied by the su package (shadow) ''; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.kernel.org/pub/linux/utils/util-linux/; description = "A set of system utilities for Linux"; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; # also contains parts under more permissive licenses + platforms = platforms.linux; priority = 6; # lower priority than coreutils ("kill") and shadow ("login" etc.) packages }; } diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix index d11ef186c319..646e50c78f95 100644 --- a/pkgs/servers/dns/nsd/default.nix +++ b/pkgs/servers/dns/nsd/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { ++ edf rootServer "root-server" ++ edf rrtypes "draft-rrtypes" ++ edf zoneStats "zone-stats" - ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ]; + ++ [ "--with-ssl=${openssl.dev}" "--with-libevent=${libevent.dev}" ]; meta = with stdenv.lib; { homepage = http://www.nlnetlabs.nl; diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix index 99d6fe12aa1c..bb4fa9782d6a 100644 --- a/pkgs/servers/http/apache-httpd/2.2.nix +++ b/pkgs/servers/http/apache-httpd/2.2.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, perl, zlib +{ stdenv, fetchurl, pkgconfig, openssl, perl, zlib , sslSupport, proxySupport ? true , apr, aprutil, pcre , ldapSupport ? true, openldap @@ -20,17 +20,24 @@ stdenv.mkDerivation rec { sha256 = "1b165zi7jrrlz5wmyy3b34lcs3dl4g0dymfb0qxwdnimylcrsbzk"; }; - buildInputs = [perl apr aprutil pcre] ++ - stdenv.lib.optional sslSupport openssl; + # FIXME: -dev depends on -doc + outputs = [ "dev" "out" "doc" ]; + setOutputFlags = false; # it would move $out/modules, etc. - # An apr-util header file includes an apr header file - # through #include "" (quotes) - # passing simply CFLAGS did not help, then I go by NIX_CFLAGS_COMPILE - NIX_CFLAGS_COMPILE = "-iquote ${apr}/include/apr-1"; + propagatedBuildInputs = [ apr ]; # otherwise mod_* fail to find includes often + buildInputs = [ pkgconfig perl aprutil pcre zlib ] ++ + stdenv.lib.optional sslSupport openssl; # Required for ‘pthread_cancel’. NIX_LDFLAGS = (if stdenv.isDarwin then "" else "-lgcc_s"); + patchPhase = '' + sed -i config.layout -e "s|installbuilddir:.*|installbuilddir: $dev/share/build|" + ''; + + preConfigure = '' + configureFlags="$configureFlags --includedir=$dev/include" + ''; configureFlags = '' --with-z=${zlib} --with-pcre=${pcre} @@ -44,13 +51,18 @@ stdenv.mkDerivation rec { --enable-disk-cache --enable-file-cache --enable-mem-cache + --docdir=$(doc)/share/doc ''; enableParallelBuilding = true; + stripDebugList = "lib modules bin"; + postInstall = '' - echo "removing manual" - rm -rf $out/manual + mkdir -p $doc/share/doc/httpd + mv $out/manual $doc/share/doc/httpd + mkdir -p $dev/bin + mv $out/bin/apxs $dev/bin/apxs ''; passthru = { diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix index a2e039bd399f..a39d0e8e3158 100644 --- a/pkgs/servers/http/apache-httpd/2.4.nix +++ b/pkgs/servers/http/apache-httpd/2.4.nix @@ -24,15 +24,27 @@ stdenv.mkDerivation rec { sha256 = "0k7xm6ldzvakzq39nw6b39190ihlkc28all2gkvckxa1vr8b0i06"; }; + # FIXME: -dev depends on -doc + outputs = [ "dev" "out" "doc" ]; + setOutputFlags = false; # it would move $out/modules, etc. + buildInputs = [perl] ++ + optional sslSupport openssl ++ optional ldapSupport openldap ++ # there is no --with-ldap flag optional libxml2Support libxml2 ++ optional http2Support libnghttp2 ++ optional stdenv.isDarwin libiconv; + patchPhase = '' + sed -i config.layout -e "s|installbuilddir:.*|installbuilddir: $dev/share/build|" + ''; + # Required for ‘pthread_cancel’. NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; + preConfigure = '' + configureFlags="$configureFlags --includedir=$dev/include" + ''; configureFlags = '' --with-apr=${apr} --with-apr-util=${aprutil} @@ -46,19 +58,22 @@ stdenv.mkDerivation rec { --enable-imagemap --enable-cgi ${optionalString proxySupport "--enable-proxy"} - ${optionalString sslSupport "--enable-ssl --with-ssl=${openssl}"} + ${optionalString sslSupport "--enable-ssl"} ${optionalString http2Support "--enable-http2 --with-nghttp2=${libnghttp2}"} ${optionalString luaSupport "--enable-lua --with-lua=${lua5}"} - ${optionalString libxml2Support "--with-libxml2=${libxml2}/include/libxml2"} + ${optionalString libxml2Support "--with-libxml2=${libxml2.dev}/include/libxml2"} + --docdir=$(doc)/share/doc ''; + enableParallelBuilding = true; + postInstall = '' - echo "removing manual" - rm -rf $out/manual + mkdir -p $doc/share/doc/httpd + mv $out/manual $doc/share/doc/httpd + mkdir -p $dev/bin + mv $out/bin/apxs $dev/bin/apxs ''; - enableParallelBuilding = true; - passthru = { inherit apr aprutil sslSupport proxySupport ldapSupport; }; diff --git a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix index e70c3105408f..178900570d07 100644 --- a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix +++ b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { preBuild = '' cp Makefile.AP2 Makefile - makeFlags="top_dir=${apacheHttpd} prefix=$out" + makeFlags="top_dir=${apacheHttpd}/share prefix=$out" ''; meta = { diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix index 178c0fcbd9e4..b3bc092dc401 100644 --- a/pkgs/servers/http/nginx/default.nix +++ b/pkgs/servers/http/nginx/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { [ "--with-file-aio" "--with-aio_module" ] ++ map (mod: "--add-module=${mod.src}") modules; - NIX_CFLAGS_COMPILE = [ "-I${libxml2}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations -Wno-error=conditional-uninitialized"; + NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations -Wno-error=conditional-uninitialized"; preConfigure = (concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules) + optionalString (hardening && (stdenv.cc.cc.isGNU or false)) '' diff --git a/pkgs/servers/http/nginx/unstable.nix b/pkgs/servers/http/nginx/unstable.nix index e85fb96d2edb..5af882bac52b 100644 --- a/pkgs/servers/http/nginx/unstable.nix +++ b/pkgs/servers/http/nginx/unstable.nix @@ -8,10 +8,10 @@ with stdenv.lib; let - version = "1.9.11"; + version = "1.9.14"; mainSrc = fetchurl { url = "http://nginx.org/download/nginx-${version}.tar.gz"; - sha256 = "07x5d2ryf547xrj4wp8w90kz2d93sxjhkfjb0vdscmxgmzs74p3a"; + sha256 = "1ljpyigqb6sbm4f8mi4fyvwfcvfapzg4z35s9cwb9ri8dl3r6j1b"; }; in @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio" ++ map (mod: "--add-module=${mod.src}") modules; - NIX_CFLAGS_COMPILE = [ "-I${libxml2}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations"; + NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations"; preConfigure = (concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules) + optionalString (hardening && (stdenv.cc.cc.isGNU or false)) '' diff --git a/pkgs/servers/http/nix-binary-cache/default.nix b/pkgs/servers/http/nix-binary-cache/default.nix index b007c09b0560..674557d74fc2 100644 --- a/pkgs/servers/http/nix-binary-cache/default.nix +++ b/pkgs/servers/http/nix-binary-cache/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { --replace @coreutils@ "${coreutils}/bin" \ --replace @findutils@ "${findutils}/bin" \ --replace @nix@ "${nix}/bin" \ - --replace @xz@ "${xz}/bin" \ - --replace @bzip2@ "${bzip2}/bin" \ + --replace @xz@ "${xz.bin}/bin" \ + --replace @bzip2@ "${bzip2.bin}/bin" \ --replace @gnused@ "${gnused}/bin" \ --replace @gnugrep@ "${gnugrep}/bin" \ - --replace @openssl@ "${openssl}/bin" \ + --replace @openssl@ "${openssl.bin}/bin" \ --replace @lighttpd@ "${lighttpd}/sbin" \ --replace @iproute@ "${iproute}/sbin" \ --replace "xXxXx" "xXxXx" @@ -32,11 +32,11 @@ stdenv.mkDerivation rec { --replace @coreutils@ "${coreutils}/bin" \ --replace @findutils@ "${findutils}/bin" \ --replace @nix@ "${nix}/bin" \ - --replace @xz@ "${xz}/bin" \ - --replace @bzip2@ "${bzip2}/bin" \ + --replace @xz@ "${xz.bin}/bin" \ + --replace @bzip2@ "${bzip2.bin}/bin" \ --replace @gnused@ "${gnused}/bin" \ --replace @gnugrep@ "${gnugrep}/bin" \ - --replace @openssl@ "${openssl}/bin" \ + --replace @openssl@ "${openssl.bin}/bin" \ --replace @lighttpd@ "${lighttpd}/sbin" \ --replace @iproute@ "${iproute}/sbin" \ --replace "xXxXx" "xXxXx" diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index 14f95761cfb1..147e24c014d2 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -46,8 +46,8 @@ stdenv.mkDerivation rec { ''; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags" - export PATH="$PATH:${stdenv.cc.libc}/sbin" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2.dev}/include/libxml2 $additionalFlags" + export PATH="$PATH:${stdenv.cc.libc.bin}/bin" patchShebangs . ''; diff --git a/pkgs/servers/irc/charybdis/default.nix b/pkgs/servers/irc/charybdis/default.nix index a38a25c8a5cb..c8368fa95248 100644 --- a/pkgs/servers/irc/charybdis/default.nix +++ b/pkgs/servers/irc/charybdis/default.nix @@ -1,12 +1,13 @@ -{ stdenv, fetchgit, bison, flex, openssl }: +{ stdenv, fetchFromGitHub, bison, flex, openssl }: stdenv.mkDerivation rec { - name = "charybdis-3.5.0-rc1"; + name = "charybdis-3.5.1"; - src = fetchgit { - url = "https://github.com/atheme/charybdis.git"; - rev = "43a9b61c427cd0f3fa2c192890b8a48d9ea6fb7f"; - sha256 = "ae2c8a72e6a29c901f9b51759b542ee12c4ec918050a2d9d65e5635077a0fcef"; + src = fetchFromGitHub { + owner = "charybdis-ircd"; + repo = "charybdis"; + rev = name; + sha256 = "12lwfcgszama7140l1qhmhf1v05csipswrvqzmg8pkaazbag4ka7"; }; patches = [ @@ -22,13 +23,12 @@ stdenv.mkDerivation rec { buildInputs = [ bison flex openssl ]; - meta = { - description = "An extremely scalable ircd with some cooperation with the ratbox and ircu guys"; - homepage = https://github.com/atheme/charybdis; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.lassulus ]; - platforms = stdenv.lib.platforms.linux; + meta = with stdenv.lib; { + description = "IRCv3 server designed to be highly scalable"; + homepage = http://www.charybdis.io/; + license = licenses.gpl2; + maintainers = with maintainers; [ lassulus fpletz ]; + platforms = platforms.unix; }; - } diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix index 5e3f084674b2..94bc9f2bfe98 100644 --- a/pkgs/servers/mail/opensmtpd/default.nix +++ b/pkgs/servers/mail/opensmtpd/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { "--with-privsep-user=smtpd" "--with-queue-user=smtpq" "--with-ca-file=/etc/ssl/certs/ca-certificates.crt" - "--with-libevent-dir=${libevent}" + "--with-libevent-dir=${libevent.dev}" "--enable-table-db" ]; diff --git a/pkgs/servers/meteor/default.nix b/pkgs/servers/meteor/default.nix index 5e13b4520c9b..7412378f3dec 100644 --- a/pkgs/servers/meteor/default.nix +++ b/pkgs/servers/meteor/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { popd substituteInPlace $out/tools/cli/main.js \ --replace "@INTERPRETER@" "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --replace "@RPATH@" "${stdenv.cc.cc}/lib:${zlib}/lib" \ + --replace "@RPATH@" "${stdenv.cc.cc}/lib:${zlib.out}/lib" \ --replace "@PATCHELF@" "${patchelf}/bin/patchelf" # Patch node. @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { for p in $devBundle/mongodb/bin/mongo{,d}; do patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - --set-rpath "$(patchelf --print-rpath $p):${stdenv.cc.cc}/lib:${zlib}/lib" \ + --set-rpath "$(patchelf --print-rpath $p):${stdenv.cc.cc}/lib:${zlib.out}/lib" \ $p done diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix index f2533c99b083..816ac1bdb25e 100644 --- a/pkgs/servers/monitoring/net-snmp/default.nix +++ b/pkgs/servers/monitoring/net-snmp/default.nix @@ -31,6 +31,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + postInstall = '' + for f in $out/lib/*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do + sed 's|-L${openssl}|-L${openssl.out}|g' -i $f + done + ''; + meta = with stdenv.lib; { description = "Clients and server for the SNMP network monitoring protocol"; homepage = http://net-snmp.sourceforge.net/; diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix index 7ccd29bc783a..ffcd507653a0 100644 --- a/pkgs/servers/nosql/arangodb/default.nix +++ b/pkgs/servers/nosql/arangodb/default.nix @@ -15,9 +15,10 @@ stdenv.mkDerivation rec { openssl zlib python gyp go readline ]; + configureFlagsArray = [ "--with-openssl-lib=${openssl.out}/lib" ]; + NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow"; - configureFlagsArray = [ "--with-openssl-lib=${openssl}/lib" ]; patchPhase = '' substituteInPlace 3rdParty/V8-3.31.74.1/build/gyp/gyp --replace /bin/bash ${bash}/bin/bash diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix index abc6d78f20c7..40d3edcf21a4 100644 --- a/pkgs/servers/openafs-client/default.nix +++ b/pkgs/servers/openafs-client/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { for i in `grep -l -R '/usr/\(include\|src\)' .`; do echo "Patch /usr/include and /usr/src in $i" substituteInPlace $i \ - --replace "/usr/include" "${glibc}/include" \ + --replace "/usr/include" "${glibc.dev}/include" \ --replace "/usr/src" "$TMP" done diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix index ac54e8af9aa0..22a5c852e15d 100644 --- a/pkgs/servers/plex/default.nix +++ b/pkgs/servers/plex/default.nix @@ -40,12 +40,12 @@ in stdenv.mkDerivation rec { # Now we need to patch up the executables and libraries to work on Nix. # Side note: PLEASE don't put spaces in your binary names. This is stupid. for bin in "Plex Media Server" "Plex DLNA Server" "Plex Media Scanner"; do - patchelf --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" "$out/usr/lib/plexmediaserver/$bin" + patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" "$out/usr/lib/plexmediaserver/$bin" patchelf --set-rpath "$out/usr/lib/plexmediaserver" "$out/usr/lib/plexmediaserver/$bin" done find $out/usr/lib/plexmediaserver/Resources -type f -a -perm -0100 \ - -print -exec patchelf --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" '{}' \; + -print -exec patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" '{}' \; # executables need libstdc++.so.6 ln -s "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}/libstdc++.so.6" "$out/usr/lib/plexmediaserver/libstdc++.so.6" diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 896b41f6780d..02f5363be8e7 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -43,6 +43,8 @@ stdenv.mkDerivation rec { patches = [ ./caps-fix.patch ]; + outputs = [ "dev" "out" ]; + nativeBuildInputs = [ pkgconfig intltool autoreconfHook ]; propagatedBuildInputs = @@ -50,7 +52,7 @@ stdenv.mkDerivation rec { buildInputs = [ json_c libsndfile speexdsp fftwFloat ] - ++ lib.optionals stdenv.isLinux [ glib dbus.libs ] + ++ lib.optionals stdenv.isLinux [ glib dbus ] ++ lib.optionals (!libOnly) ( [ libasyncns webrtc-audio-processing ] ++ lib.optional jackaudioSupport libjack2 @@ -110,8 +112,9 @@ stdenv.mkDerivation rec { postInstall = lib.optionalString libOnly '' rm -rf $out/{bin,share,etc,lib/{pulse-*,systemd}} - sed 's|-lltdl|-L${libtool}/lib -lltdl|' -i $out/lib/pulseaudio/libpulsecore-${version}.la - ''; + sed 's|-lltdl|-L${libtool.lib}/lib -lltdl|' -i $out/lib/pulseaudio/libpulsecore-${version}.la + '' + + ''moveToOutput lib/cmake "$dev" ''; meta = { description = "Sound server for POSIX and Win32 systems"; diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index 0f3b9bb7a658..2368ba18a494 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -18,11 +18,11 @@ with lib; stdenv.mkDerivation rec { - name = "samba-4.3.6"; + name = "samba-4.3.8"; src = fetchurl { url = "mirror://samba/pub/samba/stable/${name}.tar.gz"; - sha256 = "0929fpk2pq4v389naai519xvsm9bzpar4jlgjxwlx1cnn6jyql9j"; + sha256 = "041b5frh4ikcka922aqhqjvlv4w2s7jycyykpvsknj0a79ncd79p"; }; patches = diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix index 0a651762f185..c9f4e2d253f9 100644 --- a/pkgs/servers/shellinabox/default.nix +++ b/pkgs/servers/shellinabox/default.nix @@ -22,12 +22,12 @@ stdenv.mkDerivation rec { substituteInPlace ./shellinabox/launcher.c --replace "/usr/games" "${openssh}/bin" substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login" substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login" - substituteInPlace ./libhttp/ssl.c --replace "/usr/bin" "${openssl}/bin" + substituteInPlace ./libhttp/ssl.c --replace "/usr/bin" "${openssl.bin}/bin" ''; postInstall = '' wrapProgram $out/bin/shellinaboxd \ - --prefix LD_LIBRARY_PATH : ${openssl}/lib + --prefix LD_LIBRARY_PATH : ${openssl.out}/lib mkdir -p $out/lib cp shellinabox/* $out/lib ''; diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix index e26fd6ca749e..85dfa805fc14 100644 --- a/pkgs/servers/shishi/default.nix +++ b/pkgs/servers/shishi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl +{ stdenv, fetchurl, pkgconfig , libgcrypt, libgpgerror, libtasn1 # Optional Dependencies @@ -31,6 +31,7 @@ stdenv.mkDerivation rec { # Fixes support for gcrypt 1.6+ patches = [ ./gcrypt-fix.patch ./freebsd-unistd.patch ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libgcrypt libgpgerror libtasn1 optPam optLibidn optGnutls ]; configureFlags = [ @@ -60,13 +61,13 @@ stdenv.mkDerivation rec { postInstall = '' sed -i $out/lib/libshi{sa,shi}.la \ '' + optionalString (optLibidn != null) '' - -e 's,\(-lidn\),-L${optLibidn}/lib \1,' \ + -e 's,\(-lidn\),-L${optLibidn.out}/lib \1,' \ '' + optionalString (optGnutls != null) '' - -e 's,\(-lgnutls\),-L${optGnutls}/lib \1,' \ + -e 's,\(-lgnutls\),-L${optGnutls.out}/lib \1,' \ '' + '' - -e 's,\(-lgcrypt\),-L${libgcrypt}/lib \1,' \ - -e 's,\(-lgpg-error\),-L${libgpgerror}/lib \1,' \ - -e 's,\(-ltasn1\),-L${libtasn1}/lib \1,' + -e 's,\(-lgcrypt\),-L${libgcrypt.out}/lib \1,' \ + -e 's,\(-lgpg-error\),-L${libgpgerror.out}/lib \1,' \ + -e 's,\(-ltasn1\),-L${libtasn1.out}/lib \1,' ''; meta = { diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 9ca1a23ea345..6091703c52cd 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -60,13 +60,15 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals stdenv.isDarwin [ "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1" "-DWITHOUT_TOKUDB=1" - "-DCURSES_LIBRARY=${ncurses}/lib/libncurses.dylib" + "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib" ]; # fails to find lex_token.h sometimes enableParallelBuilding = false; outputs = [ "out" "lib" ]; + setOutputFlags = false; + moveToDev = false; prePatch = '' substituteInPlace cmake/libutils.cmake \ @@ -112,8 +114,8 @@ stdenv.mkDerivation rec { '' + '' # Fix the mysql_config sed -i $out/bin/mysql_config \ - -e 's,-lz,-L${zlib}/lib -lz,g' \ - -e 's,-lssl,-L${openssl}/lib -lssl,g' + -e 's,-lz,-L${zlib.out}/lib -lz,g' \ + -e 's,-lssl,-L${openssl.out}/lib -lssl,g' # Add mysql_config to libs since configure scripts use it mkdir -p $lib/bin diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix index afd2222918eb..443dafef55ca 100644 --- a/pkgs/servers/sql/monetdb/default.nix +++ b/pkgs/servers/sql/monetdb/default.nix @@ -17,7 +17,7 @@ composableDerivation.composableDerivation {} { /* perl TODO export these (SWIG only if its present) HAVE_PERL=1 HAVE_PERL_DEVEL=1 HAVE_PERL_SWIG=1 */ }; - buildInputs = [ (pcre.override { unicodeSupport = true; }) + buildInputs = [ pcre openssl readline libxml2 ]; # optional python perl php java ? cfg = { diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index bba2bf2d6825..5fec92a5bf8a 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -10,7 +10,8 @@ let inherit sha256; }; - outputs = [ "out" "doc" ]; + outputs = [ "out" "lib" "doc" ]; + setOutputFlags = false; # $out retains configureFlags :-/ buildInputs = [ zlib readline openssl ] @@ -20,8 +21,11 @@ let makeFlags = [ "world" ]; - configureFlags = - [ "--with-openssl" ] + configureFlags = [ + "--with-openssl" + "--sysconfdir=/etc" + "--libdir=$(lib)/lib" + ] ++ lib.optional (stdenv.isDarwin) "--with-uuid=e2fs" ++ lib.optional (!stdenv.isDarwin) "--with-ossp-uuid"; @@ -36,8 +40,12 @@ let postInstall = '' + moveToOutput "lib/pgxs" "$out" # looks strange, but not deleting it + moveToOutput "lib/*.a" "$out" + moveToOutput "lib/libecpg*" "$out" + # Prevent a retained dependency on gcc-wrapper. - substituteInPlace $out/lib/pgxs/src/Makefile.global --replace ${stdenv.cc}/bin/ld ld + substituteInPlace "$out/lib/pgxs/src/Makefile.global" --replace ${stdenv.cc}/bin/ld ld ''; disallowedReferences = [ stdenv.cc ]; diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix index e683c7f5f0c3..5684704205f1 100644 --- a/pkgs/servers/unifi/default.nix +++ b/pkgs/servers/unifi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "unifi-controller-${version}"; - version = "4.8.14"; + version = "4.8.15"; src = fetchurl { url = "https://dl.ubnt.com/unifi/${version}/UniFi.unix.zip"; - sha256 = "2498d898399c4ce636ea62e5e4bb1afdd6146e45d721084fe28a44bfd3dffb11"; + sha256 = "1p77l2186mw32l59inyd79rpachcs634z891k1vqcwn9gm7a39r2"; }; buildInputs = [ unzip ]; diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh index f5b8803a98a3..c9e53f3800d3 100644 --- a/pkgs/servers/x11/xorg/builder.sh +++ b/pkgs/servers/x11/xorg/builder.sh @@ -10,7 +10,7 @@ postInstall() { local r p requires set +o pipefail - requires=$(grep "Requires:" $out/lib/pkgconfig/*.pc | \ + requires=$(grep "Requires:" ${!outputDev}/lib/pkgconfig/*.pc | \ sed "s/Requires://" | sed "s/,/ /g") set -o pipefail @@ -33,10 +33,6 @@ postInstall() { done fi done - - mkdir -p "$out/nix-support" - echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs" - echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs" } diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index bb9e73d31cd3..7ba97cf35b04 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -2347,6 +2347,21 @@ let meta.platforms = stdenv.lib.platforms.unix; }) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ;}; + # TODO: + # With the current state of ./generate-expr-from-tarballs.pl, + # this will get overwritten when next invoked. + # Could add a special case to ./generate-expr-from-tarballs.pl, + # or perhaps there's a cleaner solution. + #xquartz = (mkDerivation "xquartz" { + # name = "xorg-server-1.14.6"; + # builder = ./builder.sh; + # src = fetchurl { + # url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2; + # sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8"; + # }; + # buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ]; + #}) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; + xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" { name = "xorg-sgml-doctools-1.11"; builder = ./builder.sh; diff --git a/pkgs/servers/x11/xorg/imake-cc-wrapper-uberhack.patch b/pkgs/servers/x11/xorg/imake-cc-wrapper-uberhack.patch new file mode 100644 index 000000000000..fe079eeb42a7 --- /dev/null +++ b/pkgs/servers/x11/xorg/imake-cc-wrapper-uberhack.patch @@ -0,0 +1,13 @@ +diff --git a/imake.c b/imake.c +index c20cd4a..ec2589b 100644 +--- a/imake.c ++++ b/imake.c +@@ -959,7 +959,7 @@ get_libc_version(FILE *inFile) + { + char aout[4096], *tmpdir; + FILE *fp; +- const char *format = "%s -o %s -x c -"; ++ const char *format = "f=$(mktemp imakeXXXXXX.c); cat > $f; %s $f -o %s"; + char *cc; + int len; + char *command; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 7bd179067cd0..a0405ec077f3 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -48,7 +48,7 @@ in imake = attrs: attrs // { inherit (xorg) xorgcffiles; x11BuildHook = ./imake.sh; - patches = [./imake.patch]; + patches = [./imake.patch ./imake-cc-wrapper-uberhack.patch]; setupHook = if stdenv.isDarwin then ./darwin-imake-setup-hook.sh else null; CFLAGS = [ "-DIMAKE_COMPILETIME_CPP=\\\"${if stdenv.isDarwin then "${args.tradcpp}/bin/cpp" @@ -73,7 +73,7 @@ in libxcb = attrs : attrs // { nativeBuildInputs = [ args.python ]; configureFlags = "--enable-xkb --enable-xinput"; - outputs = [ "out" "doc" "man" ]; + outputs = [ "dev" "out" "doc" ]; }; xcbproto = attrs : attrs // { @@ -81,6 +81,7 @@ in }; libX11 = attrs: attrs // { + outputs = [ "dev" "out" "man" ]; preConfigure = setMalloc0ReturnsNullCrossCompiling + '' sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure ''; @@ -90,7 +91,6 @@ in rm -rf $out/share/doc ''; CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -"; - outputs = [ "out" "man" ]; }; libAppleWM = attrs: attrs // { @@ -100,7 +100,16 @@ in ''; }; + libXau = attrs: attrs // { + outputs = [ "dev" "out" ]; + }; + + libXdmcp = attrs: attrs // { + outputs = [ "dev" "out" "doc" ]; + }; + libXfont = attrs: attrs // { + outputs = [ "dev" "out" ]; propagatedBuildInputs = [ args.freetype ]; # propagate link reqs. like bzip2 # prevents "misaligned_stack_error_entering_dyld_stub_binder" configureFlags = lib.optionals isDarwin [ @@ -109,14 +118,10 @@ in }; libXxf86vm = attrs: attrs // { + outputs = [ "dev" "out" ]; preConfigure = setMalloc0ReturnsNullCrossCompiling; }; - libXrandr = attrs: attrs // { - preConfigure = setMalloc0ReturnsNullCrossCompiling; - propagatedBuildInputs = [xorg.libXrender]; - }; - # Propagate some build inputs because of header file dependencies. # Note: most of these are in Requires.private, so maybe builder.sh # should propagate them automatically. @@ -126,7 +131,7 @@ in ''; propagatedBuildInputs = [ xorg.libSM ]; CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -"; - outputs = [ "out" "doc" "man" ]; + outputs = [ "dev" "out" "docdev" ]; }; # See https://bugs.freedesktop.org/show_bug.cgi?id=47792 @@ -139,44 +144,106 @@ in propagatedBuildInputs = [ xorg.fixesproto ]; }; + libICE = attrs: attrs // { + outputs = [ "dev" "out" "doc" ]; + }; + libXcomposite = attrs: attrs // { + outputs = [ "dev" "out" ]; propagatedBuildInputs = [ xorg.libXfixes ]; }; libXaw = attrs: attrs // { + outputs = [ "dev" "out" "docdev" ]; propagatedBuildInputs = [ xorg.libXmu ]; }; + libXcursor = attrs: attrs // { + outputs = [ "dev" "out" ]; + }; + + libXdamage = attrs: attrs // { + outputs = [ "dev" "out" ]; + }; + libXft = attrs: attrs // { + outputs = [ "dev" "out" ]; propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ]; preConfigure = setMalloc0ReturnsNullCrossCompiling; # the include files need ft2build.h, and Requires.private isn't enough for us postInstall = '' - sed "/^Requires:/s/$/, freetype2/" -i "$out/lib/pkgconfig/xft.pc" + sed "/^Requires:/s/$/, freetype2/" -i "$dev/lib/pkgconfig/xft.pc" ''; }; libXext = attrs: attrs // { + outputs = [ "dev" "out" "doc" ]; propagatedBuildInputs = [ xorg.xproto xorg.libXau ]; preConfigure = setMalloc0ReturnsNullCrossCompiling; }; - libSM = attrs: attrs - // { propagatedBuildInputs = [ xorg.libICE ]; }; + libXfixes = attrs: attrs // { + outputs = [ "dev" "out" ]; + }; + + libXi = attrs: attrs // { + outputs = [ "dev" "out" "doc" ]; + }; + + libXinerama = attrs: attrs // { + outputs = [ "dev" "out" ]; + }; + + libXmu = attrs: attrs // { + outputs = [ "dev" "out" "doc" ]; + buildFlags = ''BITMAP_DEFINES=-DBITMAPDIR=\"/no-such-path\"''; + }; + + libXrandr = attrs: attrs // { + outputs = [ "dev" "out" ]; + preConfigure = setMalloc0ReturnsNullCrossCompiling; + propagatedBuildInputs = [xorg.libXrender]; + }; + + libSM = attrs: attrs // { + outputs = [ "dev" "out" "doc" ]; + propagatedBuildInputs = [ xorg.libICE ]; + }; - libXrender = attrs: attrs - // { preConfigure = setMalloc0ReturnsNullCrossCompiling; }; + libXrender = attrs: attrs // { + outputs = [ "dev" "out" "doc" ]; + preConfigure = setMalloc0ReturnsNullCrossCompiling; + }; - libXvMC = attrs: attrs - // { buildInputs = attrs.buildInputs ++ [xorg.renderproto]; }; + libXres = attrs: attrs // { + outputs = [ "dev" "out" "docdev" ]; + }; + + libXv = attrs: attrs // { + outputs = [ "dev" "out" "docdev" ]; + }; + + libXvMC = attrs: attrs // { + outputs = [ "dev" "out" "doc" ]; + buildInputs = attrs.buildInputs ++ [xorg.renderproto]; + }; libXpm = attrs: attrs // { + outputs = [ "dev" "out" "bin" ]; # tiny man in $bin patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in"; }; libXpresent = attrs: attrs // { buildInputs = with xorg; attrs.buildInputs ++ [ libXext libXfixes libXrandr ]; }; + libxkbfile = attrs: attrs // { + outputs = [ "dev" "out" ]; # mainly to avoid propagation + }; + + libxshmfence = attrs: attrs // { + outputs = [ "dev" "out" ]; # mainly to avoid propagation + }; + setxkbmap = attrs: attrs // { postInstall = '' @@ -193,10 +260,30 @@ in buildInputs = attrs.buildInputs ++ [ args.freetype args.fontconfig ]; }; + xcbutil = attrs: attrs // { + outputs = [ "dev" "out" ]; + }; + xcbutilcursor = attrs: attrs // { meta.maintainers = [ stdenv.lib.maintainers.lovek323 ]; }; + xcbutilimage = attrs: attrs // { + outputs = [ "dev" "out" ]; # mainly to get rid of propagating others + }; + + xcbutilkeysyms = attrs: attrs // { + outputs = [ "dev" "out" ]; # mainly to get rid of propagating others + }; + + xcbutilrenderutil = attrs: attrs // { + outputs = [ "dev" "out" ]; # mainly to get rid of propagating others + }; + + xcbutilwm = attrs: attrs // { + outputs = [ "dev" "out" ]; # mainly to get rid of propagating others + }; + xf86inputevdev = attrs: attrs // { preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c"; installFlags = "sdkdir=\${out}/include/xorg"; @@ -280,7 +367,7 @@ in version = (builtins.parseDrvName attrs.name).version; commonBuildInputs = attrs.buildInputs ++ [ xtrans ]; commonPropagatedBuildInputs = [ - args.zlib args.mesa args.dbus.libs + args.zlib args.mesa args.dbus xf86bigfontproto glproto xf86driproto compositeproto scrnsaverproto resourceproto xf86dgaproto @@ -307,6 +394,7 @@ in in if (!isDarwin) then { + outputs = [ "dev" "out" ]; buildInputs = [ makeWrapper ] ++ commonBuildInputs; propagatedBuildInputs = [ libpciaccess ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ args.udev @@ -329,6 +417,12 @@ in --set XKB_BINDIR "${xorg.xkbcomp}/bin" \ --set XORG_DRI_DRIVER_PATH ${args.mesa}/lib/dri \ --add-flags "-xkbdir ${xorg.xkeyboardconfig}/share/X11/xkb" + ( # assert() keeps runtime reference xorgserver-dev in xf86-video-intel and others + cd "$dev" + for f in include/xorg/*.h; do + sed "1i#line 1 \"${attrs.name}/$f\"" -i "$f" + done + ) ''; passthru.version = version; # needed by virtualbox guest additions } else { @@ -402,7 +496,7 @@ in stdenv = if isDarwin then args.clangStdenv else stdenv; buildInputs = attrs.buildInputs ++ lib.optional isDarwin args.bootstrap_cmds; configureFlags = [ - "--with-xserver=${xorg.xorgserver}/bin/X" + "--with-xserver=${xorg.xorgserver.out}/bin/X" ] ++ lib.optionals isDarwin [ "--with-bundle-id-prefix=org.nixos.xquartz" "--with-launchdaemons-dir=\${out}/LaunchDaemons" diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix index 920b66147f26..db0c446617af 100644 --- a/pkgs/servers/x11/xquartz/default.nix +++ b/pkgs/servers/x11/xquartz/default.nix @@ -159,7 +159,7 @@ in stdenv.mkDerivation { --replace "@ENCODINGSDIR@" "${xorg.encodings}/share/fonts/X11/encodings" \ --replace "@MKFONTDIR@" "${xorg.mkfontdir}/bin/mkfontdir" \ --replace "@MKFONTSCALE@" "${xorg.mkfontscale}/bin/mkfontscale" \ - --replace "@FC_CACHE@" "${fontconfig}/bin/fc-cache" \ + --replace "@FC_CACHE@" "${fontconfig.bin}/bin/fc-cache" \ --replace "@FONTCONFIG_FILE@" "$fontsConfPath" cp ${./xinitrc} $out/etc/X11/xinit/xinitrc diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix index 60504ecaa9bc..2fa229692eb3 100644 --- a/pkgs/shells/bash/default.nix +++ b/pkgs/shells/bash/default.nix @@ -9,6 +9,8 @@ let shortName = "bash43"; baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline"; sha256 = "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"; + + inherit (stdenv.lib) optional optionalString; in stdenv.mkDerivation rec { @@ -19,7 +21,12 @@ stdenv.mkDerivation rec { inherit sha256; }; - outputs = [ "out" "doc" ]; + outputs = if (!interactive) # conditional to avoid mass rebuild ATM + then [ "out" "doc" ] + else [ "out" "doc" "info" ]; + + # the man pages are small and useful enough + outputMan = if interactive then "out" else null; NIX_CFLAGS_COMPILE = '' -DSYS_BASHRC="/etc/bashrc" @@ -41,17 +48,17 @@ stdenv.mkDerivation rec { }; in import ./bash-4.3-patches.nix patch) - ++ stdenv.lib.optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch; + ++ optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch; crossAttrs = { configureFlags = baseConfigureFlags + " bash_cv_job_control_missing=nomissing bash_cv_sys_named_pipes=nomissing" + - stdenv.lib.optionalString stdenv.isCygwin '' + optionalString stdenv.isCygwin '' --without-libintl-prefix --without-libiconv-prefix --with-installed-readline bash_cv_dev_stdin=present bash_cv_dev_fd=standard - bash_cv_termcap_lib=libncurses + bash_cv_termcap_lib=libncurses ''; }; @@ -59,20 +66,29 @@ stdenv.mkDerivation rec { # Note: Bison is needed because the patches above modify parse.y. nativeBuildInputs = [bison] - ++ stdenv.lib.optional (texinfo != null) texinfo - ++ stdenv.lib.optional interactive readline - ++ stdenv.lib.optional stdenv.isDarwin binutils; + ++ optional (texinfo != null) texinfo + ++ optional interactive readline + ++ optional stdenv.isDarwin binutils; # Bash randomly fails to build because of a recursive invocation to # build `version.h'. enableParallelBuilding = false; postInstall = '' - # Add an `sh' -> `bash' symlink. ln -s bash "$out/bin/sh" ''; - meta = { + postFixup = if interactive + then '' + substituteInPlace "$out/bin/bashbug" \ + --replace '${stdenv.shell}' "$out/bin/bash" + '' + # most space is taken by locale data + else '' + rm -r "$out/share" "$out/bin/bashbug" + ''; + + meta = with stdenv.lib; { homepage = http://www.gnu.org/software/bash/; description = "GNU Bourne-Again Shell, the de facto standard shell on Linux" + @@ -89,11 +105,11 @@ stdenv.mkDerivation rec { Bash without modification. ''; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; - platforms = stdenv.lib.platforms.all; + platforms = platforms.all; - maintainers = [ stdenv.lib.maintainers.simons ]; + maintainers = [ maintainers.simons ]; }; passthru = { diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix index 63f5dbd05ddb..6b4a91e90142 100644 --- a/pkgs/shells/fish/default.nix +++ b/pkgs/shells/fish/default.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { -i "$out/share/fish/functions/alias.fish" \ "$out/share/fish/functions/prompt_pwd.fish" substituteInPlace "$out/share/fish/functions/fish_default_key_bindings.fish" \ - --replace "clear;" "${ncurses}/bin/clear;" + --replace "clear;" "${ncurses.out}/bin/clear;" '' + stdenv.lib.optionalString stdenv.isLinux '' substituteInPlace "$out/share/fish/functions/__fish_print_help.fish" \ --replace "| ul" "| ${utillinux}/bin/ul" diff --git a/pkgs/stdenv/common-path.nix b/pkgs/stdenv/common-path.nix index cff6fd0a3eed..da468d56a2cd 100644 --- a/pkgs/stdenv/common-path.nix +++ b/pkgs/stdenv/common-path.nix @@ -7,9 +7,9 @@ pkgs.gawk pkgs.gnutar pkgs.gzip - pkgs.bzip2 + pkgs.bzip2.bin pkgs.gnumake pkgs.bash pkgs.patch - pkgs.xz + pkgs.xz.bin ] diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 52f8f007b001..22e86c461fa9 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -178,7 +178,7 @@ in rec { allowedRequisites = [ bootstrapTools ] ++ - (with pkgs; [ xz libcxx libcxxabi icu ]) ++ + (with pkgs; [ xz.bin xz.out libcxx libcxxabi icu.out ]) ++ (with pkgs.darwin; [ dyld Libsystem CF locale ]); overrides = persistent1; @@ -214,7 +214,7 @@ in rec { allowedRequisites = [ bootstrapTools ] ++ - (with pkgs; [ icu bash libcxx libcxxabi ]) ++ + (with pkgs; [ xz.bin xz.out icu.out bash libcxx libcxxabi ]) ++ (with pkgs.darwin; [ dyld Libsystem locale ]); overrides = persistent2; @@ -297,9 +297,11 @@ in rec { }; allowedRequisites = (with pkgs; [ - xz libcxx libcxxabi icu gmp gnumake findutils bzip2 llvm zlib libffi - coreutils ed diffutils gnutar gzip ncurses gnused bash gawk - gnugrep llvmPackages.clang-unwrapped patch pcre binutils-raw binutils gettext + xz.out xz.bin libcxx libcxxabi icu.out gmp.out gnumake findutils bzip2.out + bzip2.bin llvm zlib.out zlib.dev libffi.out coreutils ed diffutils gnutar + gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk + gnugrep llvmPackages.clang-unwrapped patch pcre.out binutils-raw.out + binutils-raw.dev binutils gettext ]) ++ (with pkgs.darwin; [ dyld Libsystem CF cctools libiconv locale ]); diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index b0025351b049..561dcc7fdfda 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -30,9 +30,9 @@ rec { cp -rL ${darwin.Libsystem}/include $out chmod -R u+w $out/include - cp -rL ${icu}/include* $out/include + cp -rL ${icu.dev}/include* $out/include cp -rL ${libiconv}/include/* $out/include - cp -rL ${gnugrep.pcre}/include/* $out/include + cp -rL ${gnugrep.pcre.dev}/include/* $out/include mv $out/include $out/include-Libsystem # Copy coreutils, bash, etc. @@ -49,23 +49,23 @@ rec { cp -d ${gawk}/bin/awk $out/bin cp ${gnutar}/bin/tar $out/bin cp ${gzip}/bin/gzip $out/bin - cp ${bzip2}/bin/bzip2 $out/bin + cp ${bzip2.bin}/bin/bzip2 $out/bin cp -d ${gnumake}/bin/* $out/bin cp -d ${patch}/bin/* $out/bin - cp -d ${xz}/bin/xz $out/bin + cp -d ${xz.bin}/bin/xz $out/bin # This used to be in-nixpkgs, but now is in the bundle # because I can't be bothered to make it partially static - cp ${curl}/bin/curl $out/bin - cp -d ${curl}/lib/libcurl*.dylib $out/lib - cp -d ${libssh2}/lib/libssh*.dylib $out/lib - cp -d ${openssl}/lib/*.dylib $out/lib + cp ${curl.bin}/bin/curl $out/bin + cp -d ${curl.out}/lib/libcurl*.dylib $out/lib + cp -d ${libssh2.out}/lib/libssh*.dylib $out/lib + cp -d ${openssl.out}/lib/*.dylib $out/lib - cp -d ${gnugrep.pcre}/lib/libpcre*.dylib $out/lib - cp -d ${libiconv}/lib/lib*.dylib $out/lib + cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib + cp -d ${libiconv.lib or libiconv}/lib/lib*.dylib $out/lib cp -d ${gettext}/lib/libintl*.dylib $out/lib chmod +x $out/lib/libintl*.dylib - cp -d ${ncurses}/lib/libncurses*.dylib $out/lib + cp -d ${ncurses.out}/lib/libncurses*.dylib $out/lib # Copy what we need of clang cp -d ${llvmPackages.clang-unwrapped}/bin/clang $out/bin @@ -80,10 +80,10 @@ rec { mkdir $out/include cp -rd ${libcxx}/include/c++ $out/include - cp -d ${icu}/lib/libicu*.dylib $out/lib - cp -d ${zlib}/lib/libz.* $out/lib - cp -d ${gmpxx}/lib/libgmp*.* $out/lib - cp -d ${xz}/lib/liblzma*.* $out/lib + cp -d ${icu.out}/lib/libicu*.dylib $out/lib + cp -d ${zlib.out}/lib/libz.* $out/lib + cp -d ${gmpxx.out}/lib/libgmp*.* $out/lib + cp -d ${xz.out}/lib/liblzma*.* $out/lib # Copy binutils. for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do @@ -138,7 +138,7 @@ rec { cp ${stdenv.shell} $out/on-server/sh cp ${cpio}/bin/cpio $out/on-server cp ${coreutils_}/bin/mkdir $out/on-server - cp ${bzip2}/bin/bzip2 $out/on-server + cp ${bzip2.bin}/bin/bzip2 $out/on-server chmod u+w $out/on-server/* strip $out/on-server/* diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 6dc2553db386..547541d28246 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -82,6 +82,7 @@ let ../../build-support/setup-hooks/compress-man-pages.sh ../../build-support/setup-hooks/strip.sh ../../build-support/setup-hooks/patch-shebangs.sh + ../../build-support/setup-hooks/multiple-outputs.sh ../../build-support/setup-hooks/move-sbin.sh ../../build-support/setup-hooks/move-lib64.sh ../../build-support/setup-hooks/set-source-date-epoch-to-latest.sh @@ -219,12 +220,25 @@ let # The meta attribute is passed in the resulting attribute set, # but it's not part of the actual derivation, i.e., it's not # passed to the builder and is not a dependency. But since we - # include it in the result, it *is* available to nix-env for - # queries. We also a meta.position attribute here to - # identify the source location of the package. - meta = meta // (if pos' != null then { - position = pos'.file + ":" + toString pos'.line; - } else {}); + # include it in the result, it *is* available to nix-env for queries. + meta = { } + # If the packager hasn't specified `outputsToInstall`, choose a default, + # namely `p.bin or p.out or p`; + # if he has specified it, it will be overridden below in `// meta`. + # Note: This default probably shouldn't be globally configurable. + # Services and users should specify outputs explicitly, + # unless they are comfortable with this default. + // { outputsToInstall = + let + outs = outputs'; # the value passed to derivation primitive + hasOutput = out: builtins.elem out outs; + in [( lib.findFirst hasOutput null (["bin" "out"] ++ outs) )]; + } + // meta + # Fill `meta.position` to identify the source location of the package. + // lib.optionalAttrs (pos' != null) + { position = pos'.file + ":" + toString pos'.line; } + ; inherit passthru; } // # Pass through extra attributes that are not inputs, but diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index cca4648d2375..9399ff7a7643 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -174,12 +174,21 @@ ensureDir() { } -installBin() { - mkdir -p $out/bin - cp "$@" $out/bin +# Add $1/lib* into rpaths. +# The function is used in multiple-outputs.sh hook, +# so it is defined here but tried after the hook. +_addRpathPrefix() { + if [ "$NIX_NO_SELF_RPATH" != 1 ]; then + export NIX_LDFLAGS="-rpath $1/lib $NIX_LDFLAGS" + if [ -n "$NIX_LIB64_IN_SELF_RPATH" ]; then + export NIX_LDFLAGS="-rpath $1/lib64 $NIX_LDFLAGS" + fi + if [ -n "$NIX_LIB32_IN_SELF_RPATH" ]; then + export NIX_LDFLAGS="-rpath $1/lib32 $NIX_LDFLAGS" + fi + fi } - # Return success if the specified file is an ELF object. isELF() { local fn="$1" @@ -312,16 +321,7 @@ for i in $crossPkgs; do done -# Add the output as an rpath. -if [ "$NIX_NO_SELF_RPATH" != 1 ]; then - export NIX_LDFLAGS="-rpath $out/lib $NIX_LDFLAGS" - if [ -n "$NIX_LIB64_IN_SELF_RPATH" ]; then - export NIX_LDFLAGS="-rpath $out/lib64 $NIX_LDFLAGS" - fi - if [ -n "$NIX_LIB32_IN_SELF_RPATH" ]; then - export NIX_LDFLAGS="-rpath $out/lib32 $NIX_LDFLAGS" - fi -fi +_addRpathPrefix "$out" # Set the TZ (timezone) environment variable, otherwise commands like @@ -643,7 +643,7 @@ configurePhase() { done fi - if [ -z "$dontAddPrefix" ]; then + if [ -z "$dontAddPrefix" -a -n "$prefix" ]; then configureFlags="${prefixKey:---prefix=}$prefix $configureFlags" fi @@ -708,7 +708,9 @@ checkPhase() { installPhase() { runHook preInstall - mkdir -p "$prefix" + if [ -n "$prefix" ]; then + mkdir -p "$prefix" + fi installTargets=${installTargets:-install} echo "install flags: $installTargets $makeFlags ${makeFlagsArray[@]} $installFlags ${installFlagsArray[@]}" @@ -737,24 +739,29 @@ fixupPhase() { prefix=${!output} runHook fixupOutput done + + # Propagate build inputs and setup hook into the development output. + if [ -n "$propagatedBuildInputs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs" + mkdir -p "${!outputDev}/nix-support" + echo "$propagatedBuildInputs" > "${!outputDev}/nix-support/propagated-build-inputs" fi if [ -n "$propagatedNativeBuildInputs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs" + mkdir -p "${!outputDev}/nix-support" + echo "$propagatedNativeBuildInputs" > "${!outputDev}/nix-support/propagated-native-build-inputs" fi - if [ -n "$propagatedUserEnvPkgs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedUserEnvPkgs" > "$out/nix-support/propagated-user-env-packages" + if [ -n "$setupHook" ]; then + mkdir -p "${!outputDev}/nix-support" + substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook" fi - if [ -n "$setupHook" ]; then - mkdir -p "$out/nix-support" - substituteAll "$setupHook" "$out/nix-support/setup-hook" + # Propagate user-env packages into the output with binaries, TODO? + + if [ -n "$propagatedUserEnvPkgs" ]; then + mkdir -p "${!outputBin}/nix-support" + echo "$propagatedUserEnvPkgs" > "${!outputBin}/nix-support/propagated-user-env-packages" fi runHook postFixup diff --git a/pkgs/stdenv/linux/bootstrap/i686.nix b/pkgs/stdenv/linux/bootstrap/i686.nix index e02bb1e83d34..cf484fd92533 100644 --- a/pkgs/stdenv/linux/bootstrap/i686.nix +++ b/pkgs/stdenv/linux/bootstrap/i686.nix @@ -1,12 +1,12 @@ { busybox = import <nix/fetchurl.nix> { - url = http://tarballs.nixos.org/stdenv-linux/i686/8d66a51a872af1ab58edc68a2ebddcc79958b563/busybox; - sha256 = "9278001d11bb0359d0cc1b30bd5c9823f0b9c65db127d6dfcc1f6bbc000d15a0"; + url = http://tarballs.nixos.org/stdenv-linux/i686/4907fc9e8d0d82b28b3c56e3a478a2882f1d700f/busybox; + sha256 = "ef4c1be6c7ae57e4f654efd90ae2d2e204d6769364c46469fa9ff3761195cba1"; executable = true; }; bootstrapTools = import <nix/fetchurl.nix> { - url = http://tarballs.nixos.org/stdenv-linux/i686/8d66a51a872af1ab58edc68a2ebddcc79958b563/bootstrap-tools.tar.xz; - sha256 = "6bc27ce9b08adcca0298f5fe80fe67f5bbb2dffdd1d8666fd44cb76ace198a25"; + url = http://tarballs.nixos.org/stdenv-linux/i686/4907fc9e8d0d82b28b3c56e3a478a2882f1d700f/bootstrap-tools.tar.xz; + sha256 = "cf920d26d94335f5cb46e247455d0e5389765d16a2b8fc233b792a655b5b58aa"; }; } diff --git a/pkgs/stdenv/linux/bootstrap/x86_64.nix b/pkgs/stdenv/linux/bootstrap/x86_64.nix index df803dae032b..69d08c5e981a 100644 --- a/pkgs/stdenv/linux/bootstrap/x86_64.nix +++ b/pkgs/stdenv/linux/bootstrap/x86_64.nix @@ -3,7 +3,7 @@ { bootstrapTools = import <nix/fetchurl.nix> { - url = http://tarballs.nixos.org/stdenv-linux/x86_64/8d66a51a872af1ab58edc68a2ebddcc79958b563/bootstrap-tools.tar.xz; - sha256 = "325230b74d3d98f62ddcb595543887d09cd8421745a4eda229d2a87a1f1ed336"; + url = http://tarballs.nixos.org/stdenv-linux/x86_64/4907fc9e8d0d82b28b3c56e3a478a2882f1d700f/bootstrap-tools.tar.xz; + sha256 = "abe3f0727dd771a60b7922892d308da1bc7b082afc13440880862f0c8823c09f"; }; } diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index f0b6ce7c9f3d..fbadfa80fe15 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -287,11 +287,13 @@ rec { shellPackage = stage4.pkgs.bash; }; + /* outputs TODO allowedRequisites = with stage4.pkgs; [ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv ]; + */ overrides = pkgs: { gcc = cc; diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix index 3adb00693f75..d6e024c62583 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix @@ -130,20 +130,20 @@ rec { mkdir -p $out/bin $out/lib $out/libexec # Copy what we need of Glibc. - cp -d ${glibc}/lib/ld-*.so* $out/lib - cp -d ${glibc}/lib/libc*.so* $out/lib - cp -d ${glibc}/lib/libc_nonshared.a $out/lib - cp -d ${glibc}/lib/libm*.so* $out/lib - cp -d ${glibc}/lib/libdl*.so* $out/lib - cp -d ${glibc}/lib/librt*.so* $out/lib - cp -d ${glibc}/lib/libpthread*.so* $out/lib - cp -d ${glibc}/lib/libnsl*.so* $out/lib - cp -d ${glibc}/lib/libutil*.so* $out/lib - cp -d ${glibc}/lib/libnss*.so* $out/lib - cp -d ${glibc}/lib/libresolv*.so* $out/lib - cp -d ${glibc}/lib/crt?.o $out/lib + cp -d ${glibc.out}/lib/ld-*.so* $out/lib + cp -d ${glibc.out}/lib/libc*.so* $out/lib + cp -d ${glibc.out}/lib/libc_nonshared.a $out/lib + cp -d ${glibc.out}/lib/libm*.so* $out/lib + cp -d ${glibc.out}/lib/libdl*.so* $out/lib + cp -d ${glibc.out}/lib/librt*.so* $out/lib + cp -d ${glibc.out}/lib/libpthread*.so* $out/lib + cp -d ${glibc.out}/lib/libnsl*.so* $out/lib + cp -d ${glibc.out}/lib/libutil*.so* $out/lib + cp -d ${glibc.out}/lib/libnss*.so* $out/lib + cp -d ${glibc.out}/lib/libresolv*.so* $out/lib + cp -d ${glibc.out}/lib/crt?.o $out/lib - cp -rL ${glibc}/include $out + cp -rL ${glibc.dev}/include $out chmod -R u+w $out/include # Hopefully we won't need these. @@ -166,7 +166,7 @@ rec { cp -d ${gawk}/bin/awk $out/bin cp ${gnutar}/bin/tar $out/bin cp ${gzip}/bin/gzip $out/bin - cp ${bzip2}/bin/bzip2 $out/bin + cp ${bzip2.bin}/bin/bzip2 $out/bin cp -d ${gnumake}/bin/* $out/bin cp -d ${patch}/bin/* $out/bin cp ${patchelf}/bin/* $out/bin @@ -199,9 +199,9 @@ rec { rm -rf $out/include/c++/*/ext/parallel cp -d ${gmpxx}/lib/libgmp*.so* $out/lib - cp -d ${mpfr}/lib/libmpfr*.so* $out/lib + cp -d ${mpfr.out}/lib/libmpfr*.so* $out/lib cp -d ${libmpc}/lib/libmpc*.so* $out/lib - cp -d ${zlib}/lib/libz.so* $out/lib + cp -d ${zlib.out}/lib/libz.so* $out/lib cp -d ${libelf}/lib/libelf.so* $out/lib # TBD: Why are these needed for cross but not native tools? @@ -213,7 +213,7 @@ rec { for i in as ld ar ranlib nm strip readelf objdump; do cp ${binutils}/bin/$i $out/bin done - cp -d ${binutils}/lib/lib*.so* $out/lib + cp -d ${binutils.out}/lib/lib*.so* $out/lib chmod -R u+w $out diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 68456942d40f..118eef57ffe3 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -37,20 +37,20 @@ rec { mkdir -p $out/bin $out/lib $out/libexec # Copy what we need of Glibc. - cp -d ${glibc}/lib/ld*.so* $out/lib - cp -d ${glibc}/lib/libc*.so* $out/lib - cp -d ${glibc}/lib/libc_nonshared.a $out/lib - cp -d ${glibc}/lib/libm*.so* $out/lib - cp -d ${glibc}/lib/libdl*.so* $out/lib - cp -d ${glibc}/lib/librt*.so* $out/lib - cp -d ${glibc}/lib/libpthread*.so* $out/lib - cp -d ${glibc}/lib/libnsl*.so* $out/lib - cp -d ${glibc}/lib/libutil*.so* $out/lib - cp -d ${glibc}/lib/libnss*.so* $out/lib - cp -d ${glibc}/lib/libresolv*.so* $out/lib - cp -d ${glibc}/lib/crt?.o $out/lib - - cp -rL ${glibc}/include $out + cp -d ${glibc.out}/lib/ld*.so* $out/lib + cp -d ${glibc.out}/lib/libc*.so* $out/lib + cp -d ${glibc.out}/lib/libc_nonshared.a $out/lib + cp -d ${glibc.out}/lib/libm*.so* $out/lib + cp -d ${glibc.out}/lib/libdl*.so* $out/lib + cp -d ${glibc.out}/lib/librt*.so* $out/lib + cp -d ${glibc.out}/lib/libpthread*.so* $out/lib + cp -d ${glibc.out}/lib/libnsl*.so* $out/lib + cp -d ${glibc.out}/lib/libutil*.so* $out/lib + cp -d ${glibc.out}/lib/libnss*.so* $out/lib + cp -d ${glibc.out}/lib/libresolv*.so* $out/lib + cp -d ${glibc.out}/lib/crt?.o $out/lib + + cp -rL ${glibc.dev}/include $out chmod -R u+w "$out" # glibc can contain linker scripts: find them, copy their deps, @@ -81,12 +81,12 @@ rec { cp -d ${gawk}/bin/awk $out/bin cp ${gnutar}/bin/tar $out/bin cp ${gzip}/bin/gzip $out/bin - cp ${bzip2}/bin/bzip2 $out/bin + cp ${bzip2.bin}/bin/bzip2 $out/bin cp -d ${gnumake}/bin/* $out/bin cp -d ${patch}/bin/* $out/bin cp ${patchelf}/bin/* $out/bin - cp -d ${gnugrep.pcre}/lib/libpcre*.so* $out/lib # needed by grep + cp -d ${gnugrep.pcre.out}/lib/libpcre*.so* $out/lib # needed by grep # Copy what we need of GCC. cp -d ${gcc.cc}/bin/gcc $out/bin @@ -112,16 +112,16 @@ rec { rm -rf $out/include/c++/*/ext/parallel cp -d ${gmpxx}/lib/libgmp*.so* $out/lib - cp -d ${mpfr}/lib/libmpfr*.so* $out/lib + cp -d ${mpfr.out}/lib/libmpfr*.so* $out/lib cp -d ${libmpc}/lib/libmpc*.so* $out/lib - cp -d ${zlib}/lib/libz.so* $out/lib + cp -d ${zlib.out}/lib/libz.so* $out/lib cp -d ${libelf}/lib/libelf.so* $out/lib # Copy binutils. for i in as ld ar ranlib nm strip readelf objdump; do cp ${binutils}/bin/$i $out/bin done - cp -d ${binutils}/lib/lib*.so* $out/lib + cp -d ${binutils.out}/lib/lib*.so* $out/lib chmod -R u+w $out diff --git a/pkgs/test/openftd/default.nix b/pkgs/test/openftd/default.nix index 91042fe05911..13b6b01f3259 100644 --- a/pkgs/test/openftd/default.nix +++ b/pkgs/test/openftd/default.nix @@ -45,5 +45,5 @@ stdenv.mkDerivation { glib gtk pkgconfig dbus_glib realCurl pcre libsexy libgnomeui gtkspell libnotify libgtkhtml ]; - configureFlags="--with-libcurl-libraries=${curl}/lib --with-libcurl-headers=${curl}/include --with-pcre_libraries=${pcre}/lib --with-pcre_headers=${pcre}/include"; + configureFlags="--with-libcurl-libraries=${curl.out}/lib --with-libcurl-headers=${curl.dev}/include --with-pcre_libraries=${pcre.out}/lib --with-pcre_headers=${pcre.dev}/include"; } diff --git a/pkgs/tools/X11/xlaunch/default.nix b/pkgs/tools/X11/xlaunch/default.nix index 06dfd28b7399..ccf998951a34 100644 --- a/pkgs/tools/X11/xlaunch/default.nix +++ b/pkgs/tools/X11/xlaunch/default.nix @@ -45,7 +45,7 @@ EOF else RESET_OPTION=\"-noreset\" fi; - XCMD=\"\$(egrep \"^Environment=\" /etc/systemd/system/display-manager.service | sed -e \"s/Environment=/ export /\" | sed -e '\\''s/#.*//'\\'' ; echo export _XARGS_=\\\$\\( grep xserver_arguments \\\$SLIM_CFGFILE \\| sed -e s/xserver_arguments// \\| sed -e s/:0/:\${_display}/ \\| sed -e s/vt7/vt\$((7+_display))/ \\) ; echo ${xorgserver}/bin/X \\\$_XARGS_ \$RESET_OPTION )\" + XCMD=\"\$(egrep \"^Environment=\" /etc/systemd/system/display-manager.service | sed -e \"s/Environment=/ export /\" | sed -e '\\''s/#.*//'\\'' ; echo export _XARGS_=\\\$\\( grep xserver_arguments \\\$SLIM_CFGFILE \\| sed -e s/xserver_arguments// \\| sed -e s/:0/:\${_display}/ \\| sed -e s/vt7/vt\$((7+_display))/ \\) ; echo ${xorgserver.out}/bin/X \\\$_XARGS_ \$RESET_OPTION )\" PRE_XCMD=\"\$(egrep \"^ExecStartPre=\" /etc/systemd/system/display-manager.service | sed -e \"\s/ExecStartPre=//\")\" echo \"\$PRE_XCMD\" echo \"\$PRE_XCMD\" | bash diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index b0c79342d42a..ae869cfb1c4f 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -48,7 +48,7 @@ buildPythonApplication rec { --set XKB_BINDIR "${xkbcomp}/bin" \ --set FONTCONFIG_FILE "${fontsConf}" \ --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \ - --prefix PATH : ${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin + --prefix PATH : ${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin ''; preCheck = "exit 0"; @@ -57,7 +57,7 @@ buildPythonApplication rec { #postFixup = '' # sed -i '2iexport XKB_BINDIR="${xkbcomp}/bin"' $out/bin/xpra # sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra - # sed -i '4iexport PATH=${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra + # sed -i '4iexport PATH=${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra #''; diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix index 7fd24a510d5d..f30c0751c3f2 100644 --- a/pkgs/tools/X11/xpra/gtk3.nix +++ b/pkgs/tools/X11/xpra/gtk3.nix @@ -54,7 +54,7 @@ buildPythonApplication rec { --set XKB_BINDIR "${xkbcomp}/bin" \ --set FONTCONFIG_FILE "${fontsConf}" \ --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \ - --prefix PATH : ${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin + --prefix PATH : ${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin ''; preCheck = "exit 0"; @@ -64,7 +64,7 @@ buildPythonApplication rec { #postFixup = '' # sed -i '2iexport XKB_BINDIR="${xkbcomp}/bin"' $out/bin/xpra # sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra - # sed -i '4iexport PATH=${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra + # sed -i '4iexport PATH=${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra #''; diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix index fddb9505c984..657d08026e4a 100644 --- a/pkgs/tools/admin/gtk-vnc/default.nix +++ b/pkgs/tools/admin/gtk-vnc/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { # Fix broken .la files preFixup = '' - sed 's,-lgpg-error,-L${libgpgerror}/lib -lgpg-error,' -i $out/lib/*.la + sed 's,-lgpg-error,-L${libgpgerror.out}/lib -lgpg-error,' -i $out/lib/*.la ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix index d6156ab49099..cac1b9b3c92c 100644 --- a/pkgs/tools/admin/tigervnc/default.nix +++ b/pkgs/tools/admin/tigervnc/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, xorg , autoconf, automake, cvs, libtool, nasm, pixman, xkeyboard_config , fontDirectories, libgcrypt, gnutls, pam, flex, bison, gettext -, cmake, libjpeg_turbo, fltk +, cmake, libjpeg_turbo, fltk, nettle, libiconv, libtasn1 }: with stdenv.lib; @@ -69,12 +69,12 @@ stdenv.mkDerivation rec { buildInputs = [ xorg.libX11 xorg.libXext gettext xorg.libICE xorg.libXtst xorg.libXi xorg.libSM xorg.libXft nasm libgcrypt gnutls pam pixman libjpeg_turbo fltk xorg.xineramaproto - xorg.libXinerama xorg.libXcursor + xorg.libXinerama xorg.libXcursor nettle libiconv libtasn1 ]; nativeBuildInputs = [ autoconf automake cvs xorg.utilmacros xorg.fontutil libtool flex bison - cmake + cmake gettext ] ++ xorg.xorgserver.nativeBuildInputs; @@ -91,4 +91,4 @@ stdenv.mkDerivation rec { # Prevent a store collision. priority = 4; }; -} \ No newline at end of file +} diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix index 71b43bf2de9a..36d3ebd9816f 100644 --- a/pkgs/tools/archivers/gnutar/default.nix +++ b/pkgs/tools/archivers/gnutar/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoreconfHook }: +{ stdenv, fetchurl, autoreconfHook, acl }: stdenv.mkDerivation rec { name = "gnutar-${version}"; @@ -24,7 +24,11 @@ stdenv.mkDerivation rec { substituteInPlace src/system.c --replace '_(' 'N_(' ''; - buildInputs = stdenv.lib.optional stdenv.isDarwin autoreconfHook; + outputs = [ "out" "info" ]; + + buildInputs = [ ] + ++ stdenv.lib.optional stdenv.isLinux acl + ++ stdenv.lib.optional stdenv.isDarwin autoreconfHook; # May have some issues with root compilation because the bootstrap tool # cannot be used as a login shell for now. diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index 768c7afd7eb7..f2fdc71dc86c 100644 --- a/pkgs/tools/archivers/unrar/default.nix +++ b/pkgs/tools/archivers/unrar/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ''; installPhase = '' - installBin unrar + install -Dt "$out/bin" unrar mkdir -p $out/share/doc/unrar cp acknow.txt license.txt \ diff --git a/pkgs/tools/archivers/unshield/default.nix b/pkgs/tools/archivers/unshield/default.nix index 251a62ee4894..fae72e5fcd84 100644 --- a/pkgs/tools/archivers/unshield/default.nix +++ b/pkgs/tools/archivers/unshield/default.nix @@ -1,15 +1,31 @@ -{stdenv, fetchsvn, zlib, autoconf, automake, libtool}: - -stdenv.mkDerivation { - name = "unshield-0.7pre3955"; - src = fetchsvn { - url = https://synce.svn.sourceforge.net/svnroot/synce/trunk/unshield; - rev = 3955; - sha256 = "0rpk7sb7b0v19qn4jn0iih505l4zkpns3mrbmm88p61xiz06zg7a"; +{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, openssl }: + +stdenv.mkDerivation rec { + name = "unshield-${version}"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "twogood"; + repo = "unshield"; + rev = version; + sha256 = "0cg84jr0ymvi8bmm3lx5hshhgm33vnr1rma1mfyqkc065c7gi9ja"; + }; + + patches = [ + # Fix build in separate directory + (fetchpatch { + url = "https://github.com/twogood/unshield/commit/07ce8d82f0f60b9048265410fa8063298ab520c4.patch"; + sha256 = "160pbk2r98lv3vd0qxsxm6647qn5mddj37jzfmccdja4dpxhxz2z"; + }) + ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ zlib openssl ]; + + meta = with stdenv.lib; { + description = "Tool and library to extract CAB files from InstallShield installers"; + homepage = https://github.com/twogood/unshield; + license = licenses.mit; + platforms = platforms.linux; }; - configureFlags = "--with-zlib=${zlib}"; - buildInputs = [autoconf automake libtool]; - preConfigure = '' - ./bootstrap - ''; } diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix index 8a0a3ef4ccaf..9eac9f071cb0 100644 --- a/pkgs/tools/archivers/zpaq/default.nix +++ b/pkgs/tools/archivers/zpaq/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="zpaq"; - version="709"; + version="710"; name="${baseName}-${version}"; - hash="105lwd9cckmmhg5v9ddf873wzbkdsl7wfqyd30kn0q78sg3c0avh"; - url="http://mattmahoney.net/dc/zpaq709.zip"; - sha256="105lwd9cckmmhg5v9ddf873wzbkdsl7wfqyd30kn0q78sg3c0avh"; + hash="089h09rlcyag1j1i38jjzwzm69p6p4wnh6n2rsbl3p5mcvdfnwhk"; + url="http://mattmahoney.net/dc/zpaq710.zip"; + sha256="089h09rlcyag1j1i38jjzwzm69p6p4wnh6n2rsbl3p5mcvdfnwhk"; }; in stdenv.mkDerivation { diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix index 6a7891d2ebe1..3268135b57b6 100644 --- a/pkgs/tools/archivers/zpaq/zpaqd.nix +++ b/pkgs/tools/archivers/zpaq/zpaqd.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="zpaqd"; - version="633"; + version="707"; name="${baseName}-${version}"; - hash="00zgc4mcmsd3d4afgzmrp6ymcyy8gb9kap815d5a3f9zhhzkz4dx"; - url="http://mattmahoney.net/dc/zpaqd633.zip"; - sha256="00zgc4mcmsd3d4afgzmrp6ymcyy8gb9kap815d5a3f9zhhzkz4dx"; + hash="0012jzs2gk232shgx60323jd3g1i5ab5sjydynz2d1k3dkjxs688"; + url="http://mattmahoney.net/dc/zpaqd707.zip"; + sha256="0012jzs2gk232shgx60323jd3g1i5ab5sjydynz2d1k3dkjxs688"; }; isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD; isx86 = stdenv.isi686 || stdenv.isx86_64; diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index 4532d6424116..0079270e29fa 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -128,7 +128,7 @@ in buildPythonApplication rec { }' beets/ui/commands.py '' + optionalString enableBadfiles '' sed -i -e '/self\.run_command(\[/ { - s,"flac","${flac}/bin/flac", + s,"flac","${flac.bin}/bin/flac", s,"mp3val","${mp3val}/bin/mp3val", }' beetsplug/badfiles.py '' + optionalString enableReplaygain '' diff --git a/pkgs/tools/audio/qastools/default.nix b/pkgs/tools/audio/qastools/default.nix index 920f6913d090..3743b38a2103 100644 --- a/pkgs/tools/audio/qastools/default.nix +++ b/pkgs/tools/audio/qastools/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { cmakeFlags = [ "-DCMAKE_INSALL_PREFIX=$out" - "-DALSA_INCLUDE=${alsaLib}/include/alsa/version.h" + "-DALSA_INCLUDE=${alsaLib.dev}/include/alsa/version.h" ]; meta = with stdenv.lib; { diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix index b46ea186dee3..79c08ec325aa 100644 --- a/pkgs/tools/backup/borg/default.nix +++ b/pkgs/tools/backup/borg/default.nix @@ -2,12 +2,12 @@ python3Packages.buildPythonApplication rec { name = "borgbackup-${version}"; - version = "1.0.0"; + version = "1.0.1"; namePrefix = ""; src = fetchurl { url = "https://pypi.python.org/packages/source/b/borgbackup/borgbackup-${version}.tar.gz"; - sha256 = "0wa6cvqs3rni5nwrgagigchcly8a53rxk56z0zn8iaii2cqrw2sh"; + sha256 = "1fhzsj66fnyz8059k0zx8ldhyjqj73980qrz48aqwz1097kc58jq"; }; nativeBuildInputs = with python3Packages; [ diff --git a/pkgs/tools/backup/store-backup/default.nix b/pkgs/tools/backup/store-backup/default.nix index 93a7f9e1e39f..9329cd23e83f 100644 --- a/pkgs/tools/backup/store-backup/default.nix +++ b/pkgs/tools/backup/store-backup/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { for p in $out/bin/* do wrapProgram "$p" \ --prefix PERL5LIB ":" "${perlPackages.DBFile}/lib/perl5/site_perl" \ - --prefix PATH ":" "${which}/bin:${bzip2}/bin" + --prefix PATH ":" "${which}/bin:${bzip2.bin}/bin" done patchShebangs $out diff --git a/pkgs/tools/bluetooth/obex-data-server/default.nix b/pkgs/tools/bluetooth/obex-data-server/default.nix index 53e854c34ebc..15167ee57b13 100644 --- a/pkgs/tools/bluetooth/obex-data-server/default.nix +++ b/pkgs/tools/bluetooth/obex-data-server/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { preConfigure = '' addToSearchPath PKG_CONFIG_PATH ${openobex}/lib64/pkgconfig - export PKG_CONFIG_PATH="${dbus_libs}/lib/pkgconfig:$PKG_CONFIG_PATH" + export PKG_CONFIG_PATH="${dbus_libs.dev}/lib/pkgconfig:$PKG_CONFIG_PATH" ''; meta = { diff --git a/pkgs/tools/bluetooth/obexd/default.nix b/pkgs/tools/bluetooth/obexd/default.nix index f900a81caa0e..a3486569b518 100644 --- a/pkgs/tools/bluetooth/obexd/default.nix +++ b/pkgs/tools/bluetooth/obexd/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "1i20dnibvnq9lnkkhajr5xx3kxlwf9q5c4jm19kyb0q1klzgzlb8"; }; - buildInputs = [ glib dbus.libs openobex bluez libical ]; + buildInputs = [ glib dbus openobex bluez libical ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index 66ff5612dd4a..a165ab2b157b 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -41,6 +41,8 @@ in stdenv.mkDerivation { postInstall = ""; }; + outputs = [ "dev" "bin" "static" ] ++ stdenv.lib.optional sharedLibrary "out"; + preBuild = stdenv.lib.optionalString sharedLibrary '' make -f ${if stdenv.isDarwin then "Makefile-libbz2_dylib" else "Makefile-libbz2_so"} ''; @@ -61,12 +63,15 @@ in stdenv.mkDerivation { ) ''); - installFlags = [ "PREFIX=$(out)" ]; + installFlags = [ "PREFIX=$(bin)" ]; postInstall = '' - rm $out/bin/bunzip2* $out/bin/bzcat* - ln -s bzip2 $out/bin/bunzip2 - ln -s bzip2 $out/bin/bzcat + rm $bin/bin/bunzip2* $bin/bin/bzcat* + ln -s bzip2 $bin/bin/bunzip2 + ln -s bzip2 $bin/bin/bzcat + + mkdir "$static" + mv "$bin/lib" "$static/" ''; postPatch = '' diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix index 6772e21cb0cb..009246b69a08 100644 --- a/pkgs/tools/compression/gzip/default.nix +++ b/pkgs/tools/compression/gzip/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, xz }: stdenv.mkDerivation rec { name = "gzip-1.6"; @@ -8,8 +8,12 @@ stdenv.mkDerivation rec { sha256 = "0ivqnbhiwd12q8hp3qw6rpsrpw2jg5y2mymk8cn22lsx90dfvprp"; }; + outputs = [ "out" "man" "info" ]; + enableParallelBuilding = true; + buildInputs = [ xz.bin ]; + preConfigure = if stdenv.isCygwin then '' sed -i lib/fpending.h -e 's,include <stdio_ext.h>,,' '' else null; diff --git a/pkgs/tools/compression/kzipmix/default.nix b/pkgs/tools/compression/kzipmix/default.nix index f768189040b5..6fcff7b29280 100644 --- a/pkgs/tools/compression/kzipmix/default.nix +++ b/pkgs/tools/compression/kzipmix/default.nix @@ -12,8 +12,8 @@ stdenv.mkDerivation { mkdir -p $out/bin cp kzip zipmix $out/bin - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/kzip - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/zipmix + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/bin/kzip + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/bin/zipmix ''; meta = { diff --git a/pkgs/tools/compression/pbzip2/default.nix b/pkgs/tools/compression/pbzip2/default.nix index 352b4db6a341..fb3da5e48d68 100644 --- a/pkgs/tools/compression/pbzip2/default.nix +++ b/pkgs/tools/compression/pbzip2/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, bzip2 }: let major = "1.1"; - version = "${major}.12"; + version = "${major}.13"; in stdenv.mkDerivation rec { name = "pbzip2-${version}"; src = fetchurl { url = "https://launchpad.net/pbzip2/${major}/${version}/+download/${name}.tar.gz"; - sha256 = "1vk6065dv3a47p86vmp8hv3n1ygd9hraz0gq89gvzlx7lmcb6fsp"; + sha256 = "1rnvgcdixjzbrmcr1nv9b6ccrjfrhryaj7jwz28yxxv6lam3xlcg"; }; buildInputs = [ bzip2 ]; diff --git a/pkgs/tools/compression/pxz/default.nix b/pkgs/tools/compression/pxz/default.nix index 07c3e205a982..f6424b5e8803 100644 --- a/pkgs/tools/compression/pxz/default.nix +++ b/pkgs/tools/compression/pxz/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { gcc -o pxz pxz.c -llzma \ -fopenmp -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2 \ -DPXZ_BUILD_DATE=\"nixpkgs\" \ - -DXZ_BINARY=\"${xz}/bin/xz\" \ + -DXZ_BINARY=\"${xz.bin}/bin/xz\" \ -DPXZ_VERSION=\"${version}\" ''; diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 5f5ee28ca063..5d6a8634b1ba 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1da071wyx921pyx3zkxlnbpp14p6km98pnp66mg1arwi9dxgbxbg"; }; + outputs = [ "dev" "out" "bin" "man" "doc" ]; + doCheck = true; # In stdenv-linux, prevent a dependency on bootstrap-tools. diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index a53e93960aef..c091158bff63 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -8,7 +8,11 @@ stdenv.mkDerivation rec { sha256 = "1m72lk90b5i3h9qnmss6aygrzyn8x2avy3hyaq2fb0jglkrkz6ar"; }; - buildInputs = [ pkgconfig libuuid ]; + outputs = [ "bin" "out" "man" ]; + outputDev = "bin"; # just for *.pc + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libuuid ]; crossAttrs = { preConfigure = '' @@ -16,14 +20,19 @@ stdenv.mkDerivation rec { ''; }; - # libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency). - configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck --enable-symlink-install"; - - enableParallelBuilding = true; + configureFlags = [ + "--enable-elf-shlibs" "--enable-symlink-install" "--enable-relative-symlinks" + # libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency). + "--disable-libuuid" "--disable-uuidd" "--disable-libblkid" "--disable-fsck" + ]; - preInstall = "installFlagsArray=('LN=ln -s')"; + # hacky way to make it install *.pc + postInstall = '' + make install-libs + rm "$out"/lib/*.a + ''; - postInstall = "make install-libs"; + enableParallelBuilding = true; meta = { homepage = http://e2fsprogs.sourceforge.net/; diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index 7fd56e7dd7f8..94bfb5fb4988 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -6,11 +6,11 @@ let s = # Generated upstream information rec { baseName="glusterfs"; - version="3.7.8"; + version="3.7.10"; name="${baseName}-${version}"; - hash="0r5l8ax1gavhl06k30lg88xs8fj7w6iyd69s5qq5fw1jvavkx709"; - url="http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.8/glusterfs-3.7.8.tar.gz"; - sha256="0r5l8ax1gavhl06k30lg88xs8fj7w6iyd69s5qq5fw1jvavkx709"; + hash="0shqvhqlmiywrr3vy8yazc8xcj6b04ci2zjgyca2vy7wa60lzfgg"; + url="http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.10/glusterfs-3.7.10.tar.gz"; + sha256="0shqvhqlmiywrr3vy8yazc8xcj6b04ci2zjgyca2vy7wa60lzfgg"; }; buildInputs = [ fuse bison flex_2_5_35 openssl python ncurses readline diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix index d3b3b716ffa0..7a8501b7a891 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, buildPythonApplication, pykickstart, pyparted, pyblock , libselinux, cryptsetup, multipath_tools, lsof, utillinux -, useNixUdev ? true, udev ? null +, useNixUdev ? true, libudev ? null }: -assert useNixUdev -> udev != null; +assert useNixUdev -> libudev != null; buildPythonApplication rec { name = "blivet-${version}"; @@ -21,21 +21,21 @@ buildPythonApplication rec { sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \ blivet/devicelibs/mpath.py blivet/devices.py sed -i -e '/"wipefs"/ { - s|wipefs|${utillinux}/sbin/wipefs| + s|wipefs|${utillinux.bin}/sbin/wipefs| s/-f/--force/ }' blivet/formats/__init__.py sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py - sed -i -r -e 's|"(u?mount)"|"${utillinux}/bin/\1"|' blivet/util.py + sed -i -r -e 's|"(u?mount)"|"${utillinux.bin}/bin/\1"|' blivet/util.py sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py '' + stdenv.lib.optionalString useNixUdev '' sed -i -e '/find_library/,/find_library/ { - c libudev = "${udev}/lib/libudev.so.1" + c libudev = "${libudev.out}/lib/libudev.so.1" }' blivet/pyudev.py ''; propagatedBuildInputs = [ pykickstart pyparted pyblock libselinux cryptsetup - ] ++ stdenv.lib.optional useNixUdev udev; + ] ++ stdenv.lib.optional useNixUdev libudev; # tests are currently _heavily_ broken upstream doCheck = false; diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix index 1d9838168952..bdf0a5c4323d 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/default.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix @@ -12,7 +12,7 @@ let inherit stdenv fetchurl buildPythonApplication; inherit pykickstart pyparted pyblock cryptsetup multipath_tools; inherit useNixUdev; - inherit (pkgs) lsof utillinux udev; + inherit (pkgs) lsof utillinux libudev; libselinux = pkgs.libselinux.override { enablePython = true; }; }; @@ -29,12 +29,12 @@ let lvm2 = import ./lvm2.nix { inherit stdenv fetchurl; - inherit (pkgs) pkgconfig utillinux udev coreutils; + inherit (pkgs) pkgconfig utillinux libudev systemd coreutils; }; multipath_tools = import ./multipath-tools.nix { inherit stdenv fetchurl lvm2; - inherit (pkgs) readline udev libaio gzip; + inherit (pkgs) readline systemd libaio gzip; }; parted = import ./parted.nix { diff --git a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix index 9e2b0c900794..b92c40ba99e6 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }: +{ stdenv, fetchurl, pkgconfig, libudev, systemd, utillinux, coreutils }: let v = "2.02.106"; @@ -15,7 +15,7 @@ stdenv.mkDerivation { configureFlags = "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib"; - buildInputs = [ pkgconfig udev ]; + buildInputs = [ pkgconfig libudev ]; preConfigure = '' @@ -23,7 +23,7 @@ stdenv.mkDerivation { --replace /usr/bin/tr ${coreutils}/bin/tr substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \ --replace /usr/sbin/lvm $out/sbin/lvm \ - --replace /usr/bin/udevadm ${udev}/bin/udevadm + --replace /usr/bin/udevadm ${systemd.udev.bin}/bin/udevadm sed -i /DEFAULT_SYS_DIR/d Makefile.in sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in @@ -42,7 +42,7 @@ stdenv.mkDerivation { postInstall = '' substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \ - --replace $out/sbin/blkid ${utillinux}/sbin/blkid + --replace $out/sbin/blkid ${utillinux.bin}/sbin/blkid # Systemd stuff mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators diff --git a/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix b/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix index 90722d74ace1..b78605504bf8 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, lvm2, libaio, gzip, readline, udev }: +{ stdenv, fetchurl, lvm2, libaio, gzip, readline, systemd }: stdenv.mkDerivation rec { name = "multipath-tools-0.4.9"; @@ -22,8 +22,8 @@ stdenv.mkDerivation rec { substituteInPlace kpartx/kpartx.rules --replace /sbin/kpartx $out/sbin/kpartx substituteInPlace kpartx/kpartx_id --replace /sbin/dmsetup ${lvm2}/sbin/dmsetup - substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${udev}/lib/udev/scsi_id - substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${udev}/lib/udev/scsi_id + substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${systemd.udev.lib}/lib/udev/scsi_id + substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${systemd.udev.lib}/lib/udev/scsi_id ''; meta = { diff --git a/pkgs/tools/filesystems/svnfs/default.nix b/pkgs/tools/filesystems/svnfs/default.nix index fba066d0f4cb..333714182177 100644 --- a/pkgs/tools/filesystems/svnfs/default.nix +++ b/pkgs/tools/filesystems/svnfs/default.nix @@ -12,10 +12,10 @@ stdenv.mkDerivation { # why is this required? preConfigure='' - export LD_LIBRARY_PATH=${subversion}/lib + export LD_LIBRARY_PATH=${subversion.out}/lib ''; - NIX_CFLAGS_COMPILE="-I ${subversion}/include/subversion-1"; + NIX_CFLAGS_COMPILE="-I ${subversion.dev}/include/subversion-1"; NIX_LDFLAGS="-lsvn_client-1"; meta = { diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix index de61809a1aea..e30f67af3e95 100644 --- a/pkgs/tools/filesystems/xfsprogs/default.nix +++ b/pkgs/tools/filesystems/xfsprogs/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { buildInputs = [ gettext libuuid readline ]; - outputs = [ "out" "lib" ]; + outputs = [ "dev" "out" "bin" ]; # TODO: review xfs preConfigure = '' NIX_LDFLAGS="$(echo $NIX_LDFLAGS | sed "s,$out,$lib,g")" @@ -39,8 +39,6 @@ stdenv.mkDerivation rec { "XGETTEXT=xgettext" "--disable-lib64" "--enable-readline" - "--includedir=$(lib)/include" - "--libdir=$(lib)/lib" ]; installFlags = [ "install-dev" ]; diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix index 8f090c297813..556cb674212d 100644 --- a/pkgs/tools/filesystems/xtreemfs/default.nix +++ b/pkgs/tools/filesystems/xtreemfs/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { --replace "/usr/local" "${valgrind}" substituteInPlace cpp/CMakeLists.txt \ - --replace '"/lib64" "/usr/lib64"' '"${attr}/lib" "${fuse}/lib"' + --replace '"/lib64" "/usr/lib64"' '"${attr.out}/lib" "${fuse}/lib"' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${fuse}/include" export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -L${fuse}/lib" diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix index f32f180f1d6e..966b3df8b175 100644 --- a/pkgs/tools/filesystems/yandex-disk/default.nix +++ b/pkgs/tools/filesystems/yandex-disk/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { ${patchelf}/bin/patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${zlib}/lib:${p.gcclib}" \ + --set-rpath "${zlib.out}/lib:${p.gcclib}" \ $out/bin/yandex-disk ''; diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix index db7fad78a49c..1c5c4983c801 100644 --- a/pkgs/tools/graphics/asymptote/default.nix +++ b/pkgs/tools/graphics/asymptote/default.nix @@ -10,11 +10,11 @@ let s = # Generated upstream information rec { baseName="asymptote"; - version="2.36"; + version="2.37"; name="${baseName}-${version}"; - hash="0l0pznrn4k3v07cmn5rx8nq088zjs9bv2mkcks65z5lqlk5pccnd"; - url="mirror://sourceforge/project/asymptote/2.36/asymptote-2.36.src.tgz"; - sha256="0l0pznrn4k3v07cmn5rx8nq088zjs9bv2mkcks65z5lqlk5pccnd"; + hash="16nh02m52mk9a53i8wc6l9vg710gnzr3lfbypcbvamghvaj0458i"; + url="mirror://sourceforge/project/asymptote/2.37/asymptote-2.37.src.tgz"; + sha256="16nh02m52mk9a53i8wc6l9vg710gnzr3lfbypcbvamghvaj0458i"; }; buildInputs = [ freeglut ghostscriptX imagemagick fftw diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix index 8a9df4982a3e..2b78f1fba405 100644 --- a/pkgs/tools/graphics/gnuplot/default.nix +++ b/pkgs/tools/graphics/gnuplot/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/gnuplot \ --prefix PATH : '${gnused}/bin' \ --prefix PATH : '${coreutils}/bin' \ - --prefix PATH : '${fontconfig}/bin' \ + --prefix PATH : '${fontconfig.bin}/bin' \ --run '. ${./set-gdfontpath-from-fontconfig.sh}' ''; diff --git a/pkgs/tools/graphics/graphviz/2.0.nix b/pkgs/tools/graphics/graphviz/2.0.nix index 04fff8053819..02b700111de3 100644 --- a/pkgs/tools/graphics/graphviz/2.0.nix +++ b/pkgs/tools/graphics/graphviz/2.0.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-pngincludedir=${libpng}/include" - "--with-pnglibdir=${libpng}/lib" + "--with-pnglibdir=${libpng.out}/lib" "--with-jpegincludedir=${libjpeg}/include" - "--with-jpeglibdir=${libjpeg}/lib" + "--with-jpeglibdir=${libjpeg.out}/lib" "--with-expatincludedir=${expat}/include" - "--with-expatlibdir=${expat}/lib" + "--with-expatlibdir=${expat.out}/lib" ] ++ stdenv.lib.optional (xlibsWrapper == null) "--without-x"; diff --git a/pkgs/tools/graphics/graphviz/2.32.nix b/pkgs/tools/graphics/graphviz/2.32.nix index 2743bd78aa7c..8da3ea0a1749 100644 --- a/pkgs/tools/graphics/graphviz/2.32.nix +++ b/pkgs/tools/graphics/graphviz/2.32.nix @@ -17,15 +17,15 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals (xorg != null) [ xorg.xlibsWrapper xorg.libXrender ] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext; - CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo}/include/cairo"; + CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo.dev}/include/cairo"; configureFlags = [ "--with-pngincludedir=${libpng}/include" - "--with-pnglibdir=${libpng}/lib" + "--with-pnglibdir=${libpng.out}/lib" "--with-jpegincludedir=${libjpeg}/include" - "--with-jpeglibdir=${libjpeg}/lib" + "--with-jpeglibdir=${libjpeg.out}/lib" "--with-expatincludedir=${expat}/include" - "--with-expatlibdir=${expat}/lib" + "--with-expatlibdir=${expat.out}/lib" "--with-cgraph=no" "--with-sparse=no" ] diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix index 66f36a6f63c9..ce620cf30177 100644 --- a/pkgs/tools/graphics/graphviz/default.nix +++ b/pkgs/tools/graphics/graphviz/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw +{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat , yacc, libtool, fontconfig, pango, gd, xorg, gts, libdevil, gettext, cairo , flex }: @@ -22,21 +22,14 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libpng libjpeg expat yacc libtool fontconfig gd gts libdevil flex pango - ] ++ stdenv.lib.optionals (xorg != null) [ xorg.xlibsWrapper xorg.libXrender libXaw ] + ] ++ stdenv.lib.optionals (xorg != null) + (with xorg; [ xlibsWrapper libXrender libXaw libXpm ]) ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext; CPPFLAGS = stdenv.lib.optionalString (xorg != null && stdenv.system == "x86_64-darwin") - "-I${cairo}/include/cairo"; + "-I${cairo.dev}/include/cairo"; - configureFlags = - [ "--with-pngincludedir=${libpng}/include" - "--with-pnglibdir=${libpng}/lib" - "--with-jpegincludedir=${libjpeg}/include" - "--with-jpeglibdir=${libjpeg}/lib" - "--with-expatincludedir=${expat}/include" - "--with-expatlibdir=${expat}/lib" - ] - ++ stdenv.lib.optional (xorg == null) "--without-x"; + configureFlags = stdenv.lib.optional (xorg == null) "--without-x"; postPatch = stdenv.lib.optionalString stdenv.isDarwin '' for foo in cmd/dot/Makefile.in cmd/edgepaint/Makefile.in \ diff --git a/pkgs/tools/graphics/imgurbash/default.nix b/pkgs/tools/graphics/imgurbash/default.nix deleted file mode 100644 index 66f85af87935..000000000000 --- a/pkgs/tools/graphics/imgurbash/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, fetchurl, bash, curl, xsel }: - -stdenv.mkDerivation { - name = "imgurbash-4"; - - src = fetchurl { - url = "https://imgur.com/tools/imgurbash.sh"; - sha256 = "16m7dn5vqzx1q4pzssnwiwajfzrbhrz0niyhf5abxi1lwr3h0ca1"; - }; - - buildCommand = '' - mkdir -p $out/bin - cat <<EOF >$out/bin/imgurbash - #!${bash}/bin/bash - PATH=${stdenv.lib.makeSearchPath "bin" [curl xsel]}:\$PATH - EOF - cat $src >>$out/bin/imgurbash - chmod +x $out/bin/imgurbash - ''; - - meta = with stdenv.lib; { - description = "A simple bash script to upload an image to imgur from the commandline"; - license = licenses.publicDomain; - platforms = platforms.linux; - maintainers = with maintainers; [ abbradar ]; - }; -} diff --git a/pkgs/tools/graphics/imgurbash2/default.nix b/pkgs/tools/graphics/imgurbash2/default.nix new file mode 100644 index 000000000000..5e7b4dcb3872 --- /dev/null +++ b/pkgs/tools/graphics/imgurbash2/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, bash, curl, xsel }: + +stdenv.mkDerivation rec { + name = "imgurbash2-${version}"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "ram-on"; + repo = "imgurbash2"; + rev = version; + sha256 = "0w8xfdvv6h0cqln9a2b1rskpyv4v5qsywqzg10smg05xlrh9f5nx"; + }; + + installPhase = '' + mkdir -p $out/bin + cat <<EOF >$out/bin/imgurbash2 + #!${bash}/bin/bash + PATH=${stdenv.lib.makeSearchPath "bin" [curl xsel]}:\$PATH + EOF + cat imgurbash2 >> $out/bin/imgurbash2 + chmod +x $out/bin/imgurbash2 + ''; + + meta = with stdenv.lib; { + description = "A shell script that uploads images to imgur"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + homepage = https://github.com/ram-on/imgurbash2; + }; +} diff --git a/pkgs/tools/graphics/jhead/default.nix b/pkgs/tools/graphics/jhead/default.nix index dfbd7c4e5e06..2fb1c9325c03 100644 --- a/pkgs/tools/graphics/jhead/default.nix +++ b/pkgs/tools/graphics/jhead/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { substituteInPlace jhead.c \ --replace "\" Compiled: \"__DATE__" "" \ - --replace "jpegtran -trim" "${libjpeg}/bin/jpegtran -trim" + --replace "jpegtran -trim" "${libjpeg.bin}/bin/jpegtran -trim" ''; installPhase = '' diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 3b9f4e64d07d..4a52434d379a 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { cp config.mk.in config.mk echo "STATICLIB_TOO = n" >> config.mk substituteInPlace "config.mk" \ - --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff}/lib/libtiff.so" \ + --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff.out}/lib/libtiff.so" \ --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff}/include" ''; diff --git a/pkgs/tools/graphics/pdfread/default.nix b/pkgs/tools/graphics/pdfread/default.nix index 69ab7f27e343..a4184fd9514b 100644 --- a/pkgs/tools/graphics/pdfread/default.nix +++ b/pkgs/tools/graphics/pdfread/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation { cp -R *.py pylrs $PYDIR wrapProgram $out/bin/pdfread.py --prefix PYTHONPATH : $PYTHONPATH:${pillow}/$LIBSUFFIX/PIL:$PYDIR \ - --prefix PATH : ${ghostscript}/bin:${pngnq}/bin:${djvulibre}/bin:${unrar}/bin:${optipng}/bin + --prefix PATH : ${ghostscript}/bin:${pngnq}/bin:${djvulibre.bin}/bin:${unrar}/bin:${optipng}/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/graphics/pngcheck/default.nix b/pkgs/tools/graphics/pngcheck/default.nix index 160badaf668b..d288e7018e60 100644 --- a/pkgs/tools/graphics/pngcheck/default.nix +++ b/pkgs/tools/graphics/pngcheck/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { # ''; makefile = "Makefile.unx"; - makeFlags = "ZPATH=${zlib}/lib"; + makeFlags = "ZPATH=${zlib.out}/lib"; buildInputs = [ zlib ]; diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix index 6a6f3e7b13c6..3bcbc5d5eade 100644 --- a/pkgs/tools/graphics/pngcrush/default.nix +++ b/pkgs/tools/graphics/pngcrush/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libpng }: stdenv.mkDerivation rec { - name = "pngcrush-1.7.92"; + name = "pngcrush-1.8.1"; src = fetchurl { url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz"; - sha256 = "0dlwbqckv90cpvg8qhkl3nk5yb75ddi61vbpmmp9n0j6qq9lp6y4"; + sha256 = "1h3sibmmiq4ynvf8hrpksfrbcmszxh4bqpkqy5c0m8828c7drpr9"; }; makeFlags = [ "CC=cc" "LD=cc" ]; # gcc and/or clang compat diff --git a/pkgs/tools/graphics/pngout/default.nix b/pkgs/tools/graphics/pngout/default.nix index 471823ed9235..afc1a2519fe1 100644 --- a/pkgs/tools/graphics/pngout/default.nix +++ b/pkgs/tools/graphics/pngout/default.nix @@ -18,9 +18,9 @@ stdenv.mkDerivation { cp ${folder}/pngout $out/bin ${if stdenv.system == "i686-linux" then '' - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/pngout + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/bin/pngout '' else if stdenv.system == "x86_64-linux" then '' - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/bin/pngout + patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/pngout '' else ""} ''; diff --git a/pkgs/tools/graphics/quirc/default.nix b/pkgs/tools/graphics/quirc/default.nix index d84989d4372b..6da565b292f9 100644 --- a/pkgs/tools/graphics/quirc/default.nix +++ b/pkgs/tools/graphics/quirc/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { src = fetchgit { inherit (s) url sha256 rev; }; - NIX_CFLAGS_COMPILE="-I${SDL}/include/SDL"; + NIX_CFLAGS_COMPILE="-I${SDL.dev}/include/SDL"; configurePhase = '' sed -e 's/-[og] root//g' -i Makefile ''; diff --git a/pkgs/tools/inputmethods/m17n-db/default.nix b/pkgs/tools/inputmethods/m17n-db/default.nix index fbe7188ef9ac..944d6de1084a 100644 --- a/pkgs/tools/inputmethods/m17n-db/default.nix +++ b/pkgs/tools/inputmethods/m17n-db/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, gettext}: +{ stdenv, fetchurl, gettext }: stdenv.mkDerivation rec { name = "m17n-db-1.7.0"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [ gettext ]; configureFlags = stdenv.lib.optional (stdenv ? glibc) - "--with-charmaps=${stdenv.glibc}/share/i18n/charmaps" + "--with-charmaps=${stdenv.glibc.out}/share/i18n/charmaps" ; meta = { diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 3bd5a9cbc589..377e2d62eef6 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, perl, gmp ? null +{ lib, stdenv, fetchurl, perl, xz, gmp ? null , aclSupport ? false, acl ? null , selinuxSupport? false, libselinux ? null, libsepol ? null , autoconf, automake114x, texinfo @@ -27,9 +27,11 @@ let sed '2i echo Skipping cp sparse test && exit 0' -i ./tests/cp/sparse.sh ''; + outputs = [ "out" "info" ]; + + nativeBuildInputs = [ perl xz.bin ]; configureFlags = optionalString stdenv.isSunOS "ac_cv_func_inotify_init=no"; - nativeBuildInputs = [ perl ]; buildInputs = [ gmp ] ++ optional aclSupport acl ++ optionals stdenv.isCygwin [ autoconf automake114x texinfo ] # due to patch diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix index 51b9a1e847e6..617cd5f55481 100644 --- a/pkgs/tools/misc/debian-devscripts/default.nix +++ b/pkgs/tools/misc/debian-devscripts/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { -e "s@/usr/(s|)bin/sendmail@${sendmailPath}@g" \ -e "s@/usr/bin/diff@${diffutils}/bin/diff@g" \ -e "s@/usr/bin/gpgv(2|)@${gnupg}/bin/gpgv2@g" \ - -e "s@(command -v|/usr/bin/)curl@${curl}/bin/curl@g" \ + -e "s@(command -v|/usr/bin/)curl@${curl.bin}/bin/curl@g" \ -i {} + sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile sed -r \ diff --git a/pkgs/tools/misc/entr/default.nix b/pkgs/tools/misc/entr/default.nix index e18b115df87c..c6bca6e9d8f6 100644 --- a/pkgs/tools/misc/entr/default.nix +++ b/pkgs/tools/misc/entr/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace Makefile.bsd --replace /bin/echo echo substituteInPlace entr.c --replace /bin/cat ${coreutils}/bin/cat - substituteInPlace entr.c --replace /usr/bin/clear ${ncurses}/bin/clear + substituteInPlace entr.c --replace /usr/bin/clear ${ncurses.out}/bin/clear substituteInPlace entr.1 --replace /bin/cat cat substituteInPlace entr.1 --replace /usr/bin/clear clear ''; diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index b6ab3985f239..1271aa8c9863 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { doCheck = !stdenv.isDarwin; + outputs = [ "out" "info" ]; + crossAttrs = { # http://osdir.com/ml/bug-findutils-gnu/2009-08/msg00026.html configureFlags = [ "gl_cv_func_wcwidth_works=yes" ]; diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 8e52adc76991..ae1df626fe5d 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -98,6 +98,9 @@ stdenv.mkDerivation rec { postInstall = '' paxmark pms $out/sbin/grub-{probe,bios-setup} + + # Avoid a runtime reference to gcc + sed -i $out/lib/grub/*/modinfo.sh -e "/grub_target_cppflags=/ s|'.*'|' '|" ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/misc/kde-gtk-config/default.nix b/pkgs/tools/misc/kde-gtk-config/default.nix index 809d0c65c6ec..bf868790de2d 100644 --- a/pkgs/tools/misc/kde-gtk-config/default.nix +++ b/pkgs/tools/misc/kde-gtk-config/default.nix @@ -22,8 +22,8 @@ stdenv.mkDerivation { ]; cmakeFlags = '' - -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include - -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include + -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include + -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0 -DKDE4_LIBEXEC_INSTALL_DIR=lib/kde4/libexec ''; diff --git a/pkgs/tools/misc/mcrl2/default.nix b/pkgs/tools/misc/mcrl2/default.nix deleted file mode 100644 index a67081d5ef21..000000000000 --- a/pkgs/tools/misc/mcrl2/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{stdenv, fetchurl, mesa, wxGTK, libX11}: - -stdenv.mkDerivation { - name = "mcrl2-200901"; - src = fetchurl { - url = http://www.win.tue.nl/mcrl2/download/release/mcrl2-200901-src.tar.bz2 ; - sha256 = "0lji31d7dv15q8092b8g01j023dd7miq3nw8klgc8jd136xpwdp9"; - }; - - buildInputs = [ mesa wxGTK libX11 ] ; -} - - - diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix index b79f43cfbc35..77fcb186ef1d 100644 --- a/pkgs/tools/misc/pipelight/default.nix +++ b/pkgs/tools/misc/pipelight/default.nix @@ -32,7 +32,7 @@ in stdenv.mkDerivation rec { --wine-path=${wine_custom} \ --gpg-exec=${gnupg}/bin/gpg2 \ --bash-interp=${bash}/bin/bash \ - --downloader=${curl}/bin/curl + --downloader=${curl.bin}/bin/curl $configureFlags ''; diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix index 40540ad1c20d..a1a12a82471d 100644 --- a/pkgs/tools/misc/plowshare/default.nix +++ b/pkgs/tools/misc/plowshare/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { make PREFIX="$out" install for fn in plow{del,down,list,up}; do - wrapProgram "$out/bin/$fn" --prefix PATH : "${curl}/bin:${spidermonkey}/bin" + wrapProgram "$out/bin/$fn" --prefix PATH : "${curl.bin}/bin:${spidermonkey.out}/bin" done ''; diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix index 55c44770c3e1..2c1f3d77def3 100644 --- a/pkgs/tools/misc/profile-cleaner/default.nix +++ b/pkgs/tools/misc/profile-cleaner/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { installPhase = '' PREFIX=\"\" DESTDIR=$out make install wrapProgram $out/bin/profile-cleaner \ - --prefix PATH : "${parallel}/bin:${sqlite}/bin" + --prefix PATH : "${parallel}/bin:${sqlite.bin}/bin" ''; meta = { diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix index 4c60e790238e..0d2982c022f9 100644 --- a/pkgs/tools/misc/staruml/default.nix +++ b/pkgs/tools/misc/staruml/default.nix @@ -1,5 +1,12 @@ -{ stdenv, fetchurl, makeWrapper, dpkg, patchelf, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, GConf, cups, libgcrypt, dbus, udev }: +{ stdenv, fetchurl, makeWrapper +, dpkg, patchelf +, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, GConf, cups, libgcrypt, dbus, libudev }: +let + inherit (stdenv) lib; + LD_LIBRARY_PATH = lib.makeLibraryPath + [ glib gtk2 gdk_pixbuf alsaLib nss nspr GConf cups libgcrypt dbus ]; +in stdenv.mkDerivation rec { version = "2.6.0"; name = "staruml-${version}"; @@ -16,13 +23,13 @@ stdenv.mkDerivation rec { buildInputs = [ dpkg ]; nativeBuildInputs = [ makeWrapper ]; - + unpackPhase = '' mkdir pkg dpkg-deb -x $src pkg sourceRoot=pkg ''; - + installPhase = '' mkdir $out mv opt/staruml $out/bin @@ -30,14 +37,14 @@ stdenv.mkDerivation rec { ${patchelf}/bin/patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ $out/bin/StarUML - + mkdir -p $out/lib - + ln -s ${stdenv.cc.cc}/lib/libstdc++.so.6 $out/lib/ - ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0 + ln -s ${libudev.out}/lib/libudev.so.1 $out/lib/libudev.so.0 wrapProgram $out/bin/StarUML \ - --prefix LD_LIBRARY_PATH : $out/lib:${glib}/lib:${gtk2}/lib:${gdk_pixbuf}/lib/:${alsaLib}/lib/:${nss}/lib/:${nspr}/lib/:${GConf}/lib/:${cups}/lib/:${libgcrypt}/lib/:${dbus}/lib/ + --prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH} ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix index aab229c0ad22..7bd79b308859 100644 --- a/pkgs/tools/misc/tmux/default.nix +++ b/pkgs/tools/misc/tmux/default.nix @@ -1,15 +1,28 @@ -{ stdenv, fetchurl, ncurses, libevent, pkgconfig }: +{ stdenv, fetchFromGitHub, autoreconfHook, ncurses, libevent, pkgconfig }: + +let + + bashCompletion = fetchFromGitHub { + owner = "przepompownia"; + repo = "tmux-bash-completion"; + rev = "678a27616b70c649c6701cae9cd8c92b58cc051b"; + sha256 = "1d2myrh4xiay9brsxafb02pi922760sdkyyy5xjm4sfh4iimc4zf"; + }; + +in stdenv.mkDerivation rec { name = "tmux-${version}"; - version = "2.1"; + version = "2.2"; - src = fetchurl { - url = "https://github.com/tmux/tmux/releases/download/${version}/${name}.tar.gz"; - sha256 = "0xk1mylsb08sf0w597mdgj9s6hxxjvjvjd6bngpjvvxwyixlwmii"; + src = fetchFromGitHub { + owner = "tmux"; + repo = "tmux"; + rev = version; + sha256 = "04k9yxjp357sdw6365z6qx87vmwygl3v3wpvd78pp63ky5hzbbay"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ ncurses libevent ]; @@ -20,7 +33,7 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $out/etc/bash_completion.d - cp -v examples/bash_completion_tmux.sh $out/etc/bash_completion.d/tmux + cp -v ${bashCompletion}/completions/tmux $out/etc/bash_completion.d/tmux ''; meta = { @@ -44,6 +57,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ thammers ]; + maintainers = with stdenv.lib.maintainers; [ thammers fpletz ]; }; } diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix index e3adbfe3887d..75b3cb160671 100644 --- a/pkgs/tools/misc/trash-cli/default.nix +++ b/pkgs/tools/misc/trash-cli/default.nix @@ -19,7 +19,7 @@ python2Packages.buildPythonApplication rec { src = ./nix-paths.patch; df = "${coreutils}/bin/df"; python = "${python2}/bin/${python2.executable}"; - libc = "${stdenv.cc.libc}/lib/libc.so.6"; + libc = "${stdenv.cc.libc.out}/lib/libc.so.6"; }) # Apply https://github.com/JaviMerino/trash-cli/commit/4f45a37a3 diff --git a/pkgs/tools/misc/wv/default.nix b/pkgs/tools/misc/wv/default.nix index dbb46cea832a..b0943f469b3e 100644 --- a/pkgs/tools/misc/wv/default.nix +++ b/pkgs/tools/misc/wv/default.nix @@ -1,12 +1,14 @@ { stdenv, fetchurl, zlib, imagemagick, libpng, glib, pkgconfig, libgsf , libxml2, bzip2 }: -stdenv.mkDerivation { - name = "wv-1.2.4"; +stdenv.mkDerivation rec { + pname = "wv"; + version = "1.2.9"; + name = "${pname}-${version}"; src = fetchurl { - url = mirror://sourceforge/wvware/wv-1.2.4.tar.gz; - sha256 = "1mn2ax6qjy3pvixlnvbkn6ymy6y4l2wxrr4brjaczm121s8hjcb7"; + url = "http://www.abisource.com/downloads/${pname}/${version}/${name}.tar.gz"; + sha256 = "17f16lkdv1c3amaz2hagiicih59ynpp4786k1m2qa1sw68xhswsc"; }; buildInputs = [ zlib imagemagick libpng glib pkgconfig libgsf libxml2 bzip2 ]; diff --git a/pkgs/tools/misc/xdummy/default.nix b/pkgs/tools/misc/xdummy/default.nix index 30aba19930c7..1f4dbc863327 100644 --- a/pkgs/tools/misc/xdummy/default.nix +++ b/pkgs/tools/misc/xdummy/default.nix @@ -18,7 +18,7 @@ let EndSection Section "Files" - ModulePath "${xorg.xorgserver}/lib/xorg/modules" + ModulePath "${xorg.xorgserver.out}/lib/xorg/modules" ModulePath "${xorg.xf86videodummy}/lib/xorg/modules" XkbDir "${xkeyboard_config}/share/X11/xkb" FontPath "${xorg.fontadobe75dpi}/lib/X11/fonts/75dpi" @@ -75,7 +75,7 @@ let in writeScriptBin "xdummy" '' #!${stdenv.shell} export XKB_BINDIR="${xorg.xkbcomp}/bin" - exec ${xorg.xorgserver}/bin/Xorg \ + exec ${xorg.xorgserver.out}/bin/Xorg \ -noreset \ -logfile /dev/null \ "$@" \ diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix index 162fb73b3f00..f1cf04424349 100644 --- a/pkgs/tools/misc/xvfb-run/default.nix +++ b/pkgs/tools/misc/xvfb-run/default.nix @@ -17,6 +17,6 @@ stdenv.mkDerivation { wrapProgram $out/bin/xvfb-run \ --set XKB_BINDIR "${xkbcomp}/bin" \ --set FONTCONFIG_FILE "${fontsConf}" \ - --prefix PATH : ${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin + --prefix PATH : ${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin ''; } diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index fa3fd2281daa..a10fd37da281 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -23,7 +23,7 @@ buildPythonApplication rec { # Ensure ffmpeg is available in $PATH for post-processing & transcoding support. postInstall = stdenv.lib.optionalString (ffmpeg != null) - ''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg}/bin"''; + ''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg.bin}/bin"''; # Requires network doCheck = false; diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix index 2ccfbb816fba..32cf5750c6a4 100644 --- a/pkgs/tools/networking/cjdns/default.nix +++ b/pkgs/tools/networking/cjdns/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation { buildInputs = [ which python27 nodejs ] ++ # for flock - stdenv.lib.optional stdenv.isLinux [ utillinux ]; + stdenv.lib.optional stdenv.isLinux utillinux; buildPhase = stdenv.lib.optionalString stdenv.isArm "Seccomp_NO=1 " + "bash do"; installPhase = '' - installBin cjdroute makekeys privatetopublic publictoip6 + install -Dt "$out/bin/" cjdroute makekeys privatetopublic publictoip6 sed -i 's,/usr/bin/env node,'$(type -P node), \ $(find contrib -name "*.js") sed -i 's,/usr/bin/env python,'$(type -P python), \ diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index c59ea619942d..6008afa27872 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -25,6 +25,8 @@ stdenv.mkDerivation rec { sha256 = "13z9gba3q2ybp50z0gdkzhwcx9m0i7qkvm278yz4pql2jfml7inx"; }; + outputs = [ "dev" "out" "bin" "man" "docdev" ]; + nativeBuildInputs = [ pkgconfig perl ]; # Zlib and OpenSSL must be propagated because `libcurl.la' contains @@ -62,6 +64,11 @@ stdenv.mkDerivation rec { CXX = "g++"; CXXCPP = "g++ -E"; + postInstall = '' + moveToOutput bin/curl-config "$dev" + sed '/^dependency_libs/s|${libssh2.dev}|${libssh2.out}|' -i "$out"/lib/*.la + ''; + crossAttrs = { # We should refer to the cross built openssl # For the 'urandom', maybe it should be a cross-system option diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix index 2b41f8ca1d3c..59d97a4a18b6 100644 --- a/pkgs/tools/networking/easyrsa/default.nix +++ b/pkgs/tools/networking/easyrsa/default.nix @@ -20,7 +20,7 @@ in stdenv.mkDerivation rec { install -D -m755 easyrsa3/easyrsa $out/bin/easyrsa substituteInPlace $out/bin/easyrsa \ --subst-var out \ - --subst-var-by openssl ${openssl}/bin/openssl + --subst-var-by openssl ${openssl.bin}/bin/openssl # Helper utility cat > $out/bin/easyrsa-init <<EOF diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix index af6eff5c31e9..f846a711aa4a 100644 --- a/pkgs/tools/networking/gupnp-tools/default.nix +++ b/pkgs/tools/networking/gupnp-tools/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { postInstall = '' for program in gupnp-av-cp gupnp-universal-cp; do wrapProgram "$out/bin/$program" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome2.gnome_icon_theme}/share:$out/share" + --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:${gnome2.gnome_icon_theme}/share:$out/share" done ''; diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix index b1bfeb215f68..dbb85f386354 100644 --- a/pkgs/tools/networking/i2p/default.nix +++ b/pkgs/tools/networking/i2p/default.nix @@ -1,10 +1,10 @@ { stdenv, procps, coreutils, fetchurl, jdk, jre, ant, gettext, which }: stdenv.mkDerivation rec { - name = "i2p-0.9.24"; + name = "i2p-0.9.25"; src = fetchurl { url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz"; - sha256 = "0hk28cigil6ia707zb6p8n7959xg7v816bacxxlln780cc1wi830"; + sha256 = "1lj4khln0k0b4f55hjighwn5j3cyal8flmapjmadjyj6cd5py0v8"; }; buildInputs = [ jdk ant gettext which ]; patches = [ ./i2p.patch ]; diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix index eca416b53d4e..a92c34328579 100644 --- a/pkgs/tools/networking/inetutils/default.nix +++ b/pkgs/tools/networking/inetutils/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses /* for `talk' */ ]; - configureFlags = "--with-ncurses-include-dir=${ncurses}/include"; + configureFlags = "--with-ncurses-include-dir=${ncurses.dev}/include"; # Test fails with "UNIX socket name too long", probably because our # $TMPDIR is too long. diff --git a/pkgs/tools/networking/megatools/default.nix b/pkgs/tools/networking/megatools/default.nix index 10a951f84fc1..7c2a437ab658 100644 --- a/pkgs/tools/networking/megatools/default.nix +++ b/pkgs/tools/networking/megatools/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { postInstall = '' for i in $(find $out/bin/ -type f); do wrapProgram "$i" \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" done ''; diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix index 93b20704620a..742e6a93b655 100644 --- a/pkgs/tools/networking/netsniff-ng/default.nix +++ b/pkgs/tools/networking/netsniff-ng/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { configurePhase = '' patchShebangs configure substituteInPlace configure --replace "which" "command -v" - NACL_INC_DIR=${libsodium}/include/sodium NACL_LIB=sodium ./configure + NACL_INC_DIR=${libsodium.dev}/include/sodium NACL_LIB=sodium ./configure ''; enableParallelBuilding = true; diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix index d2e2215831b7..5e8931579cb3 100644 --- a/pkgs/tools/networking/network-manager-applet/default.nix +++ b/pkgs/tools/networking/network-manager-applet/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/nm-applet" \ - --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules:${gnome3.dconf}/lib/gio/modules" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules:${gnome3.dconf}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --set GCONF_CONFIG_SOURCE "xml::~/.gconf" \ --prefix PATH ":" "${gnome3.gconf}/bin" diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix index 7403490e58f8..afdca314ae64 100644 --- a/pkgs/tools/networking/network-manager/default.nix +++ b/pkgs/tools/networking/network-manager/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz -, udev, libgudev, libnl, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables +, systemd, libgudev, libnl, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables , libgcrypt, dnsmasq, avahi, bind, perl, bluez5, substituteAll, readline , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup , ethtool, gnused, coreutils, file, inetutils }: @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { "--with-libsoup=yes" ]; - buildInputs = [ wirelesstools udev libgudev libnl libuuid polkit ppp libndp + buildInputs = [ wirelesstools systemd libgudev libnl libuuid polkit ppp libndp xz bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup ]; propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ]; diff --git a/pkgs/tools/networking/nylon/default.nix b/pkgs/tools/networking/nylon/default.nix index daeb7ffb57bb..fc89ea8db51b 100644 --- a/pkgs/tools/networking/nylon/default.nix +++ b/pkgs/tools/networking/nylon/default.nix @@ -1,5 +1,11 @@ -{ stdenv, fetchurl, libevent }: - +{ stdenv, fetchurl, libevent, buildEnv }: +let + # failed to find a better way to make it work + libevent-comb = buildEnv { + inherit (libevent.out) name; + paths = [ libevent.dev libevent.out ]; + }; +in stdenv.mkDerivation { name = "nylon-1.21"; src = fetchurl { @@ -9,7 +15,7 @@ stdenv.mkDerivation { patches = [ ./configure-use-solib.patch ]; - configureFlags = [ "--with-libevent=${libevent}" ]; + configureFlags = [ "--with-libevent=${libevent-comb}" ]; buildInputs = [ libevent ]; diff --git a/pkgs/tools/networking/openconnect.nix b/pkgs/tools/networking/openconnect.nix index 54239b766174..43e48e9a4cdf 100644 --- a/pkgs/tools/networking/openconnect.nix +++ b/pkgs/tools/networking/openconnect.nix @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { preConfigure = '' export PKG_CONFIG=${pkgconfig}/bin/pkg-config - export LIBXML2_CFLAGS="-I ${libxml2}/include/libxml2" - export LIBXML2_LIBS="-L${libxml2}/lib -lxml2" + export LIBXML2_CFLAGS="-I ${libxml2.dev}/include/libxml2" + export LIBXML2_LIBS="-L${libxml2.out}/lib -lxml2" ''; configureFlags = [ diff --git a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix index 5f335c8f76a9..ec2821f4d818 100644 --- a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix +++ b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ bison pkgconfig ]; buildInputs = [ glib gtk libxml2 gettext zlib ]; - NIX_LDFLAGS = "-rpath ${zlib}/lib"; + NIX_LDFLAGS = "-rpath ${zlib.out}/lib"; configureScript = "./Configure"; dontAddPrefix = true; configureFlags = "-d -e -D prefix=$out -D gtkversion=2 -D official=true"; diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix index 28dce0f567e9..621e71c9eae2 100644 --- a/pkgs/tools/networking/p2p/seeks/default.nix +++ b/pkgs/tools/networking/p2p/seeks/default.nix @@ -1,4 +1,4 @@ -{ fetchgit, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl +{ fetchgit, stdenv, zlib, bzip2, docbook2x, pcre, curl, libxml2, libevent, perl , pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv, autoconf, automake , libtool, seeks_confDir ? "" }: @@ -13,14 +13,14 @@ stdenv.mkDerivation { }; buildInputs = - [ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig + [ zlib bzip2 docbook2x pcre curl libxml2 libevent perl pkgconfig protobuf tokyocabinet tokyotyrant opencv autoconf automake libtool ]; configureFlags = [ # Enable the built-in web server providing a web search interface. "--enable-httpserv-plugin=yes" - "--with-libevent=${libevent}" + "--with-libevent=${libevent.dev}" ]; preConfigure = '' diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix index 5f1d6b4ef1a4..aa1b01c11fad 100644 --- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix +++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix @@ -6,13 +6,13 @@ # some loss of functionality because of it. pythonPackages.buildPythonApplication rec { - version = "1.10.2"; + version = "1.11.0"; name = "tahoe-lafs-${version}"; namePrefix = ""; src = fetchurl { - url = "http://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-${version}.tar.bz2"; - sha256 = "1rvv0ik5biy7ji8pg56v0qycnggzr3k6dbg88n555nb6r4cxgmgy"; + url = "https://tahoe-lafs.org/downloads/tahoe-lafs-${version}.tar.bz2"; + sha256 = "0hrp87rarbmmpnrxk91s83h6irkykds3pl263dagcddbdl5inqdi"; }; patchPhase = '' @@ -30,7 +30,6 @@ pythonPackages.buildPythonApplication rec { sed -i 's/"pycrypto.*"/"pycrypto"/' src/allmydata/_auto_deps.py ''; - # Some tests want this + http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/mock-0.6.0.tar.bz2 buildInputs = with pythonPackages; [ unzip numpy mock ]; # The `backup' command requires `sqlite3'. @@ -48,8 +47,8 @@ pythonPackages.buildPythonApplication rec { ''; checkPhase = '' - # TODO: broken with wheels - #${pythonPackages.python.interpreter} setup.py trial + # Still broken. ~ C. + # trial allmydata ''; meta = { @@ -60,9 +59,9 @@ pythonPackages.buildPythonApplication rec { such a way that it remains available even when some of the peers are unavailable, malfunctioning, or malicious. ''; - homepage = http://allmydata.org/; + homepage = http://tahoe-lafs.org/; license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ]; - maintainers = [ lib.maintainers.simons ]; + maintainers = with lib.maintainers; [ simons MostAwesomeDude ]; platforms = lib.platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/tools/networking/plasma-nm/default.nix b/pkgs/tools/networking/plasma-nm/default.nix index 0c10e6655b8e..f0f379d38295 100644 --- a/pkgs/tools/networking/plasma-nm/default.nix +++ b/pkgs/tools/networking/plasma-nm/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { sha256 = "0xj14isvjq8ll70b6q66n8adm8ff4j9ng195ndk2gmavjf6bb751"; }; - NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include"; + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ]; diff --git a/pkgs/tools/networking/ppp/default.nix b/pkgs/tools/networking/ppp/default.nix index dd07e53ee6f9..bc6b2b0e5ded 100644 --- a/pkgs/tools/networking/ppp/default.nix +++ b/pkgs/tools/networking/ppp/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { [ ( substituteAll { src = ./nix-purity.patch; inherit libpcap; - glibc = stdenv.cc.libc; + glibc = stdenv.cc.libc.dev or stdenv.cc.libc; }) # Without nonpriv.patch, pppd --version doesn't work when not run as # root. diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix index edbf32bb775a..f639044a195d 100644 --- a/pkgs/tools/networking/unbound/default.nix +++ b/pkgs/tools/networking/unbound/default.nix @@ -9,12 +9,14 @@ stdenv.mkDerivation rec { sha256 = "33567a20f73e288f8daa4ec021fbb30fe1824b346b34f12677ad77899ecd09be"; }; + outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB + buildInputs = [ openssl expat libevent ]; configureFlags = [ - "--with-ssl=${openssl}" + "--with-ssl=${openssl.dev}" "--with-libexpat=${expat}" - "--with-libevent=${libevent}" + "--with-libevent=${libevent.dev}" "--localstatedir=/var" "--sysconfdir=/etc" "--sbindir=\${out}/bin" @@ -24,6 +26,12 @@ stdenv.mkDerivation rec { installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ]; + # get rid of runtime dependencies on $dev outputs + postInstall = ''substituteInPlace "$lib/lib/libunbound.la" '' + + stdenv.lib.concatMapStrings + (pkg: " --replace '-L${pkg.dev}/lib' '-L${pkg.out}/lib' ") + [ openssl expat libevent ]; + meta = with stdenv.lib; { description = "Validating, recursive, and caching DNS resolver"; license = licenses.bsd3; diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix index 1da9ca969841..e2c83bcb975c 100644 --- a/pkgs/tools/networking/uwimap/default.nix +++ b/pkgs/tools/networking/uwimap/default.nix @@ -18,8 +18,9 @@ stdenv.mkDerivation { ++ stdenv.lib.optional (!stdenv.isDarwin) pam; patchPhase = '' - sed -i -e s,/usr/local/ssl,${openssl}, \ - src/osdep/unix/Makefile + sed -i src/osdep/unix/Makefile -e 's,/usr/local/ssl,${openssl},' + sed -i src/osdep/unix/Makefile -e 's,^SSLCERTS=.*,SSLCERTS=/etc/ssl/certs,' + sed -i src/osdep/unix/Makefile -e 's,^SSLLIB=.*,SSLLIB=${openssl.out}/lib,' ''; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix index a6d2913abf66..9b9909a89432 100644 --- a/pkgs/tools/networking/wget/default.nix +++ b/pkgs/tools/networking/wget/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { sha256 = "1jcpvl5sxb2ag8yahpy370c5jlfb097a21k2mhsidh4wxdhrnmgy"; }; + patches = [ ./remove-runtime-dep-on-openssl-headers.patch ]; + preConfigure = '' for i in "doc/texi2pod.pl" "util/rmold.pl"; do sed -i "$i" -e 's|/usr/bin.*perl|${perl}/bin/perl|g' diff --git a/pkgs/tools/networking/wget/remove-runtime-dep-on-openssl-headers.patch b/pkgs/tools/networking/wget/remove-runtime-dep-on-openssl-headers.patch new file mode 100644 index 000000000000..a6a1fcfcb37b --- /dev/null +++ b/pkgs/tools/networking/wget/remove-runtime-dep-on-openssl-headers.patch @@ -0,0 +1,17 @@ +diff --git a/src/Makefile.in b/src/Makefile.in +index 1a36a9b..e279c84 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -2211,10 +2211,9 @@ version.c: $(wget_SOURCES) ../lib/libgnu.a + echo '' >> $@ + echo '#include "version.h"' >> $@ + echo 'const char *version_string = "@VERSION@";' >> $@ +- echo 'const char *compilation_string = "'$(COMPILE)'";' \ ++ echo 'const char *compilation_string = 0;' \ + | $(ESCAPEQUOTE) >> $@ +- echo 'const char *link_string = "'$(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +- $(AM_LDFLAGS) $(LDFLAGS) $(LIBS) $(wget_LDADD)'";' \ ++ echo 'const char *link_string = 0;' \ + | $(ESCAPEQUOTE) >> $@ + + css.c: $(srcdir)/css.l diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix index 9f5f777a239b..e05a65d6967e 100644 --- a/pkgs/tools/networking/zerotierone/default.nix +++ b/pkgs/tools/networking/zerotierone/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { buildInputs = [ openssl lzo zlib gcc iproute ]; installPhase = '' - installBin zerotier-one + install -Dt "$out/bin/" zerotier-one ln -s $out/bin/zerotier-one $out/bin/zerotier-idtool ln -s $out/bin/zerotier-one $out/bin/zerotier-cli ''; diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix index dc3373c3b6fc..8ab9001573a2 100644 --- a/pkgs/tools/package-management/checkinstall/default.nix +++ b/pkgs/tools/package-management/checkinstall/default.nix @@ -51,7 +51,7 @@ stdenv.mkDerivation { substituteInPlace checkinstallrc-dist --replace /usr/local $out substituteInPlace installwatch/create-localdecls \ - --replace /usr/include/unistd.h ${stdenv.glibc}/include/unistd.h + --replace /usr/include/unistd.h ${stdenv.glibc.dev}/include/unistd.h ''; postInstall = diff --git a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix index e70659aff00f..aa109ab80fe3 100644 --- a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix +++ b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix @@ -36,8 +36,8 @@ in rec { nix-prefetch-cvs = mkPrefetchScript "cvs" ../../../build-support/fetchcvs/nix-prefetch-cvs [cvs]; nix-prefetch-git = mkPrefetchScript "git" ../../../build-support/fetchgit/nix-prefetch-git [git coreutils]; nix-prefetch-hg = mkPrefetchScript "hg" ../../../build-support/fetchhg/nix-prefetch-hg [mercurial]; - nix-prefetch-svn = mkPrefetchScript "svn" ../../../build-support/fetchsvn/nix-prefetch-svn [subversion]; - nix-prefetch-zip = mkPrefetchScript "zip" ../../../build-support/fetchzip/nix-prefetch-zip [unzip curl]; + nix-prefetch-svn = mkPrefetchScript "svn" ../../../build-support/fetchsvn/nix-prefetch-svn [subversion.out]; + nix-prefetch-zip = mkPrefetchScript "zip" ../../../build-support/fetchzip/nix-prefetch-zip [unzip curl.bin]; nix-prefetch-scripts = buildEnv { name = "nix-prefetch-scripts"; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 608fb31df783..16078906bc2b 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -9,7 +9,7 @@ let common = { name, src }: stdenv.mkDerivation rec { inherit name src; - outputs = [ "out" "doc" ]; + outputs = [ "out" "man" "doc" ]; nativeBuildInputs = [ perl pkgconfig ]; @@ -22,8 +22,8 @@ let # would end up using the wrong bzip2 when cross-compiling. # XXX: The right thing would be to reinstate `--with-bzip2' in Nix. postUnpack = - '' export CPATH="${bzip2}/include" - export LIBRARY_PATH="${bzip2}/lib" + '' export CPATH="${bzip2.dev}/include" + export LIBRARY_PATH="${bzip2.out}/lib" export CXXFLAGS="-Wno-error=reserved-user-defined-literal" ''; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix new file mode 100644 index 000000000000..88bd8f460375 --- /dev/null +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -0,0 +1,76 @@ +{ lib, stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null +, pkgconfig, boehmgc, perlPackages, libsodium +, storeDir ? "/nix/store" +, stateDir ? "/nix/var" +}: + +stdenv.mkDerivation rec { + name = "nix-1.9pre4100_4bbcfaf"; + + src = fetchurl { + url = "http://hydra.nixos.org/build/21565942/download/4/${name}.tar.xz"; + sha256 = "1jcy0n8mi17k5vk89vammfh74lvsgnm4gjsk23cq1shspjnbbgxs"; + }; + + nativeBuildInputs = [ perl pkgconfig ]; + + buildInputs = [ curl openssl sqlite ] ++ lib.optional stdenv.isLinux libsodium; + + propagatedBuildInputs = [ boehmgc ]; + + # Note: bzip2 is not passed as a build input, because the unpack phase + # would end up using the wrong bzip2 when cross-compiling. + # XXX: The right thing would be to reinstate `--with-bzip2' in Nix. + postUnpack = + '' export CPATH="${bzip2.dev}/include" + export LIBRARY_PATH="${bzip2.out}/lib" + export CXXFLAGS="-Wno-error=reserved-user-defined-literal" + ''; + + configureFlags = + '' + --with-store-dir=${storeDir} --localstatedir=${stateDir} --sysconfdir=/etc + --with-dbi=${perlPackages.DBI}/${perl.libPrefix} + --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix} + --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} + --disable-init-state + --enable-gc + ''; + + makeFlags = "profiledir=$(out)/etc/profile.d"; + + installFlags = "sysconfdir=$(out)/etc"; + + doInstallCheck = true; + + crossAttrs = { + postUnpack = + '' export CPATH="${bzip2.crossDrv}/include" + export NIX_CROSS_LDFLAGS="-L${bzip2.crossDrv}/lib -rpath-link ${bzip2.crossDrv}/lib $NIX_CROSS_LDFLAGS" + ''; + + configureFlags = + '' + --with-store-dir=${storeDir} --localstatedir=${stateDir} + --with-dbi=${perlPackages.DBI}/${perl.libPrefix} + --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix} + --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} + --disable-init-state + --enable-gc + '' + stdenv.lib.optionalString ( + stdenv.cross ? nix && stdenv.cross.nix ? system + ) ''--with-system=${stdenv.cross.nix.system}''; + + doInstallCheck = false; + }; + + enableParallelBuilding = true; + + meta = { + description = "The Nix Deployment System"; + homepage = http://nixos.org/; + license = stdenv.lib.licenses.lgpl2Plus; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix index 7b5281220fab..24346fb0eb70 100644 --- a/pkgs/tools/package-management/rpm/default.nix +++ b/pkgs/tools/package-management/rpm/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { # Note: we don't add elfutils to buildInputs, since it provides a # bad `ld' and other stuff. - NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${elfutils}/include"; + NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${elfutils}/include"; NIX_CFLAGS_LINK = "-L${elfutils}/lib"; diff --git a/pkgs/tools/security/chntpw/default.nix b/pkgs/tools/security/chntpw/default.nix index 814fb0ea0ecc..1f999e9d726d 100644 --- a/pkgs/tools/security/chntpw/default.nix +++ b/pkgs/tools/security/chntpw/default.nix @@ -10,7 +10,8 @@ stdenv.mkDerivation rec { sha256 = "1k1cxsj0221dpsqi5yibq2hr7n8xywnicl8yyaicn91y8h2hkqln"; }; - buildInputs = [ unzip ]; + buildInputs = [ unzip ] + ++ stdenv.lib.optionals stdenv.isLinux [ stdenv.glibc.out stdenv.glibc.static ]; patches = [ ./00-chntpw-build-arch-autodetect.patch diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index 0a172935bb59..bebb8a95a58a 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "clamav-${version}"; - version = "0.99"; + version = "0.99.1"; src = fetchurl { url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz"; - sha256 = "1abyg349yr31z764jcgx67q5v098jrkrj88bqkzmys6xza62qyfj"; + sha256 = "12nm4mxzx3qlbm65cadflzncjfkxdfqcp0lch29i5yfk4a8nhi71"; }; buildInputs = [ zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre ]; diff --git a/pkgs/tools/security/modsecurity/default.nix b/pkgs/tools/security/modsecurity/default.nix index 2f3101cffea8..09754f53a9ed 100644 --- a/pkgs/tools/security/modsecurity/default.nix +++ b/pkgs/tools/security/modsecurity/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl +{ stdenv, lib, fetchurl, pkgconfig , curl, apacheHttpd, pcre, apr, aprutil, libxml2 }: with lib; @@ -12,6 +12,7 @@ stdenv.mkDerivation rec { sha256 = "e2bbf789966c1f80094d88d9085a81bde082b2054f8e38e0db571ca49208f434"; }; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ curl apacheHttpd pcre apr aprutil libxml2 ]; configureFlags = [ "--enable-standalone-module" diff --git a/pkgs/tools/security/mpw/default.nix b/pkgs/tools/security/mpw/default.nix index 15937a6792e6..a565c3b96e14 100644 --- a/pkgs/tools/security/mpw/default.nix +++ b/pkgs/tools/security/mpw/default.nix @@ -27,7 +27,7 @@ in stdenv.mkDerivation { patchShebangs . ''; - NIX_CFLAGS_COMPILE = "-I${libxml2}/include/libxml2"; + NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2"; buildInputs = [ autoconf automake openssl libxml2 ]; diff --git a/pkgs/tools/security/prey/default.nix b/pkgs/tools/security/prey/default.nix index b36c11cf9345..f9bd6ea50e8d 100644 --- a/pkgs/tools/security/prey/default.nix +++ b/pkgs/tools/security/prey/default.nix @@ -34,7 +34,7 @@ in stdenv.mkDerivation rec { cp -R . $out cp -R ${modulesSrc}/* $out/modules/ wrapProgram "$out/prey.sh" \ - --prefix PATH ":" "${xawtv}/bin:${imagemagick}/bin:${curl}/bin:${scrot}/bin:${inetutils}/bin:${coreutils}/bin" \ + --prefix PATH ":" "${xawtv}/bin:${imagemagick}/bin:${curl.bin}/bin:${scrot}/bin:${inetutils}/bin:${coreutils}/bin" \ --set CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt" ''; diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index df8024e040e3..b2af5451b8b5 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - name = "sudo-1.8.15"; + name = "sudo-1.8.16"; src = fetchurl { urls = [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz" "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz" ]; - sha256 = "0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3"; + sha256 = "0k86sm9ilhxhvnfwq3092zhfxazj3kddn0y2mirz0nqjqmpq50rd"; }; configureFlags = [ diff --git a/pkgs/tools/security/thc-hydra/default.nix b/pkgs/tools/security/thc-hydra/default.nix index c06636dc3677..a06754cb58d2 100644 --- a/pkgs/tools/security/thc-hydra/default.nix +++ b/pkgs/tools/security/thc-hydra/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, libidn, ncurses, pcre, libssh, postgresql92 }: +{ stdenv, fetchurl, pkgconfig, openssl, libidn, ncurses, pcre, libssh, postgresql92 }: with stdenv.lib; @@ -12,10 +12,11 @@ stdenv.mkDerivation rec { }; preConfigure = '' - substituteInPlace configure --replace "\$LIBDIRS" "${openssl}/lib ${pcre}/lib ${libssh}/lib ${postgresql92}/lib" - substituteInPlace configure --replace "\$INCDIRS" "${openssl}/include ${pcre}/include ${libssh}/include ${postgresql92}/include" + substituteInPlace configure --replace "\$LIBDIRS" "${openssl.out}/lib ${pcre.out}/lib ${libssh.out}/lib ${postgresql92.lib}/lib" + substituteInPlace configure --replace "\$INCDIRS" "${openssl.dev}/include ${pcre.dev}/include ${libssh.dev}/include ${postgresql92}/include" ''; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ openssl libidn ncurses pcre libssh ]; meta = { diff --git a/pkgs/tools/security/tor/tor-arm.nix b/pkgs/tools/security/tor/tor-arm.nix index 6c4d61d825f9..365379c8f6a8 100644 --- a/pkgs/tools/security/tor/tor-arm.nix +++ b/pkgs/tools/security/tor/tor-arm.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { for i in $(cd $out/bin && ls); do wrapProgram $out/bin/$i \ --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pythonPackages.curses}):$out/libexec:$PYTHONPATH" \ - --set TERMINFO "${ncurses}/share/terminfo" \ + --set TERMINFO "${ncurses.out}/share/terminfo" \ --set TERM "xterm" done ''; diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix index e910241113b9..d57aa8c63a92 100644 --- a/pkgs/tools/security/trousers/default.nix +++ b/pkgs/tools/security/trousers/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { # Fix broken libtool file preFixup = stdenv.lib.optionalString (!stdenv.isDarwin) '' - sed 's,-lcrypto,-L${openssl}/lib -lcrypto,' -i $out/lib/libtspi.la + sed 's,-lcrypto,-L${openssl.out}/lib -lcrypto,' -i $out/lib/libtspi.la ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix index 264dbf1eb279..0b034819651d 100644 --- a/pkgs/tools/system/gptfdisk/default.nix +++ b/pkgs/tools/system/gptfdisk/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { substituteInPlace Makefile.mac --replace \ " -I/opt/local/include -I /usr/local/include -I/opt/local/include" "" substituteInPlace Makefile.mac --replace \ - "/opt/local/lib/libncurses.a" "${ncurses}/lib/libncurses.dylib" + "/opt/local/lib/libncurses.a" "${ncurses.out}/lib/libncurses.dylib" ''; buildPhase = stdenv.lib.optionalString stdenv.isDarwin "make -f Makefile.mac"; diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix index 1b15fbbb6281..0ee32a49c07b 100644 --- a/pkgs/tools/system/monit/default.nix +++ b/pkgs/tools/system/monit/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-ssl-incl-dir=${openssl}/include" - "--with-ssl-lib-dir=${openssl}/lib" + "--with-ssl-lib-dir=${openssl.out}/lib" ] ++ stdenv.lib.optionals (! usePAM) [ "--without-pam" ]; meta = { diff --git a/pkgs/tools/system/plan9port/builder.sh b/pkgs/tools/system/plan9port/builder.sh index 2434889581ed..15fcdcf6c9dd 100644 --- a/pkgs/tools/system/plan9port/builder.sh +++ b/pkgs/tools/system/plan9port/builder.sh @@ -5,8 +5,8 @@ export PLAN9_TARGET=$PLAN9 configurePhase() { - echo CFLAGS=\"-I${fontconfig}/include -I${libXt}/include\" > LOCAL.config - echo X11=\"${libXt}/include\" >> LOCAL.config + echo CFLAGS=\"-I${fontconfig_dev}/include -I${libXt_dev}/include\" > LOCAL.config + echo X11=\"${libXt_dev}/include\" >> LOCAL.config for f in `grep -l -r /usr/local/plan9`; do sed "s,/usr/local/plan9,${PLAN9},g" -i $f diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix index 3a78cb2baf63..70f792953b85 100644 --- a/pkgs/tools/system/plan9port/default.nix +++ b/pkgs/tools/system/plan9port/default.nix @@ -47,6 +47,6 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; - inherit libXt; - inherit fontconfig; + libXt_dev = libXt.dev; + fontconfig_dev = fontconfig.dev; } diff --git a/pkgs/tools/system/storebrowse/default.nix b/pkgs/tools/system/storebrowse/default.nix index 041dd96e1ca8..aa510a28c231 100644 --- a/pkgs/tools/system/storebrowse/default.nix +++ b/pkgs/tools/system/storebrowse/default.nix @@ -28,9 +28,9 @@ stdenv.mkDerivation rec { GOSQLITE=$GOPATH/src/code.google.com/p/gosqlite mkdir -p $GOSQLITE cp -R $srcGoSqlite/* $GOSQLITE/ - export CGO_CFLAGS=-I${sqlite}/include - export CGO_LDFLAGS=-L${sqlite}/lib - go build -ldflags "-r ${sqlite}/lib" -o storebrowse + export CGO_CFLAGS=-I${sqlite.dev}/include + export CGO_LDFLAGS=-L${sqlite.out}/lib + go build -ldflags "-r ${sqlite.out}/lib" -o storebrowse ''; installPhase = '' diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix index 4fcc0680ada6..d98f05c6aabb 100644 --- a/pkgs/tools/system/syslog-ng/default.nix +++ b/pkgs/tools/system/syslog-ng/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl -, riemann_c_client, protobufc, yacc }: +, riemann_c_client, protobufc, pcre, yacc }: stdenv.mkDerivation rec { name = "syslog-ng-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0qc21mwajk6xrra3gqy2nvaza5gq62psamq4ayphj7lqabdglizg"; }; - buildInputs = [ eventlog pkgconfig glib python systemd perl riemann_c_client protobufc yacc ]; + buildInputs = [ eventlog pkgconfig glib python systemd perl riemann_c_client protobufc yacc pcre ]; configureFlags = [ "--enable-dynamic-linking" diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix index 9fe9adaedadb..dd28d5b2b1da 100644 --- a/pkgs/tools/system/thermald/default.nix +++ b/pkgs/tools/system/thermald/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { patchPhase = ''sed -e 's/upstartconfdir = \/etc\/init/upstartconfdir = $(out)\/etc\/init/' -i data/Makefile.am''; preConfigure = '' - export PKG_CONFIG_PATH="${dbus_libs}/lib/pkgconfig:$PKG_CONFIG_PATH" + export PKG_CONFIG_PATH="${dbus_libs.dev}/lib/pkgconfig:$PKG_CONFIG_PATH" ./autogen.sh #--prefix="$out" ''; diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index f8413b9a0d0f..70a3bdeb7984 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, coreutils ? null }: +{ stdenv, fetchurl, xz, coreutils ? null }: stdenv.mkDerivation rec { name = "diffutils-3.3"; @@ -8,8 +8,10 @@ stdenv.mkDerivation rec { sha256 = "1761vymxbp4wb5rzjvabhdkskk95pghnn67464byvzb5mfl8jpm2"; }; + outputs = [ "out" "info" ]; + /* If no explicit coreutils is given, use the one from stdenv. */ - nativeBuildInputs = [ coreutils ]; + nativeBuildInputs = [ xz.bin coreutils ]; meta = { homepage = http://www.gnu.org/software/diffutils/diffutils.html; diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index e2856b7acaa4..8578960b9875 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -1,6 +1,9 @@ -{ stdenv, fetchurl, libsigsegv, readline, readlineSupport ? false +{ stdenv, fetchurl, xz, libsigsegv, readline, interactive ? false , locale ? null }: +let + inherit (stdenv.lib) optional; +in stdenv.mkDerivation rec { name = "gawk-4.1.3"; @@ -9,6 +12,9 @@ stdenv.mkDerivation rec { sha256 = "09d6pmx6h3i2glafm0jd1v1iyrs03vcyv2rkz12jisii3vlmbkz3"; }; + # When we do build separate interactive version, it makes sense to always include man. + outputs = [ "out" "info" ] ++ stdenv.lib.optional (!interactive) "man"; + doCheck = !( stdenv.isCygwin # XXX: `test-dup2' segfaults on Cygwin 6.1 || stdenv.isDarwin # XXX: `locale' segfaults @@ -16,18 +22,17 @@ stdenv.mkDerivation rec { || stdenv.isFreeBSD ); - buildInputs = stdenv.lib.optional (stdenv.system != "x86_64-cygwin") libsigsegv - ++ stdenv.lib.optional readlineSupport readline + buildInputs = [ xz.bin ] + ++ stdenv.lib.optional (stdenv.system != "x86_64-cygwin") libsigsegv + ++ stdenv.lib.optional interactive readline ++ stdenv.lib.optional stdenv.isDarwin locale; configureFlags = stdenv.lib.optional (stdenv.system != "x86_64-cygwin") "--with-libsigsegv-prefix=${libsigsegv}" - ++ stdenv.lib.optional readlineSupport "--with-readline=${readline}" - # only darwin where reported, seems OK on non-chrooted Fedora (don't rebuild stdenv) - ++ stdenv.lib.optional (!readlineSupport && stdenv.isDarwin) "--without-readline"; + ++ [(if interactive then "--with-readline=${readline}" else "--without-readline")]; postInstall = "rm $out/bin/gawk-*"; - meta = { + meta = with stdenv.lib; { homepage = http://www.gnu.org/software/gawk/; description = "GNU implementation of the Awk programming language"; @@ -45,8 +50,11 @@ stdenv.mkDerivation rec { lines of code. ''; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; + + platforms = platforms.unix; maintainers = [ ]; }; } + diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index 8ef67674cd21..d618f842a4a5 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation { # Perl is needed for testing nativeBuildInputs = [ perl ]; + outputs = [ "out" "info" ]; # the man pages are rather small + buildInputs = [ pcre libiconv ]; # cygwin: FAIL: multibyte-white-space @@ -38,7 +40,7 @@ stdenv.mkDerivation { chmod +x $out/bin/egrep $out/bin/fgrep ''; - meta = { + meta = with stdenv.lib; { homepage = http://www.gnu.org/software/grep/; description = "GNU implementation of the Unix grep command"; @@ -48,10 +50,10 @@ stdenv.mkDerivation { prints the matching lines. ''; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; - maintainers = [ stdenv.lib.maintainers.eelco ]; - platforms = stdenv.lib.platforms.all; + maintainers = [ maintainers.eelco ]; + platforms = platforms.all; }; passthru = {inherit pcre;}; diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix index b1c5910029dd..037c2f17a63b 100644 --- a/pkgs/tools/text/gnused/default.nix +++ b/pkgs/tools/text/gnused/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation { name = "gnused-4.2.2"; @@ -8,6 +8,8 @@ stdenv.mkDerivation { sha256 = "f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7"; }; + outputs = [ "out" "info" ]; + meta = { homepage = http://www.gnu.org/software/sed/; description = "GNU sed, a batch stream editor"; diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix index 039bff8c655a..e08c10fd9ed2 100644 --- a/pkgs/tools/text/groff/default.nix +++ b/pkgs/tools/text/groff/default.nix @@ -35,9 +35,9 @@ stdenv.mkDerivation rec { postInstall = '' # Remove example output with (random?) colors to # avoid non-determinism in the output - rm $out/share/doc/${name}/examples/hdtbl/*color*ps + rm $doc/share/doc/examples/hdtbl/*color*ps # Remove creation date - find $out/share/doc/${name} -type f -print0 | xargs -0 sed -i -e 's/%%CreationDate: .*//' + find $doc/share/doc/ -type f -print0 | xargs -0 sed -i -e 's/%%CreationDate: .*//' ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/text/multitran/data/default.nix b/pkgs/tools/text/multitran/data/default.nix index d0e39add665a..57a375d2a17b 100644 --- a/pkgs/tools/text/multitran/data/default.nix +++ b/pkgs/tools/text/multitran/data/default.nix @@ -3,7 +3,7 @@ # This package requires a locale ru_RU.cp1251 locale entry. # Waiting for a better idea, I created it modifying a store file using: # localedef -f CP1251 -i ru_RU ru_RU.CP1251 -# The store file mentioned is in "${glibc}/lib/locale/locale-archive" +# The store file mentioned is in "${glibc.out}/lib/locale/locale-archive" stdenv.mkDerivation { name = "multitran-data-0.3"; diff --git a/pkgs/tools/text/xidel/default.nix b/pkgs/tools/text/xidel/default.nix index 89adcc75b195..000584a50e10 100644 --- a/pkgs/tools/text/xidel/default.nix +++ b/pkgs/tools/text/xidel/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p "$out/bin" cp -a usr/* "$out/" - interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*)" + interpreter="$(echo ${stdenv.glibc.out}/lib/ld-linux*)" patchelf --set-interpreter "$interpreter" "$out/bin/xidel" patchelf --set-rpath "${stdenv.lib.makeLibraryPath [stdenv.glibc]}" "$out/bin/xidel" ''; diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix index b26582a6cc71..7c393c524151 100644 --- a/pkgs/tools/typesetting/asciidoc/default.nix +++ b/pkgs/tools/typesetting/asciidoc/default.nix @@ -237,12 +237,12 @@ stdenv.mkDerivation rec { # We can remove PATH= when those impurities are fixed. sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook5_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${tetex}/bin:${coreutils}/bin:${gnused}/bin')|" \ -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \ - -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt}/bin/xsltproc'|" \ + -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \ -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \ -e "s|^FOP =.*|FOP = '${fop}/bin/fop'|" \ -e "s|^W3M =.*|W3M = '${w3m}/bin/w3m'|" \ -e "s|^LYNX =.*|LYNX = '${lynx}/bin/lynx'|" \ - -e "s|^XMLLINT =.*|XMLLINT = '${libxml2}/bin/xmllint'|" \ + -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \ -e "s|^EPUBCHECK =.*|EPUBCHECK = 'nixpkgs_is_missing_epubcheck'|" \ -i a2x.py '' + '' diff --git a/pkgs/tools/typesetting/djvu2pdf/default.nix b/pkgs/tools/typesetting/djvu2pdf/default.nix index 512efe497fa0..a426356a09f5 100644 --- a/pkgs/tools/typesetting/djvu2pdf/default.nix +++ b/pkgs/tools/typesetting/djvu2pdf/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp -p djvu2pdf $out/bin - wrapProgram $out/bin/djvu2pdf --prefix PATH : ${ghostscript}/bin:${djvulibre}/bin:${which}/bin + wrapProgram $out/bin/djvu2pdf --prefix PATH : ${ghostscript}/bin:${djvulibre.bin}/bin:${which}/bin mkdir -p $out/man/man1 cp -p djvu2pdf.1.gz $out/man/man1 diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix index 408ef8ae263c..18f9c99ee240 100644 --- a/pkgs/tools/typesetting/tex/dblatex/default.nix +++ b/pkgs/tools/typesetting/tex/dblatex/default.nix @@ -37,16 +37,16 @@ stdenv.mkDerivation rec { sed -i 's|self.install_layout == "deb"|False|' setup.py '' + stdenv.lib.optionalString enableAllFeatures '' for file in $(find -name "*.py"); do - sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt}/bin/xsltproc|g' \ - -e 's|Popen(\["xsltproc|Popen(\["${libxslt}/bin/xsltproc|g' \ + sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt.bin}/bin/xsltproc|g' \ + -e 's|Popen(\["xsltproc|Popen(\["${libxslt.bin}/bin/xsltproc|g' \ -e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \ -e 's|cmd = "epstopdf|cmd = "${tex}/bin/epstopdf|g' \ -e 's|cmd = \["makeindex|cmd = ["${tex}/bin/makeindex|g' \ -e 's|doc.program = "pdflatex"|doc.program = "${tex}/bin/pdflatex"|g' \ -e 's|self.program = "latex"|self.program = "${tex}/bin/latex"|g' \ -e 's|Popen("pdflatex|Popen("${tex}/bin/pdflatex|g' \ - -e 's|"fc-match"|"${fontconfig}/bin/fc-match"|g' \ - -e 's|"fc-list"|"${fontconfig}/bin/fc-list"|g' \ + -e 's|"fc-match"|"${fontconfig.bin}/bin/fc-match"|g' \ + -e 's|"fc-list"|"${fontconfig.bin}/bin/fc-list"|g' \ -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \ -e 's|cmd = "fig2dev|cmd = "${transfig}/bin/fig2dev|g' \ -e 's|cmd = \["ps2pdf|cmd = ["${ghostscript}/bin/ps2pdf|g' \ diff --git a/pkgs/tools/typesetting/tex/texlive-new/bin.nix b/pkgs/tools/typesetting/tex/texlive-new/bin.nix index 431f3926a13e..f833cc2f82b1 100644 --- a/pkgs/tools/typesetting/tex/texlive-new/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive-new/bin.nix @@ -99,7 +99,8 @@ core = stdenv.mkDerivation rec { cp ../texk/texlive/linked_scripts/scripts.lst "$out/share/texmf-dist/scripts/texlive/" '' + /* doc location identical with individual TeX pkgs */ '' mkdir -p "$doc/doc" - mv "$out"/share/{man,info} "$doc"/doc + mv "$doc"/share/{man,info} "$doc"/doc + rmdir "$doc"/share '' + cleanBrokenLinks; setupHook = ./setup-hook.sh; # TODO: maybe texmf-nix -> texmf (and all references) diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix index 56b093f921d1..550870b0a6a9 100644 --- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix +++ b/pkgs/tools/typesetting/tex/texlive/aggregate.nix @@ -66,7 +66,7 @@ rec { # did the same thing in texLive, but couldn't get it to carry to the # binaries installed by texLiveFull for prog in $out/bin/*; do - wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler}/lib" + wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler.out}/lib" done '' ) [ "minInit" "defEnsureDir" "addInputs" ]; diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index 74b3829cf89f..48a5ae8d6499 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -30,7 +30,7 @@ rec { setupHook = ./setup-hook.sh; doMainBuild = fullDepEntry ( stdenv.lib.optionalString stdenv.isDarwin '' - export DYLD_LIBRARY_PATH="${poppler}/lib" + export DYLD_LIBRARY_PATH="${poppler.out}/lib" '' + '' mkdir -p $out mkdir -p $out/nix-support @@ -54,7 +54,7 @@ rec { # sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . ) sed -e '1i\#include <string.h>\n\#include <stdlib.h>' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' ) - NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/layout"; + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu.dev}/include/layout"; ./Build --prefix="$out" --datadir="$out/share" --mandir="$out/share/man" --infodir="$out/share/info" \ ${args.lib.concatStringsSep " " configureFlags} @@ -106,7 +106,7 @@ rec { PATH=$PATH:$out/bin mktexlsr $out/share/texmf* '' + stdenv.lib.optionalString stdenv.isDarwin '' for prog in $out/bin/*; do - wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler}/lib" + wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler.out}/lib" done '' ) [ "minInit" "defEnsureDir" "doUnpack" "doMakeInstall" "promoteLibexec" "patchShebangsInterim"]; @@ -119,7 +119,7 @@ rec { "patchShebangsInterimLibexec" "patchShebangsInterimTexmfDist" "patchShebangsInterimShareTexmfDist"]; - buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11 libICE xproto + buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11.out libICE xproto freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext xextproto perl libSM ruby expat curl libjpeg python fontconfig xz pkgconfig poppler libpaper graphite2 lesstif zziplib harfbuzz texinfo potrace gmp mpfr diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix index 49fe7dc681fe..f99c14720760 100644 --- a/pkgs/tools/typesetting/xmlto/default.nix +++ b/pkgs/tools/typesetting/xmlto/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram "$out/bin/xmlto" \ - --prefix PATH : "${libxslt}/bin:${libxml2}/bin:${getopt}/bin" + --prefix PATH : "${libxslt.bin}/bin:${libxml2.bin}/bin:${getopt}/bin" # `w3m' is needed for HTML to text conversions. substituteInPlace "$out/share/xmlto/format/docbook/txt" \ diff --git a/pkgs/tools/virtualization/aws/default.nix b/pkgs/tools/virtualization/aws/default.nix index 123dbf647f0d..efce0c92b78f 100644 --- a/pkgs/tools/virtualization/aws/default.nix +++ b/pkgs/tools/virtualization/aws/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -p $out/bin - sed 's|\[curl|[${curl}/bin/curl|g' $src > $out/bin/aws + sed 's|\[curl|[${curl.bin}/bin/curl|g' $src > $out/bin/aws chmod +x $out/bin/aws ''; diff --git a/pkgs/tools/virtualization/ec2-ami-tools/default.nix b/pkgs/tools/virtualization/ec2-ami-tools/default.nix index dee14db46bcf..6ccce4684ad5 100644 --- a/pkgs/tools/virtualization/ec2-ami-tools/default.nix +++ b/pkgs/tools/virtualization/ec2-ami-tools/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { for i in $out/bin/*; do wrapProgram $i \ --set EC2_HOME $out \ - --prefix PATH : ${ruby}/bin:${openssl}/bin + --prefix PATH : ${ruby}/bin:${openssl.bin}/bin done sed -i 's|/bin/bash|${stdenv.shell}|' $out/lib/ec2/platform/base/pipeline.rb diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 685dd065e87d..8d98ab11da19 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -411,7 +411,7 @@ in arcanist = callPackage ../development/tools/misc/arcanist {}; - arduino = arduino-core.override { withGui = true; }; + arduino = self.arduino-core.override { withGui = true; }; arduino-core = callPackage ../development/arduino/arduino-core { jdk = jdk; @@ -458,12 +458,12 @@ in amule = callPackage ../tools/networking/p2p/amule { }; - amuleDaemon = appendToName "daemon" (amule.override { + amuleDaemon = appendToName "daemon" (self.amule.override { monolithic = false; daemon = true; }); - amuleGui = appendToName "gui" (amule.override { + amuleGui = appendToName "gui" (self.amule.override { monolithic = false; client = true; }); @@ -496,16 +496,16 @@ in pkgs_i686 = pkgsi686Linux; }; - inherit (androidenv) androidsdk_4_4 androidndk; + inherit (self.androidenv) androidsdk_4_4 androidndk; - androidsdk = androidenv.androidsdk_6_0; + androidsdk = self.androidenv.androidsdk_6_0; arc-gtk-theme = callPackage ../misc/themes/arc { }; aria2 = callPackage ../tools/networking/aria2 { inherit (darwin.apple_sdk.frameworks) Security; }; - aria = aria2; + aria = self.aria2; at = callPackage ../tools/system/at { }; @@ -637,7 +637,9 @@ in btfs = callPackage ../os-specific/linux/btfs { }; - cabal2nix = haskellPackages.cabal2nix; + cabal2nix = self.haskellPackages.cabal2nix; + + caddy = goPackages.caddy.bin // { outputs = [ "bin" ]; }; capstone = callPackage ../development/libraries/capstone { }; @@ -701,7 +703,7 @@ in deis = goPackages.deis.bin // { outputs = [ "bin" ]; }; - dfilemanager = kde5.dfilemanager; + dfilemanager = self.kde5.dfilemanager; diagrams-builder = callPackage ../tools/graphics/diagrams-builder { inherit (haskellPackages) ghcWithPackages diagrams-builder; @@ -780,8 +782,6 @@ in mcrl = callPackage ../tools/misc/mcrl { }; - mcrl2 = callPackage ../tools/misc/mcrl2 { }; - meson = callPackage ../development/tools/build-managers/meson { }; mp3fs = callPackage ../tools/filesystems/mp3fs { }; @@ -854,12 +854,12 @@ in enableStandardFeatures = false; }; - asciidoc-full = appendToName "full" (asciidoc.override { + asciidoc-full = appendToName "full" (self.asciidoc.override { inherit (pythonPackages) pygments; enableStandardFeatures = true; }); - asciidoc-full-with-plugins = appendToName "full-with-plugins" (asciidoc.override { + asciidoc-full-with-plugins = appendToName "full-with-plugins" (self.asciidoc.override { inherit (pythonPackages) pygments; enableStandardFeatures = true; enableExtraPlugins = true; @@ -960,9 +960,9 @@ in cdrkit = callPackage ../tools/cd-dvd/cdrkit { }; - libceph = ceph.lib; + libceph = self.ceph.lib; ceph = callPackage ../tools/filesystems/ceph { boost = boost159; }; - ceph-dev = ceph; + ceph-dev = self.ceph; #ceph-dev = lowPrio (callPackage ../tools/filesystems/ceph/dev.nix { }); cfdg = callPackage ../tools/graphics/cfdg { }; @@ -992,7 +992,7 @@ in gst_plugins = [ gst_plugins_base gst_plugins_good gst_plugins_ugly gst_ffmpeg ]; }; - clementineFree = clementine.free; + clementineFree = self.clementine.free; ciopfs = callPackage ../tools/filesystems/ciopfs { }; @@ -1148,9 +1148,9 @@ in cudatoolkit7 cudatoolkit75; - cudatoolkit = cudatoolkit7; + cudatoolkit = self.cudatoolkit7; - curlFull = curl.override { + curlFull = self.curl.override { idnSupport = true; ldapSupport = true; gssSupport = true; @@ -1300,7 +1300,7 @@ in doomseeker = callPackage ../applications/misc/doomseeker { }; - drive = go14Packages.drive.bin // { outputs = [ "bin" ]; }; + drive = self.go14Packages.drive.bin // { outputs = [ "bin" ]; }; driftnet = callPackage ../tools/networking/driftnet {}; @@ -1581,7 +1581,7 @@ in }; gawkInteractive = appendToName "interactive" - (gawk.override { readlineSupport = true; }); + (gawk.override { interactive = true; }); gawp = goPackages.gawp.bin // { outputs = [ "bin" ]; }; @@ -1679,17 +1679,17 @@ in gnupg1orig = callPackage ../tools/security/gnupg/1.nix { }; gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { }; - gnupg1 = gnupg1compat; # use config.packageOverrides if you prefer original gnupg1 + gnupg1 = self.gnupg1compat; # use config.packageOverrides if you prefer original gnupg1 gnupg20 = callPackage ../tools/security/gnupg/20.nix { }; gnupg21 = callPackage ../tools/security/gnupg/21.nix { }; - gnupg = gnupg21; + gnupg = self.gnupg21; gnuplot = callPackage ../tools/graphics/gnuplot { qt = qt4; }; - gnuplot_qt = gnuplot.override { withQt = true; }; + gnuplot_qt = self.gnuplot.override { withQt = true; }; # must have AquaTerm installed separately - gnuplot_aquaterm = gnuplot.override { aquaterm = true; }; + gnuplot_aquaterm = self.gnuplot.override { aquaterm = true; }; gnused = callPackage ../tools/text/gnused { }; @@ -1773,15 +1773,15 @@ in trustedGrub-for-HP = callPackage_i686 ../tools/misc/grub/trusted.nix { for_HP_laptop = true; }; - grub2 = grub2_full; + grub2 = self.grub2_full; grub2_full = callPackage ../tools/misc/grub/2.0x.nix { }; - grub2_efi = grub2_full.override { + grub2_efi = self.grub2_full.override { efiSupport = true; }; - grub2_light = grub2_full.override { + grub2_light = self.grub2_full.override { zfsSupport = false; }; @@ -1874,16 +1874,16 @@ in mpi = null; }; - hdf5-mpi = appendToName "mpi" (hdf5.override { + hdf5-mpi = appendToName "mpi" (self.hdf5.override { szip = null; mpi = pkgs.openmpi; }); - hdf5-cpp = appendToName "cpp" (hdf5.override { + hdf5-cpp = appendToName "cpp" (self.hdf5.override { cpp = true; }); - hdf5-fortran = appendToName "fortran" (hdf5.override { + hdf5-fortran = appendToName "fortran" (self.hdf5.override { inherit gfortran; }); @@ -1975,7 +1975,7 @@ in imgur-screenshot = callPackage ../tools/graphics/imgur-screenshot { }; - imgurbash = callPackage ../tools/graphics/imgurbash { }; + imgurbash2 = callPackage ../tools/graphics/imgurbash2 { }; inadyn = callPackage ../tools/networking/inadyn { }; @@ -1995,9 +1995,9 @@ in iperf2 = callPackage ../tools/networking/iperf/2.nix { }; iperf3 = callPackage ../tools/networking/iperf/3.nix { }; - iperf = iperf3; + iperf = self.iperf3; - ipfs = goPackages.ipfs.bin // { outputs = [ "bin" ]; }; + ipfs = self.goPackages.ipfs.bin // { outputs = [ "bin" ]; }; ipmitool = callPackage ../tools/system/ipmitool { static = false; @@ -2015,12 +2015,14 @@ in ised = callPackage ../tools/misc/ised {}; - isl = isl_0_15; + isl = self.isl_0_15; isl_0_11 = callPackage ../development/libraries/isl/0.11.1.nix { }; isl_0_12 = callPackage ../development/libraries/isl/0.12.2.nix { }; isl_0_14 = callPackage ../development/libraries/isl/0.14.1.nix { }; isl_0_15 = callPackage ../development/libraries/isl/0.15.0.nix { }; + ispike = callPackage ../development/libraries/science/robotics/ispike { }; + isync = callPackage ../tools/networking/isync { }; isyncUnstable = callPackage ../tools/networking/isync/unstable.nix { }; @@ -2930,7 +2932,7 @@ in pystringtemplate = callPackage ../development/python-modules/stringtemplate { }; - pythonDBus = dbus_python; + pythonDBus = self.dbus_python; pythonIRClib = pythonPackages.pythonIRClib; @@ -3411,9 +3413,7 @@ in torbutton = callPackage ../tools/security/torbutton { }; - torbrowser = callPackage ../tools/security/tor/torbrowser.nix { - stdenv = overrideCC stdenv gcc5; - }; + torbrowser = callPackage ../tools/security/tor/torbrowser.nix { }; touchegg = callPackage ../tools/inputmethods/touchegg { }; @@ -3807,7 +3807,7 @@ in xflux = callPackage ../tools/misc/xflux { }; xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; - libxfs = xfsprogs.lib; + libxfs = self.xfsprogs.dev; # outputs TODO xml2 = callPackage ../tools/text/xml/xml2 { }; @@ -3991,7 +3991,7 @@ in clangUnwrapped = llvm: pkg: callPackage pkg { inherit llvm; }; - clangSelf = clangWrapSelf llvmPackagesSelf.clang; + clangSelf = self.clangWrapSelf llvmPackagesSelf.clang; clangWrapSelf = build: callPackage ../build-support/cc-wrapper { cc = build; @@ -4023,7 +4023,7 @@ in ocamlPackages = ocamlPackages_4_02; }); - cryptol = haskellPackages.cryptol; + cryptol = self.haskellPackages.cryptol; cython = pythonPackages.cython; cython3 = python3Packages.cython; @@ -4044,18 +4044,20 @@ in gcc = gcc5; - gcc_multi = + wrapCCMulti = cc: if system == "x86_64-linux" then lowPrio ( let extraBuildCommands = '' echo "dontMoveLib64=1" >> $out/nix-support/setup-hook ''; - in wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi extraBuildCommands (gcc.cc.override { - stdenv = overrideCC stdenv (wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi "" gcc.cc); + in wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi extraBuildCommands (cc.cc.override { + stdenv = overrideCC stdenv (wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi "" cc.cc); profiledCompiler = false; enableMultilib = true; })) - else throw "Multilib gcc not supported on ‘${system}’"; + else throw "Multilib ${cc.name} not supported on ‘${system}’"; + + gcc_multi = wrapCCMulti gcc; gcc_debug = lowPrio (wrapCC (gcc.cc.override { stripped = false; @@ -4287,7 +4289,14 @@ in releaseType = "update"; sha256 = "c5e0025b065750bbd76b5357b4fc8606d88afbac9ff55b8a82927b4b96178154"; }; - gcc-arm-embedded = gcc-arm-embedded-4_9; + gcc-arm-embedded-5_2 = pkgs.callPackage_i686 ../development/compilers/gcc-arm-embedded { + dirName = "5.0"; + subdirName = "5-2015-q4-major"; + version = "5.2-2015q4-20151219"; + releaseType = "major"; + sha256 = "12mbwl9iwbw7h6gwwkvyvfmrsz7vgjz27jh2cz9z006ihzigi50y"; + }; + gcc-arm-embedded = self.gcc-arm-embedded-4_9; gforth = callPackage ../development/compilers/gforth {}; @@ -4300,7 +4309,7 @@ in haskellPackages = haskell.packages.ghc7103.override { overrides = config.haskellPackageOverrides or (self: super: {}); }; - inherit (haskellPackages) ghc cabal-install stack; + inherit (self.haskellPackages) ghc cabal-install stack; haxe = callPackage ../development/compilers/haxe { inherit (ocamlPackages) camlp4; @@ -4308,7 +4317,7 @@ in hxcpp = callPackage ../development/compilers/haxe/hxcpp.nix { }; hhvm = callPackage ../development/compilers/hhvm { }; - hiphopvm = hhvm; /* Compatibility alias */ + hiphopvm = self.hhvm; /* Compatibility alias */ hop = callPackage ../development/compilers/hop { }; @@ -4334,7 +4343,7 @@ in inherit (darwin.apple_sdk.frameworks) Security Foundation; }; - go = go_1_5; + go = self.go_1_5; go-repo-root = goPackages.go-repo-root.bin // { outputs = [ "bin" ]; }; @@ -4354,7 +4363,7 @@ in xulrunner = firefox-unwrapped; }; - icedtea_web = icedtea8_web; + icedtea_web = self.icedtea8_web; idrisPackages = callPackage ../development/idris-modules { inherit (haskellPackages) idris; @@ -4384,44 +4393,44 @@ in bootjdk = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "8"; }; }; - openjdk = if stdenv.isDarwin then openjdk7 else openjdk8; + openjdk = if stdenv.isDarwin then self.openjdk7 else self.openjdk8; - jdk7 = openjdk7 // { outputs = [ "out" ]; }; - jre7 = lib.setName "openjre-${lib.getVersion pkgs.openjdk7.jre}" (openjdk7.jre // { outputs = [ "jre" ]; }); + jdk7 = self.openjdk7 // { outputs = [ "out" ]; }; + jre7 = lib.setName "openjre-${lib.getVersion pkgs.openjdk7.jre}" (self.openjdk7.jre // { outputs = [ "jre" ]; }); - jdk8 = openjdk8 // { outputs = [ "out" ]; }; - jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" (openjdk8.jre // { outputs = [ "jre" ]; }); + jdk8 = self.openjdk8 // { outputs = [ "out" ]; }; + jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" (self.openjdk8.jre // { outputs = [ "jre" ]; }); - jdk = if stdenv.isDarwin then jdk7 else jdk8; - jre = if stdenv.isDarwin then jre7 else jre8; + jdk = if stdenv.isDarwin then self.jdk7 else self.jdk8; + jre = if stdenv.isDarwin then self.jre7 else self.jre8; - oraclejdk = pkgs.jdkdistro true false; + oraclejdk = self.jdkdistro true false; - oraclejdk7 = pkgs.oraclejdk7distro true false; + oraclejdk7 = self.oraclejdk7distro true false; - oraclejdk7psu = pkgs.oraclejdk7psu_distro true false; + oraclejdk7psu = self.oraclejdk7psu_distro true false; - oraclejdk8 = pkgs.oraclejdk8distro true false; + oraclejdk8 = self.oraclejdk8distro true false; - oraclejdk8psu = pkgs.oraclejdk8psu_distro true false; + oraclejdk8psu = self.oraclejdk8psu_distro true false; - oraclejre = lowPrio (pkgs.jdkdistro false false); + oraclejre = lowPrio (self.jdkdistro false false); - oraclejre7 = lowPrio (pkgs.oraclejdk7distro false false); + oraclejre7 = lowPrio (self.oraclejdk7distro false false); - oraclejre7psu = lowPrio (pkgs.oraclejdk7psu_distro false false); + oraclejre7psu = lowPrio (self.oraclejdk7psu_distro false false); - oraclejre8 = lowPrio (pkgs.oraclejdk8distro false false); + oraclejre8 = lowPrio (self.oraclejdk8distro false false); - oraclejre8psu = lowPrio (pkgs.oraclejdk8psu_distro false false); + oraclejre8psu = lowPrio (self.oraclejdk8psu_distro false false); - jrePlugin = jre8Plugin; + jrePlugin = self.jre8Plugin; - jre6Plugin = lowPrio (pkgs.jdkdistro false true); + jre6Plugin = lowPrio (self.jdkdistro false true); - jre7Plugin = lowPrio (pkgs.oraclejdk7distro false true); + jre7Plugin = lowPrio (self.oraclejdk7distro false true); - jre8Plugin = lowPrio (pkgs.oraclejdk8distro false true); + jre8Plugin = lowPrio (self.oraclejdk8distro false true); supportsJDK = system == "i686-linux" || @@ -4476,17 +4485,17 @@ in liquibase = callPackage ../development/tools/database/liquibase { }; - llvm = llvmPackages.llvm; + llvm = self.llvmPackages.llvm; - llvm_38 = llvmPackages_38.llvm; - llvm_37 = llvmPackages_37.llvm; - llvm_36 = llvmPackages_36.llvm; - llvm_35 = llvmPackages_35.llvm; - llvm_34 = llvmPackages_34.llvm; + llvm_38 = self.llvmPackages_38.llvm; + llvm_37 = self.llvmPackages_37.llvm; + llvm_36 = self.llvmPackages_36.llvm; + llvm_35 = self.llvmPackages_35.llvm; + llvm_34 = self.llvmPackages_34.llvm; - llvmPackages = recurseIntoAttrs llvmPackages_37; + llvmPackages = recurseIntoAttrs self.llvmPackages_37; - llvmPackagesSelf = llvmPackages_34.override { + llvmPackagesSelf = self.llvmPackages_34.override { stdenv = libcxxStdenv; }; @@ -5271,10 +5280,10 @@ in inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; javacSupport = true; odbcSupport = true; }; - erlang = erlangR18; - erlang_odbc = erlangR18_odbc; - erlang_javac = erlangR18_javac; - erlang_odbc_javac = erlangR18_odbc_javac; + erlang = self.erlangR18; + erlang_odbc = self.erlangR18_odbc; + erlang_javac = self.erlangR18_javac; + erlang_odbc_javac = self.erlangR18_odbc_javac; rebar = callPackage ../development/tools/build-managers/rebar { }; rebar3-open = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = false; }; @@ -5294,7 +5303,7 @@ in guile_2_0 = callPackage ../development/interpreters/guile { }; - guile = guile_2_0; + guile = self.guile_2_0; hadoop = callPackage ../applications/networking/cluster/hadoop { }; @@ -5322,7 +5331,7 @@ in love_0_8 = callPackage ../development/interpreters/love/0.8.nix { lua=lua5_1; }; love_0_9 = callPackage ../development/interpreters/love/0.9.nix { }; love_0_10 = callPackage ../development/interpreters/love/0.10.nix { }; - love = love_0_10; + love = self.love_0_10; ### LUA MODULES @@ -5337,22 +5346,22 @@ in lua5_3_compat = callPackage ../development/interpreters/lua-5/5.3.nix { compat = true; }; - lua5 = lua5_2_compat; - lua = lua5; + lua5 = self.lua5_2_compat; + lua = self.lua5; lua51Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_1; }); lua52Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_2; }); - luaPackages = lua52Packages; + luaPackages = self.lua52Packages; - lua5_1_sockets = lua51Packages.luasocket; + lua5_1_sockets = self.lua51Packages.luasocket; lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {}; lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix { }; luajit = callPackage ../development/interpreters/luajit {}; - luarocks = luaPackages.luarocks; + luarocks = self.luaPackages.luarocks; toluapp = callPackage ../development/tools/toluapp { lua = lua5_1; # doesn't work with any other :( @@ -5588,7 +5597,7 @@ in version = "2.8"; }; - amdappsdk = amdappsdk28; + amdappsdk = self.amdappsdk28; amdappsdkFull = callPackage ../development/misc/amdapp-sdk { version = "2.8"; @@ -5655,7 +5664,7 @@ in antlr3 = callPackage ../development/tools/parsing/antlr { }; - ant = apacheAnt; + ant = self.apacheAnt; apacheAnt = callPackage ../development/tools/build-managers/apache-ant { }; @@ -5678,7 +5687,7 @@ in autocutsel = callPackage ../tools/X11/autocutsel{ }; - automake = automake115x; + automake = self.automake115x; automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { }; @@ -5708,7 +5717,7 @@ in bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { }; - binutils = if stdenv.isDarwin then darwin.binutils else binutils-raw; + binutils = if stdenv.isDarwin then self.darwin.binutils else self.binutils-raw; binutils-raw = callPackage ../development/tools/misc/binutils { inherit noSysDirs; }; @@ -5726,7 +5735,7 @@ in bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { }; bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; - bison = bison3; + bison = self.bison3; bossa = callPackage ../development/tools/misc/bossa { wxGTK = wxGTK30; @@ -5833,9 +5842,9 @@ in inherit (darwin) ps; }; - cmakeCurses = cmake.override { useNcurses = true; }; + cmakeCurses = self.cmake.override { useNcurses = true; }; - cmakeWithGui = cmakeCurses.override { useQt4 = true; }; + cmakeWithGui = self.cmakeCurses.override { useQt4 = true; }; coccinelle = callPackage ../development/tools/misc/coccinelle { }; @@ -5913,7 +5922,7 @@ in inherit (darwin.apple_sdk.frameworks) CoreServices; }; - doxygen_gui = lowPrio (doxygen.override { inherit qt4; }); + doxygen_gui = lowPrio (self.doxygen.override { inherit qt4; }); drush = callPackage ../development/tools/misc/drush { }; @@ -5972,10 +5981,10 @@ in gnumake380 = callPackage ../development/tools/build-managers/gnumake/3.80 { }; gnumake381 = callPackage ../development/tools/build-managers/gnumake/3.81 { }; gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { }; - gnumake3 = gnumake382; + gnumake3 = self.gnumake382; gnumake40 = callPackage ../development/tools/build-managers/gnumake/4.0 { }; gnumake41 = callPackage ../development/tools/build-managers/gnumake/4.1 { }; - gnumake = gnumake41; + gnumake = self.gnumake41; gob2 = callPackage ../development/tools/misc/gob2 { }; @@ -6048,7 +6057,7 @@ in lemon = callPackage ../development/tools/parsing/lemon { }; - libtool = libtool_2; + libtool = self.libtool_2; libtool_1_5 = callPackage ../development/tools/misc/libtool { }; @@ -6291,7 +6300,7 @@ in inherit (gnu) mig; }; - gdbGuile = lowPrio (gdb.override { inherit guile; }); + gdbGuile = lowPrio (self.gdb.override { inherit guile; }); gdbCross = lowPrio (callPackage ../development/tools/misc/gdb { target = crossSystem; @@ -6382,7 +6391,7 @@ in aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix {}); - aterm = aterm25; + aterm = self.aterm25; aterm25 = callPackage ../development/libraries/aterm/2.5.nix { }; @@ -6419,7 +6428,7 @@ in boost155 = callPackage ../development/libraries/boost/1.55.nix { }; boost159 = callPackage ../development/libraries/boost/1.59.nix { }; boost160 = callPackage ../development/libraries/boost/1.60.nix { }; - boost = boost160; + boost = self.boost160; boost_process = callPackage ../development/libraries/boost-process { }; @@ -6497,7 +6506,7 @@ in clucene_core_1 = callPackage ../development/libraries/clucene-core { }; - clucene_core = clucene_core_1; + clucene_core = self.clucene_core_1; clutter = callPackage ../development/libraries/clutter { }; @@ -6563,22 +6572,22 @@ in # Make bdb5 the default as it is the last release under the custom # bsd-like license - db = db5; - db4 = db48; + db = self.db5; + db4 = self.db48; db44 = callPackage ../development/libraries/db/db-4.4.nix { }; db45 = callPackage ../development/libraries/db/db-4.5.nix { }; db47 = callPackage ../development/libraries/db/db-4.7.nix { }; db48 = callPackage ../development/libraries/db/db-4.8.nix { }; - db5 = db53; + db5 = self.db53; db53 = callPackage ../development/libraries/db/db-5.3.nix { }; - db6 = db60; + db6 = self.db60; db60 = callPackage ../development/libraries/db/db-6.0.nix { }; dbus = callPackage ../development/libraries/dbus { }; dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; dbus_glib = callPackage ../development/libraries/dbus-glib { }; dbus_java = callPackage ../development/libraries/java/dbus-java { }; - dbus_python = pythonPackages.dbus; + dbus_python = self.pythonPackages.dbus; dbus-sharp-1_0 = callPackage ../development/libraries/dbus-sharp/dbus-sharp-1.0.nix { }; dbus-sharp-2_0 = callPackage ../development/libraries/dbus-sharp { }; @@ -6587,9 +6596,9 @@ in dbus-sharp-glib-2_0 = callPackage ../development/libraries/dbus-sharp-glib { }; # Should we deprecate these? Currently there are many references. - dbus_tools = pkgs.dbus.tools; - dbus_libs = pkgs.dbus.libs; - dbus_daemon = pkgs.dbus.daemon; + dbus_tools = self.dbus.out; + dbus_libs = self.dbus; + dbus_daemon = self.dbus.daemon; dee = callPackage ../development/libraries/dee { }; @@ -6666,10 +6675,10 @@ in inherit (darwin.apple_sdk.frameworks) Cocoa; }; # Aliases - ffmpeg_0 = ffmpeg_0_10; - ffmpeg_1 = ffmpeg_1_2; - ffmpeg_2 = ffmpeg_2_8; - ffmpeg = ffmpeg_2; + ffmpeg_0 = self.ffmpeg_0_10; + ffmpeg_1 = self.ffmpeg_1_2; + ffmpeg_2 = self.ffmpeg_2_8; + ffmpeg = self.ffmpeg_2; ffmpeg-full = callPackage ../development/libraries/ffmpeg-full { # The following need to be fixed on Darwin @@ -6692,9 +6701,9 @@ in ffms = callPackage ../development/libraries/ffms { }; fftw = callPackage ../development/libraries/fftw { }; - fftwSinglePrec = fftw.override { precision = "single"; }; - fftwFloat = fftwSinglePrec; # the configure option is just an alias - fftwLongDouble = fftw.override { precision = "long-double"; }; + fftwSinglePrec = self.fftw.override { precision = "single"; }; + fftwFloat = self.fftwSinglePrec; # the configure option is just an alias + fftwLongDouble = self.fftw.override { precision = "long-double"; }; filter-audio = callPackage ../development/libraries/filter-audio {}; @@ -6748,7 +6757,7 @@ in funambol = callPackage ../development/libraries/funambol { }; - fam = gamin; + fam = self.gamin; gamin = callPackage ../development/libraries/gamin { }; @@ -6764,7 +6773,7 @@ in gecode_3 = callPackage ../development/libraries/gecode/3.nix { }; gecode_4 = callPackage ../development/libraries/gecode { }; - gecode = gecode_4; + gecode = self.gecode_4; gegl = callPackage ../development/libraries/gegl { }; @@ -6774,7 +6783,7 @@ in geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {}; - geoipWithDatabase = makeOverridable (callPackage ../development/libraries/geoip) { + geoipWithDatabase = self.geoip.override { drvName = "geoip-tools"; geoipDatabase = geolite-legacy; }; @@ -6814,7 +6823,7 @@ in glew = callPackage ../development/libraries/glew { }; glew110 = callPackage ../development/libraries/glew/1.10.nix { }; - glfw = glfw3; + glfw = self.glfw3; glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; glfw3 = callPackage ../development/libraries/glfw/3.x.nix { }; @@ -6874,7 +6883,7 @@ in gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; # required by older GHC versions gmp5 = callPackage ../development/libraries/gmp/5.1.x.nix { }; gmp6 = callPackage ../development/libraries/gmp/6.x.nix { }; - gmp = gmp5; + gmp = self.gmp6; gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; }); #GMP ex-satellite, so better keep it near gmp @@ -6950,7 +6959,7 @@ in gnu-efi = callPackage ../development/libraries/gnu-efi { }; - gnutls = gnutls34; + gnutls = self.gnutls34; gnutls33 = callPackage ../development/libraries/gnutls/3.3.nix { guileBindings = config.gnutls.guile or false; @@ -6992,7 +7001,7 @@ in }; glib = callPackage ../development/libraries/glib { }; - glib-tested = glib.override { # checked version separate to break cycles + glib-tested = self.glib.override { # checked version separate to break cycles doCheck = true; libffi = libffi.override { doCheck = true; }; }; @@ -7003,6 +7012,7 @@ in ace = callPackage ../development/libraries/ace { }; atk = callPackage ../development/libraries/atk { }; + atkmm = callPackage ../development/libraries/atkmm { }; pixman = callPackage ../development/libraries/pixman { }; @@ -7011,6 +7021,8 @@ in glSupport = config.cairo.gl or (stdenv.isLinux && !stdenv.isArm && !stdenv.isMips); }; + + cairomm = callPackage ../development/libraries/cairomm { }; pango = callPackage ../development/libraries/pango { }; @@ -7032,7 +7044,7 @@ in gtk3 = callPackage ../development/libraries/gtk+/3.x.nix { }; - gtk = pkgs.gtk2; + gtk = self.gtk2; gtkmm = callPackage ../development/libraries/gtkmm/2.x.nix { }; gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { }; @@ -7053,7 +7065,7 @@ in libgnomeprintui GConf gnomepanel; }; - gtk-sharp = gtk-sharp-2_0; + gtk-sharp = self.gtk-sharp-2_0; gtk-sharp-beans = callPackage ../development/libraries/gtk-sharp-beans { }; @@ -7073,10 +7085,10 @@ in # TODO : Let admin choose. # We are using mit-krb5 because it is better maintained - kerberos = libkrb5; + kerberos = self.libkrb5; heimdalFull = callPackage ../development/libraries/kerberos/heimdal.nix { }; - libheimdal = heimdalFull.override { type = "lib"; }; + libheimdal = self.heimdalFull.override { type = "lib"; }; harfbuzz = callPackage ../development/libraries/harfbuzz { }; harfbuzz-icu = callPackage ../development/libraries/harfbuzz { @@ -7088,7 +7100,7 @@ in herqq = callPackage ../development/libraries/herqq { }; - heyefi = haskellPackages.heyefi; + heyefi = self.haskellPackages.heyefi; hidapi = callPackage ../development/libraries/hidapi { libusb = libusb1; @@ -7219,11 +7231,11 @@ in krb5Full = callPackage ../development/libraries/kerberos/krb5.nix { inherit (darwin) bootstrap_cmds; }; - libkrb5 = krb5Full.override { type = "lib"; }; + libkrb5 = self.krb5Full.override { type = "lib"; }; LASzip = callPackage ../development/libraries/LASzip { }; - lcms = lcms1; + lcms = self.lcms1; lcms1 = callPackage ../development/libraries/lcms { }; @@ -7285,9 +7297,8 @@ in libaudclient = callPackage ../development/libraries/libaudclient { }; - libav = libav_11; # branch 11 is API-compatible with branch 10 - libav_all = callPackage ../development/libraries/libav { }; - inherit (libav_all) libav_0_8 libav_11; + libav = self.libav_11; # branch 11 is API-compatible with branch 10 + inherit (callPackages ../development/libraries/libav { }) libav_0_8 libav_11; libavc1394 = callPackage ../development/libraries/libavc1394 { }; @@ -7306,10 +7317,10 @@ in libcaca = callPackage ../development/libraries/libcaca { }; libcanberra = callPackage ../development/libraries/libcanberra { }; - libcanberra_gtk3 = libcanberra.override { gtk = gtk3; }; + libcanberra_gtk3 = self.libcanberra.override { gtk = gtk3; }; libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true) - then libcanberra.override { gtk = null; } - else libcanberra; + then self.libcanberra.override { gtk = null; } + else self.libcanberra; libcec = callPackage ../development/libraries/libcec { }; libcec_platform = callPackage ../development/libraries/libcec/platform.nix { }; @@ -7384,7 +7395,7 @@ in sqlite = null; }; - libdbiDrivers = libdbiDriversBase.override { + libdbiDrivers = self.libdbiDriversBase.override { inherit sqlite libmysql; }; @@ -7402,7 +7413,7 @@ in inherit (darwin.apple_sdk.frameworks) OpenGL; }; - libdevil-nox = libdevil.override { + libdevil-nox = self.libdevil.override { libX11 = null; mesa = null; }; @@ -7499,7 +7510,7 @@ in liblo = callPackage ../development/libraries/liblo { }; - liblrdf = librdf; + liblrdf = self.librdf; liblscp = callPackage ../development/libraries/liblscp { }; @@ -7700,7 +7711,7 @@ in libjpeg_original = callPackage ../development/libraries/libjpeg { }; libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; - libjpeg = if stdenv.isLinux then libjpeg_turbo else libjpeg_original; # some problems, both on FreeBSD and Darwin + libjpeg = if stdenv.isLinux then self.libjpeg_turbo else self.libjpeg_original; # some problems, both on FreeBSD and Darwin libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix { libtool = libtool_1_5; @@ -7766,7 +7777,7 @@ in libmusicbrainz5 = callPackage ../development/libraries/libmusicbrainz/5.x.nix { }; - libmusicbrainz = libmusicbrainz3; + libmusicbrainz = self.libmusicbrainz3; libmwaw = callPackage ../development/libraries/libmwaw { }; @@ -7833,7 +7844,7 @@ in libpgf = callPackage ../development/libraries/libpgf { }; libpng = callPackage ../development/libraries/libpng { }; - libpng_apng = libpng.override { apngSupport = true; }; + libpng_apng = self.libpng.override { apngSupport = true; }; libpng12 = callPackage ../development/libraries/libpng/12.nix { }; libpaper = callPackage ../development/libraries/libpaper { }; @@ -7954,7 +7965,7 @@ in libupnp = callPackage ../development/libraries/pupnp { }; - giflib = giflib_5_1; + giflib = self.giflib_5_1; giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { }; giflib_5_0 = callPackage ../development/libraries/giflib/5.0.nix { }; giflib_5_1 = callPackage ../development/libraries/giflib/5.1.nix { }; @@ -7987,9 +7998,9 @@ in inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices; }); - libuv = libuvVersions.v1_7_5; + libuv = self.libuvVersions.v1_7_5; - libv4l = lowPrio (v4l_utils.override { + libv4l = lowPrio (self.v4l_utils.override { alsaLib = null; libX11 = null; qt4 = null; @@ -7997,6 +8008,7 @@ in }); libva = callPackage ../development/libraries/libva { }; + libva-full = libva.override { minimal = false; }; libvdpau = callPackage ../development/libraries/libvdpau { }; @@ -8025,7 +8037,7 @@ in libwmf = callPackage ../development/libraries/libwmf { }; - libwnck = libwnck2; + libwnck = self.libwnck2; libwnck2 = callPackage ../development/libraries/libwnck { }; libwnck3 = callPackage ../development/libraries/libwnck/3.x.nix { }; @@ -8049,14 +8061,18 @@ in libxmi = callPackage ../development/libraries/libxmi { }; - libxml2 = callPackage ../development/libraries/libxml2 { - pythonSupport = false; + libxml2 = callPackage ../development/libraries/libxml2 { }; + libxml2Python = pkgs.buildEnv { # slightly hacky + name = "libxml2+py-${self.libxml2.version}"; + paths = with self.libxml2; [ dev bin py ]; + inherit (self.libxml2) passthru; + # the hook to find catalogs is hidden by buildEnv + postBuild = '' + mkdir "$out/nix-support" + cp '${self.libxml2.dev}/nix-support/propagated-native-build-inputs' "$out/nix-support/" + ''; }; - libxml2Python = lowPrio (libxml2.override { - pythonSupport = true; - }); - libxmlxx = callPackage ../development/libraries/libxmlxx { }; libxmp = callPackage ../development/libraries/libxmp { }; @@ -8146,7 +8162,7 @@ in ); mesa = mesaDarwinOr (buildEnv { name = "mesa-${mesa_noglu.version}"; - paths = [ mesa_noglu mesa_glu ]; + paths = [ mesa_noglu.dev mesa_noglu.out mesa_glu ]; }); meterbridge = callPackage ../applications/audio/meterbridge { }; @@ -8243,7 +8259,7 @@ in newt = callPackage ../development/libraries/newt { }; nghttp2 = callPackage ../development/libraries/nghttp2 { }; - libnghttp2 = nghttp2.override { + libnghttp2 = self.nghttp2.override { prefix = "lib"; fetchurl = fetchurlBoot; }; @@ -8259,13 +8275,10 @@ in nspr = callPackage ../development/libraries/nspr { }; nss = lowPrio (callPackage ../development/libraries/nss { }); + nssTools = nss.tools; nss_wrapper = callPackage ../development/libraries/nss_wrapper { }; - nssTools = callPackage ../development/libraries/nss { - includeTools = true; - }; - ntk = callPackage ../development/libraries/audio/ntk { }; ntrack = callPackage ../development/libraries/ntrack { }; @@ -8340,8 +8353,7 @@ in openslp = callPackage ../development/libraries/openslp {}; - # 2.3 breaks some backward-compability - libressl = libressl_2_2; + libressl = self.libressl_2_3; libressl_2_2 = callPackage ../development/libraries/libressl/2.2.nix { fetchurl = fetchurlBoot; }; @@ -8392,17 +8404,10 @@ in vtk = vtkWithQt4; }; - pcre = callPackage ../development/libraries/pcre { - unicodeSupport = config.pcre.unicode or true; - }; - pcre16 = pcre.override { - cplusplusSupport = false; - withCharSize = 16; - }; - pcre32 = pcre.override { - cplusplusSupport = false; - withCharSize = 32; - }; + pcre = callPackage ../development/libraries/pcre { }; + pcre16 = self.pcre.override { variant = "pcre16"; }; + # pcre32 seems unused + pcre-cpp = self.pcre.override { variant = "cpp"; }; pcre2 = callPackage ../development/libraries/pcre2 { }; @@ -8497,7 +8502,7 @@ in libpng = libpng12; }; - qt4 = pkgs.kde4.qt4; + qt4 = self.kde4.qt4; qt48 = callPackage ../development/libraries/qt-4.x/4.8 { # GNOME dependencies are not used unless gtkStyle == true @@ -8524,7 +8529,7 @@ in let imported = import ../development/libraries/qt-5/5.5 { inherit pkgs; }; in recurseIntoAttrs (imported.override (super: qt5LibsFun)); - qt5 = qt54; + qt5 = self.qt54; qt5LibsFun = self: with self; { @@ -8574,10 +8579,10 @@ in telepathy = callPackage ../development/libraries/telepathy/qt { }; - vlc = callPackage ../applications/video/vlc { + vlc = lowPrio (callPackage ../applications/video/vlc { qt4 = null; withQt5 = true; - }; + }); }; @@ -8807,7 +8812,7 @@ in sqlite-amalgamation = callPackage ../development/libraries/sqlite-amalgamation { }; - sqlite-interactive = appendToName "interactive" (sqlite.override { interactive = true; }); + sqlite-interactive = appendToName "interactive" (sqlite.override { interactive = true; }).bin; sqlcipher = lowPrio (callPackage ../development/libraries/sqlcipher { readline = null; @@ -8964,9 +8969,13 @@ in inherit (pythonPackages) gyp; }; - vaapiIntel = callPackage ../development/libraries/vaapi-intel { }; + vaapiIntel = callPackage ../development/libraries/vaapi-intel { + libva = libva-full; # also wants libva-{x11,drm,wayland} + }; - vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { }; + vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { + libva = libva-full; # needs libva-{x11,glx} + }; vamp = callPackage ../development/libraries/audio/vamp { }; @@ -9483,7 +9492,7 @@ in rdf4store = callPackage ../servers/http/4store { }; - apacheHttpd = pkgs.apacheHttpd_2_4; + apacheHttpd = self.apacheHttpd_2_4; apacheHttpd_2_2 = callPackage ../servers/http/apache-httpd/2.2.nix { sslSupport = true; @@ -9523,7 +9532,7 @@ in cassandra_1_2 = callPackage ../servers/nosql/cassandra/1.2.nix { }; cassandra_2_0 = callPackage ../servers/nosql/cassandra/2.0.nix { }; cassandra_2_1 = callPackage ../servers/nosql/cassandra/2.1.nix { }; - cassandra = cassandra_2_1; + cassandra = self.cassandra_2_1; apache-jena = callPackage ../servers/nosql/apache-jena/binary.nix { java = jdk; @@ -9533,7 +9542,7 @@ in java = jdk; }; - fuseki = apache-jena-fuseki; + fuseki = self.apache-jena-fuseki; apcupsd = callPackage ../servers/apcupsd { }; @@ -9669,7 +9678,6 @@ in # Backwards compatibility. mod_dnssd = pkgs.apacheHttpdPackages.mod_dnssd; - mod_evasive = pkgs.apacheHttpdPackages.mod_evasive; mod_fastcgi = pkgs.apacheHttpdPackages.mod_fastcgi; mod_python = pkgs.apacheHttpdPackages.mod_python; mod_wsgi = pkgs.apacheHttpdPackages.mod_wsgi; @@ -10018,6 +10026,8 @@ in zookeeper_mt = callPackage ../development/libraries/zookeeper_mt { }; + xqilla = callPackage ../development/tools/xqilla { }; + xquartz = callPackage ../servers/x11/xquartz { }; quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; @@ -10083,17 +10093,13 @@ in microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { }; - apparmor = callPackage ../os-specific/linux/apparmor { swig = swig2; }; - libapparmor = apparmor.libapparmor; - apparmor-pam = apparmor.apparmor-pam; - apparmor-parser = apparmor.apparmor-parser; - apparmor-profiles = apparmor.apparmor-profiles; - apparmor-utils = apparmor.apparmor-utils; + inherit (callPackages ../os-specific/linux/apparmor { swig = swig2; }) + libapparmor apparmor-pam apparmor-parser apparmor-profiles apparmor-utils; atop = callPackage ../os-specific/linux/atop { }; audit = callPackage ../os-specific/linux/audit { }; - libaudit = audit; + libaudit = self.audit; b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { }; @@ -10112,7 +10118,7 @@ in # Needed for LibreOffice bluez5_28 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5_28.nix { }); - bluez = bluez5; + bluez = self.bluez5; inherit (pythonPackages) bedup; @@ -10196,7 +10202,7 @@ in inherit (darwin) libobjc; }; - devicemapper = lvm2; + devicemapper = self.lvm2; disk_indicator = callPackage ../os-specific/linux/disk-indicator { }; @@ -10249,7 +10255,7 @@ in ebtables = callPackage ../os-specific/linux/ebtables { }; - eject = utillinux; + eject = self.utillinux; facetimehd-firmware = callPackage ../os-specific/linux/firmware/facetimehd-firmware { }; @@ -10260,7 +10266,7 @@ in fatrace = callPackage ../os-specific/linux/fatrace { }; ffadoFull = callPackage ../os-specific/linux/ffado { }; - libffado = ffadoFull.override { prefix = "lib"; }; + libffado = self.ffadoFull.override { prefix = "lib"; }; fbterm = callPackage ../os-specific/linux/fbterm { }; @@ -10284,7 +10290,7 @@ in ncurses = null; # Keep curses disabled for lack of value }; - gpm-ncurses = gpm.override { inherit ncurses; }; + gpm-ncurses = self.gpm.override { inherit ncurses; }; gradm = callPackage ../os-specific/linux/gradm { flex = flex_2_5_35; @@ -10325,6 +10331,11 @@ in }; iptables = callPackage ../os-specific/linux/iptables { }; + # The freshest version — possibly crashing connmand? + # https://github.com/NixOS/nixpkgs/commit/fe00c8a83f696e3430ee4aa3fc850f171da52450 + iptables_16 = callPackage ../os-specific/linux/iptables/1.6.nix { + flex = flex_2_5_35; + }; ipset = callPackage ../os-specific/linux/ipset { }; @@ -10364,7 +10375,7 @@ in # -- Linux kernel expressions ------------------------------------------------ - linuxHeaders = linuxHeaders_3_18; + linuxHeaders = self.linuxHeaders_3_18; linuxHeaders24Cross = forceNativeDrv (callPackage ../os-specific/linux/kernel-headers/2.4.nix { cross = assert crossSystem != null; crossSystem; @@ -10377,12 +10388,12 @@ in linuxHeaders_3_18 = callPackage ../os-specific/linux/kernel-headers/3.18.nix { }; # We can choose: - linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross - else if ver == "2.6" then linuxHeaders26Cross + linuxHeadersCrossChooser = ver : if ver == "2.4" then self.linuxHeaders24Cross + else if ver == "2.6" then self.linuxHeaders26Cross else throw "Unknown linux kernel version"; linuxHeadersCross = assert crossSystem != null; - linuxHeadersCrossChooser crossSystem.platform.kernelMajor; + self.linuxHeadersCrossChooser crossSystem.platform.kernelMajor; kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; @@ -10454,7 +10465,7 @@ in }; linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix { - kernelPatches = [ kernelPatches.bridge_stp_helper ] + kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.qat_common_Makefile ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill @@ -10495,7 +10506,7 @@ in ]; }; - linux_chromiumos_latest = linux_chromiumos_3_18; + linux_chromiumos_latest = self.linux_chromiumos_3_18; /* grsec configuration @@ -10546,36 +10557,36 @@ in grsecOptions = { kernelPatch = patch; } // opts; }); - grKernel = patch: opts: (mkGrsecurity patch opts).grsecKernel; - grPackage = patch: opts: recurseIntoAttrs (mkGrsecurity patch opts).grsecPackage; + grKernel = patch: opts: (self.mkGrsecurity patch opts).grsecKernel; + grPackage = patch: opts: recurseIntoAttrs (self.mkGrsecurity patch opts).grsecPackage; # grsecurity kernels (see also linuxPackages_grsec_*) - linux_grsec_desktop_3_14 = grKernel kernelPatches.grsecurity_3_14 grFlavors.desktop; - linux_grsec_server_3_14 = grKernel kernelPatches.grsecurity_3_14 grFlavors.server; - linux_grsec_server_xen_3_14 = grKernel kernelPatches.grsecurity_3_14 grFlavors.server_xen; + linux_grsec_desktop_3_14 = self.grKernel kernelPatches.grsecurity_3_14 self.grFlavors.desktop; + linux_grsec_server_3_14 = self.grKernel kernelPatches.grsecurity_3_14 self.grFlavors.server; + linux_grsec_server_xen_3_14 = self.grKernel kernelPatches.grsecurity_3_14 self.grFlavors.server_xen; - linux_grsec_desktop_4_1 = grKernel kernelPatches.grsecurity_4_1 grFlavors.desktop; - linux_grsec_server_4_1 = grKernel kernelPatches.grsecurity_4_1 grFlavors.server; - linux_grsec_server_xen_4_1 = grKernel kernelPatches.grsecurity_4_1 grFlavors.server_xen; + linux_grsec_desktop_4_1 = self.grKernel kernelPatches.grsecurity_4_1 self.grFlavors.desktop; + linux_grsec_server_4_1 = self.grKernel kernelPatches.grsecurity_4_1 self.grFlavors.server; + linux_grsec_server_xen_4_1 = self.grKernel kernelPatches.grsecurity_4_1 self.grFlavors.server_xen; - linux_grsec_desktop_4_4 = grKernel kernelPatches.grsecurity_4_4 grFlavors.desktop; - linux_grsec_server_4_4 = grKernel kernelPatches.grsecurity_4_4 grFlavors.server; - linux_grsec_server_xen_4_4 = grKernel kernelPatches.grsecurity_4_4 grFlavors.server_xen; + linux_grsec_desktop_4_4 = self.grKernel kernelPatches.grsecurity_4_4 self.grFlavors.desktop; + linux_grsec_server_4_4 = self.grKernel kernelPatches.grsecurity_4_4 self.grFlavors.server; + linux_grsec_server_xen_4_4 = self.grKernel kernelPatches.grsecurity_4_4 self.grFlavors.server_xen; - linux_grsec_desktop_latest = grKernel kernelPatches.grsecurity_latest grFlavors.desktop; - linux_grsec_server_latest = grKernel kernelPatches.grsecurity_latest grFlavors.server; - linux_grsec_server_xen_latest = grKernel kernelPatches.grsecurity_latest grFlavors.server_xen; + linux_grsec_desktop_latest = self.grKernel kernelPatches.grsecurity_latest self.grFlavors.desktop; + linux_grsec_server_latest = self.grKernel kernelPatches.grsecurity_latest self.grFlavors.server; + linux_grsec_server_xen_latest = self.grKernel kernelPatches.grsecurity_latest self.grFlavors.server_xen; # grsecurity: old names - linux_grsec_testing_desktop = linux_grsec_desktop_latest; - linux_grsec_testing_server = linux_grsec_server_latest; - linux_grsec_testing_server_xen = linux_grsec_server_xen_latest; + linux_grsec_testing_desktop = self.linux_grsec_desktop_latest; + linux_grsec_testing_server = self.linux_grsec_server_latest; + linux_grsec_testing_server_xen = self.linux_grsec_server_xen_latest; - linux_grsec_stable_desktop = linux_grsec_desktop_3_14; - linux_grsec_stable_server = linux_grsec_server_3_14; - linux_grsec_stable_server_xen = linux_grsec_server_xen_3_14; + linux_grsec_stable_desktop = self.linux_grsec_desktop_3_14; + linux_grsec_stable_server = self.linux_grsec_server_3_14; + linux_grsec_stable_server_xen = self.linux_grsec_server_xen_3_14; /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a @@ -10695,67 +10706,67 @@ in }; # The current default kernel / kernel modules. - linuxPackages = linuxPackages_4_4; - linux = linuxPackages.kernel; + linuxPackages = self.linuxPackages_4_4; + linux = self.linuxPackages.kernel; # Update this when adding the newest kernel major version! - linuxPackages_latest = pkgs.linuxPackages_4_5; - linux_latest = linuxPackages_latest.kernel; + linuxPackages_latest = self.linuxPackages_4_5; + linux_latest = self.linuxPackages_latest.kernel; # Build the kernel modules for the some of the kernels. - linuxPackages_mptcp = linuxPackagesFor pkgs.linux_mptcp linuxPackages_mptcp; - linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi linuxPackages_rpi; - linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); - linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; - linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); - linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14); - linuxPackages_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_18 linuxPackages_3_18); - linuxPackages_4_1 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_1 linuxPackages_4_1); - linuxPackages_4_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_3 linuxPackages_4_3); - linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4 linuxPackages_4_4); - linuxPackages_4_5 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_5 linuxPackages_4_5); - linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing); + linuxPackages_mptcp = self.linuxPackagesFor self.linux_mptcp linuxPackages_mptcp; + linuxPackages_rpi = self.linuxPackagesFor self.linux_rpi linuxPackages_rpi; + linuxPackages_3_10 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_10 linuxPackages_3_10); + linuxPackages_3_10_tuxonice = self.linuxPackagesFor self.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; + linuxPackages_3_12 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_12 linuxPackages_3_12); + linuxPackages_3_14 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_14 linuxPackages_3_14); + linuxPackages_3_18 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_18 linuxPackages_3_18); + linuxPackages_4_1 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_1 linuxPackages_4_1); + linuxPackages_4_3 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_3 linuxPackages_4_3); + linuxPackages_4_4 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_4 linuxPackages_4_4); + linuxPackages_4_5 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_5 linuxPackages_4_5); + linuxPackages_testing = recurseIntoAttrs (self.linuxPackagesFor self.linux_testing linuxPackages_testing); linuxPackages_custom = {version, src, configfile}: - let linuxPackages_self = (linuxPackagesFor (pkgs.linuxManualConfig {inherit version src configfile; - allowImportFromDerivation=true;}) + let linuxPackages_self = (self.linuxPackagesFor (self.linuxManualConfig {inherit version src configfile; + allowImportFromDerivation=true;}) linuxPackages_self); in recurseIntoAttrs linuxPackages_self; # Build a kernel for Xen dom0 - linuxPackages_latest_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }) linuxPackages_latest); + linuxPackages_latest_xen_dom0 = recurseIntoAttrs (self.linuxPackagesFor (self.linux_latest.override { features.xen_dom0=true; }) linuxPackages_latest); # grsecurity packages - linuxPackages_grsec_desktop_3_14 = grPackage kernelPatches.grsecurity_3_14 grFlavors.desktop; - linuxPackages_grsec_server_3_14 = grPackage kernelPatches.grsecurity_3_14 grFlavors.server; - linuxPackages_grsec_server_xen_3_14 = grPackage kernelPatches.grsecurity_3_14 grFlavors.server_xen; + linuxPackages_grsec_desktop_3_14 = self.grPackage kernelPatches.grsecurity_3_14 self.grFlavors.desktop; + linuxPackages_grsec_server_3_14 = self.grPackage kernelPatches.grsecurity_3_14 self.grFlavors.server; + linuxPackages_grsec_server_xen_3_14 = self.grPackage kernelPatches.grsecurity_3_14 self.grFlavors.server_xen; - linuxPackages_grsec_desktop_4_1 = grPackage kernelPatches.grsecurity_4_1 grFlavors.desktop; - linuxPackages_grsec_server_4_1 = grPackage kernelPatches.grsecurity_4_1 grFlavors.server; - linuxPackages_grsec_server_xen_4_1 = grPackage kernelPatches.grsecurity_4_1 grFlavors.server_xen; + linuxPackages_grsec_desktop_4_1 = self.grPackage kernelPatches.grsecurity_4_1 self.grFlavors.desktop; + linuxPackages_grsec_server_4_1 = self.grPackage kernelPatches.grsecurity_4_1 self.grFlavors.server; + linuxPackages_grsec_server_xen_4_1 = self.grPackage kernelPatches.grsecurity_4_1 self.grFlavors.server_xen; - linuxPackages_grsec_desktop_4_4 = grPackage kernelPatches.grsecurity_4_4 grFlavors.desktop; - linuxPackages_grsec_server_4_4 = grPackage kernelPatches.grsecurity_4_4 grFlavors.server; - linuxPackages_grsec_server_xen_4_4 = grPackage kernelPatches.grsecurity_4_4 grFlavors.server_xen; + linuxPackages_grsec_desktop_4_4 = self.grPackage kernelPatches.grsecurity_4_4 self.grFlavors.desktop; + linuxPackages_grsec_server_4_4 = self.grPackage kernelPatches.grsecurity_4_4 self.grFlavors.server; + linuxPackages_grsec_server_xen_4_4 = self.grPackage kernelPatches.grsecurity_4_4 self.grFlavors.server_xen; - linuxPackages_grsec_desktop_latest = grPackage kernelPatches.grsecurity_latest grFlavors.desktop; - linuxPackages_grsec_server_latest = grPackage kernelPatches.grsecurity_latest grFlavors.server; - linuxPackages_grsec_server_xen_latest = grPackage kernelPatches.grsecurity_latest grFlavors.server_xen; + linuxPackages_grsec_desktop_latest = self.grPackage kernelPatches.grsecurity_latest self.grFlavors.desktop; + linuxPackages_grsec_server_latest = self.grPackage kernelPatches.grsecurity_latest self.grFlavors.server; + linuxPackages_grsec_server_xen_latest = self.grPackage kernelPatches.grsecurity_latest self.grFlavors.server_xen; # grsecurity: old names - linuxPackages_grsec_testing_desktop = linuxPackages_grsec_desktop_latest; - linuxPackages_grsec_testing_server = linuxPackages_grsec_server_latest; - linuxPackages_grsec_testing_server_xen = linuxPackages_grsec_server_xen_latest; + linuxPackages_grsec_testing_desktop = self.linuxPackages_grsec_desktop_latest; + linuxPackages_grsec_testing_server = self.linuxPackages_grsec_server_latest; + linuxPackages_grsec_testing_server_xen = self.linuxPackages_grsec_server_xen_latest; - linuxPackages_grsec_stable_desktop = linuxPackages_grsec_desktop_3_14; - linuxPackages_grsec_stable_server = linuxPackages_grsec_server_3_14; - linuxPackages_grsec_stable_server_xen = linuxPackages_grsec_server_xen_3_14; + linuxPackages_grsec_stable_desktop = self.linuxPackages_grsec_desktop_3_14; + linuxPackages_grsec_stable_server = self.linuxPackages_grsec_server_3_14; + linuxPackages_grsec_stable_server_xen = self.linuxPackages_grsec_server_xen_3_14; # ChromiumOS kernels - linuxPackages_chromiumos_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_3_14 linuxPackages_chromiumos_3_14); - linuxPackages_chromiumos_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_3_18 linuxPackages_chromiumos_3_18); - linuxPackages_chromiumos_latest = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_latest linuxPackages_chromiumos_latest); + linuxPackages_chromiumos_3_14 = recurseIntoAttrs (self.linuxPackagesFor self.linux_chromiumos_3_14 linuxPackages_chromiumos_3_14); + linuxPackages_chromiumos_3_18 = recurseIntoAttrs (self.linuxPackagesFor self.linux_chromiumos_3_18 linuxPackages_chromiumos_3_18); + linuxPackages_chromiumos_latest = recurseIntoAttrs (self.linuxPackagesFor self.linux_chromiumos_latest linuxPackages_chromiumos_latest); # A function to build a manually-configured kernel linuxManualConfig = pkgs.buildLinux; @@ -10997,8 +11008,8 @@ in }; # Provided with sysfsutils. - libsysfs = sysfsutils; - systool = sysfsutils; + libsysfs = self.sysfsutils; + systool = self.sysfsutils; sysklogd = callPackage ../os-specific/linux/sysklogd { }; @@ -11008,7 +11019,15 @@ in systemd = callPackage ../os-specific/linux/systemd { linuxHeaders = linuxHeaders_3_18; - }; + utillinux = utillinuxMinimal; # break the cyclic dependency + } + // { + udev.bin = systemd; # ${systemd.udev.bin}/bin/udevadm + udev.lib = libudev.out; # ${systemd.udev.lib}/lib/libudev.* + }; + + # standalone cryptsetup generator for systemd + systemd-cryptsetup-generator = callPackage ../os-specific/linux/systemd/cryptsetup-generator.nix { }; # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get # LVM2 working in systemd. @@ -11062,7 +11081,11 @@ in cross = assert crossSystem != null; crossSystem; }); - udev = pkgs.systemd; + # This hacky alias covers most use cases without mass-replace (build inputs) + # and causes an *evaluation* error if "${udev}" is attempted. + udev = [ libudev.dev libudev.out ]; + libudev = callPackage ../os-specific/linux/systemd/libudev.nix { }; + eudev = callPackage ../os-specific/linux/eudev {}; # libudev.so.0 @@ -11254,9 +11277,9 @@ in docbook_xsl docbook_xsl_ns; - docbook_xml_xslt = docbook_xsl; + docbook_xml_xslt = self.docbook_xsl; - docbook5_xsl = docbook_xsl_ns; + docbook5_xsl = self.docbook_xsl_ns; dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { }; @@ -11318,7 +11341,7 @@ in liberation_ttf_from_source = callPackage ../data/fonts/redhat-liberation-fonts { }; liberation_ttf_binary = callPackage ../data/fonts/redhat-liberation-fonts/binary.nix { }; - liberation_ttf = liberation_ttf_binary; + liberation_ttf = self.liberation_ttf_binary; libertine = callPackage ../data/fonts/libertine { }; @@ -11557,7 +11580,7 @@ in antiword = callPackage ../applications/office/antiword {}; - ardour = ardour4; + ardour = self.ardour4; ardour3 = callPackage ../applications/audio/ardour/ardour3.nix { inherit (gnome) libgnomecanvas libgnomecanvasmm; @@ -11596,8 +11619,8 @@ in altcoins = recurseIntoAttrs ( callPackage ../applications/altcoins { callPackage = newScope { boost = boost155; }; } ); - bitcoin = altcoins.bitcoin; - bitcoin-xt = altcoins.bitcoin-xt; + bitcoin = self.altcoins.bitcoin; + bitcoin-xt = self.altcoins.bitcoin-xt; aumix = callPackage ../applications/audio/aumix { gtkGUI = false; @@ -11629,7 +11652,7 @@ in cairo = cairo.override { xcbSupport = true; }; luaPackages = luaPackages.override { inherit lua; }; }; - awesome = awesome-3-5; + awesome = self.awesome-3-5; awesomebump = qt5.callPackage ../applications/graphics/awesomebump { }; @@ -11639,7 +11662,7 @@ in backintime-qt4 = callPackage ../applications/networking/sync/backintime/qt4.nix { }; - backintime = backintime-qt4; + backintime = self.backintime-qt4; bandwidth = callPackage ../tools/misc/bandwidth { }; @@ -11745,7 +11768,7 @@ in cddiscid = callPackage ../applications/audio/cd-discid { }; - cdparanoia = cdparanoiaIII; + cdparanoia = self.cdparanoiaIII; cdparanoiaIII = callPackage ../applications/audio/cdparanoia { inherit (darwin) IOKit; @@ -11780,9 +11803,9 @@ in chronos = callPackage ../applications/networking/cluster/chronos { }; - chromiumBeta = lowPrio (chromium.override { channel = "beta"; }); + chromiumBeta = lowPrio (self.chromium.override { channel = "beta"; }); - chromiumDev = lowPrio (chromium.override { channel = "dev"; }); + chromiumDev = lowPrio (self.chromium.override { channel = "dev"; }); chuck = callPackage ../applications/audio/chuck { }; @@ -11840,7 +11863,7 @@ in comical = callPackage ../applications/graphics/comical { }; conkeror-unwrapped = callPackage ../applications/networking/browsers/conkeror { }; - conkeror = wrapFirefox conkeror-unwrapped { }; + conkeror = self.wrapFirefox conkeror-unwrapped { }; csdp = callPackage ../applications/science/math/csdp { liblapack = liblapackWithoutAtlas; @@ -11871,7 +11894,7 @@ in d4x = callPackage ../applications/misc/d4x { }; - darcs = haskell.lib.overrideCabal haskellPackages.darcs (drv: { + darcs = haskell.lib.overrideCabal self.haskellPackages.darcs (drv: { configureFlags = (stdenv.lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"]; enableSharedExecutables = false; enableSharedLibraries = false; @@ -11920,7 +11943,7 @@ in djvu2pdf = callPackage ../tools/typesetting/djvu2pdf { }; djview = callPackage ../applications/graphics/djview { }; - djview4 = pkgs.djview; + djview4 = self.djview; dmenu = callPackage ../applications/misc/dmenu { }; @@ -11928,10 +11951,9 @@ in dmenu2 = callPackage ../applications/misc/dmenu2 { }; - dmtx = dmtx-utils; + dmtx = self.dmtx-utils; - dmtx-utils = callPackage (callPackage ../tools/graphics/dmtx-utils) { - }; + dmtx-utils = callPackage ../tools/graphics/dmtx-utils { }; docker = callPackage ../applications/virtualization/docker { btrfs-progs = btrfs-progs_4_4_1; @@ -11983,10 +12005,10 @@ in elvis = callPackage ../applications/editors/elvis { }; - emacs = emacs24; - emacsPackages = emacs24Packages; - emacsPackagesNg = emacs24PackagesNg; - emacsMelpa = emacs24PackagesNg; # for backward compatibility + emacs = self.emacs24; + emacsPackages = self.emacs24Packages; + emacsPackagesNg = self.emacs24PackagesNg; + emacsMelpa = self.emacs24PackagesNg; # for backward compatibility emacs24 = callPackage ../applications/editors/emacs-24 { # use override to enable additional features @@ -12000,7 +12022,7 @@ in inherit (darwin.apple_sdk.frameworks) AppKit CoreWLAN GSS Kerberos ImageIO; }; - emacs24-nox = lowPrio (appendToName "nox" (emacs24.override { + emacs24-nox = lowPrio (appendToName "nox" (self.emacs24.override { withX = false; withGTK2 = false; withGTK3 = false; @@ -12369,15 +12391,15 @@ in enableGTK3 = false; }) firefox-unwrapped firefox-esr-unwrapped; - firefox = wrapFirefox firefox-unwrapped { }; - firefox-esr = wrapFirefox firefox-esr-unwrapped { }; + firefox = self.wrapFirefox firefox-unwrapped { }; + firefox-esr = self.wrapFirefox firefox-esr-unwrapped { }; firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin { gconf = pkgs.gnome.GConf; inherit (pkgs.gnome) libgnome libgnomeui; }; - firefox-bin = wrapFirefox firefox-bin-unwrapped { + firefox-bin = self.wrapFirefox firefox-bin-unwrapped { browserName = "firefox"; name = "firefox-bin-" + (builtins.parseDrvName firefox-bin-unwrapped.name).version; @@ -12394,9 +12416,9 @@ in debug = config.flashplayer.debug or false; }; - flashplayer-standalone = pkgsi686Linux.flashplayer.sa; + flashplayer-standalone = self.pkgsi686Linux.flashplayer.sa; - flashplayer-standalone-debugger = (pkgsi686Linux.flashplayer.override { debug = true; }).sa; + flashplayer-standalone-debugger = (self.pkgsi686Linux.flashplayer.override { debug = true; }).sa; fluxbox = callPackage ../applications/window-managers/fluxbox { }; @@ -12446,7 +12468,7 @@ in wrapPython = pythonPackages.wrapPython; }; - gimp = gimp_2_8; + gimp = self.gimp_2_8; gimp-with-plugins = callPackage ../applications/graphics/gimp/wrapper.nix { gimp = gimp_2_8; @@ -12457,7 +12479,7 @@ in gitAndTools = recurseIntoAttrs (callPackage ../applications/version-management/git-and-tools {}); - inherit (gitAndTools) git gitFull gitSVN git-cola svn2git git-radar transcrypt git-crypt; + inherit (self.gitAndTools) git gitFull gitSVN git-cola svn2git git-radar transcrypt git-crypt; gitMinimal = git.override { withManual = false; @@ -12476,9 +12498,7 @@ in inherit (gnome3) gitg; - giv = callPackage ../applications/graphics/giv { - pcre = pcre.override { unicodeSupport = true; }; - }; + giv = callPackage ../applications/graphics/giv { }; gmrun = callPackage ../applications/misc/gmrun {}; @@ -12595,9 +12615,9 @@ in google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome.GConf; }; - google-chrome-beta = google-chrome.override { channel = "beta"; }; + google-chrome-beta = self.google-chrome.override { channel = "beta"; }; - google-chrome-dev = google-chrome.override { channel = "dev"; }; + google-chrome-dev = self.google-chrome.override { channel = "dev"; }; googleearth = callPackage_i686 ../applications/misc/googleearth { }; @@ -12725,7 +12745,7 @@ in inherit (perlPackages.override { pkgs = pkgs // { imagemagick = imagemagickBig;}; }) PerlMagick; }; - imagemagick_light = imagemagick.override { + imagemagick_light = self.imagemagick.override { bzip2 = null; zlib = null; libX11 = null; @@ -12743,7 +12763,7 @@ in libxml2 = null; }; - imagemagick = imagemagickBig.override { + imagemagick = self.imagemagickBig.override { ghostscript = null; }; @@ -12799,7 +12819,7 @@ in jackmeter = callPackage ../applications/audio/jackmeter { }; jackmix = callPackage ../applications/audio/jackmix { }; - jackmix_jack1 = jackmix.override { jack = jack1; }; + jackmix_jack1 = self.jackmix.override { jack = jack1; }; jalv = callPackage ../applications/audio/jalv { }; @@ -12910,7 +12930,7 @@ in libowfat = callPackage ../development/libraries/libowfat { }; librecad = callPackage ../applications/misc/librecad { }; - librecad2 = librecad; # backwards compatibility alias, added 2015-10 + librecad2 = self.librecad; # backwards compatibility alias, added 2015-10 libreoffice = callPackage ../applications/office/libreoffice { inherit (perlPackages) ArchiveZip CompressZlib; @@ -12943,7 +12963,7 @@ in ledger3 = callPackage ../applications/office/ledger { boost = boost155; }; - ledger = ledger3; + ledger = self.ledger3; lighttable = callPackage ../applications/editors/lighttable {}; @@ -13346,6 +13366,8 @@ in inherit (pkgs.kde4) kdelibs; }; + vivaldi = callPackage ../applications/networking/browsers/vivaldi {}; + opusfile = callPackage ../applications/audio/opusfile { }; opusTools = callPackage ../applications/audio/opus-tools { }; @@ -13720,10 +13742,12 @@ in st = callPackage ../applications/misc/st { conf = config.st.conf or null; + patches = config.st.patches or null; }; st-wayland = callPackage ../applications/misc/st/wayland.nix { conf = config.st.conf or null; + patches = config.st.patches or null; }; stag = callPackage ../applications/misc/stag { @@ -13748,7 +13772,7 @@ in sxiv = callPackage ../applications/graphics/sxiv { }; - bittorrentSync = bittorrentSync14; + bittorrentSync = self.bittorrentSync14; bittorrentSync14 = callPackage ../applications/networking/bittorrentsync/1.4.x.nix { }; bittorrentSync20 = callPackage ../applications/networking/bittorrentsync/2.0.x.nix { }; @@ -13763,7 +13787,7 @@ in withQt5 = false; }; - lightdm_qt = lightdm.override { withQt5 = true; }; + lightdm_qt = self.lightdm.override { withQt5 = true; }; lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter { }; @@ -14159,6 +14183,7 @@ in vlc = callPackage ../applications/video/vlc { ffmpeg = ffmpeg_2; + libva = libva-full; # also wants libva-x11 }; vlc_qt5 = qt5.vlc; @@ -14330,23 +14355,23 @@ in }; kodiPlain = callPackage ../applications/video/kodi { }; - xbmcPlain = kodiPlain; + xbmcPlain = self.kodiPlain; kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix { kodi = kodiPlain; }); - xbmcPlugins = kodiPlugins; + xbmcPlugins = self.kodiPlugins; - kodi = wrapKodi { + kodi = self.wrapKodi { kodi = kodiPlain; }; - xbmc = kodi; + xbmc = self.kodi; kodi-retroarch-advanced-launchers = callPackage ../misc/emulators/retroarch/kodi-advanced-launchers.nix { cores = retroArchCores; }; - xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers; + xbmc-retroarch-advanced-launchers = self.kodi-retroarch-advanced-launchers; xca = callPackage ../applications/misc/xca { }; @@ -14638,16 +14663,16 @@ in freeglut = null; }); - construo = construoBase.override { + construo = self.construoBase.override { inherit mesa freeglut; }; crack_attack = callPackage ../games/crack-attack { }; crafty = callPackage ../games/crafty { }; - craftyFull = appendToName "full" (crafty.override { fullVariant = true; }); + craftyFull = appendToName "full" (self.crafty.override { fullVariant = true; }); - crawlTiles = crawl.override { + crawlTiles = self.crawl.override { tileMode = true; }; @@ -14664,10 +14689,8 @@ in duckmarines = callPackage ../games/duckmarines { love = love_0_9; }; dwarf-fortress-packages = recurseIntoAttrs (callPackage ../games/dwarf-fortress { }); - - dwarf-fortress = dwarf-fortress-packages.dwarf-fortress.override { }; - - dwarf-therapist = dwarf-fortress-packages.dwarf-therapist; + inherit (self.dwarf-fortress-packages) + dwarf-fortress dwarf-therapist; d1x_rebirth = callPackage ../games/d1x-rebirth { }; @@ -14764,6 +14787,8 @@ in lgogdownloader = callPackage ../games/lgogdownloader { }; + liberal-crime-squad = callPackage ../games/liberal-crime-squad { }; + lincity = callPackage ../games/lincity {}; lincity_ng = callPackage ../games/lincity/ng.nix {}; @@ -15124,15 +15149,15 @@ in gnome3_18 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.18 { }); - gnome3 = gnome3_18; + gnome3 = self.gnome3_18; - gnome = recurseIntoAttrs gnome2; + gnome = recurseIntoAttrs self.gnome2; hsetroot = callPackage ../tools/X11/hsetroot { }; kakasi = callPackage ../tools/text/kakasi { }; - kde4 = recurseIntoAttrs pkgs.kde414; + kde4 = recurseIntoAttrs self.kde414; kde414 = kdePackagesFor @@ -15511,6 +15536,8 @@ in plink = callPackage ../applications/science/biology/plink/default.nix { }; + samtools = callPackage ../applications/science/biology/samtools/default.nix { }; + ### SCIENCE/MATH @@ -15526,7 +15553,7 @@ in withLapack = false; }; - atlasWithLapack = atlas.override { withLapack = true; }; + atlasWithLapack = self.atlas.override { withLapack = true; }; blas = callPackage ../development/libraries/science/math/blas { }; @@ -15538,11 +15565,11 @@ in # with atlas. Atlas, when built with liblapack as a dependency, uses 3.5.0 # without atlas. Etc. liblapackWithAtlas = callPackage ../development/libraries/science/math/liblapack {}; - liblapackWithoutAtlas = liblapackWithAtlas.override { atlas = null; }; + liblapackWithoutAtlas = self.liblapackWithAtlas.override { atlas = null; }; liblapack_3_5_0WithAtlas = callPackage ../development/libraries/science/math/liblapack/3.5.0.nix {}; - liblapack_3_5_0WithoutAtlas = liblapack_3_5_0WithAtlas.override { atlas = null; }; - liblapack = liblapackWithAtlas; - liblapack_3_5_0 = liblapack_3_5_0WithAtlas; + liblapack_3_5_0WithoutAtlas = self.liblapack_3_5_0WithAtlas.override { atlas = null; }; + liblapack = self.liblapackWithAtlas; + liblapack_3_5_0 = self.liblapack_3_5_0WithAtlas; liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; @@ -15768,6 +15795,8 @@ in metis-prover = callPackage ../applications/science/logic/metis-prover { }; + mcrl2 = callPackage ../applications/science/logic/mcrl2 { }; + minisat = callPackage ../applications/science/logic/minisat {}; opensmt = callPackage ../applications/science/logic/opensmt { }; @@ -15807,12 +15836,14 @@ in why3 = callPackage ../applications/science/logic/why3 {}; - yices = callPackage ../applications/science/logic/yices {}; + yices = callPackage ../applications/science/logic/yices { + gmp-static = gmp.override { withStatic = true; }; + }; z3 = callPackage ../applications/science/logic/z3 {}; z3_opt = callPackage ../applications/science/logic/z3_opt {}; - boolector = boolector15; + boolector = self.boolector15; boolector15 = callPackage ../applications/science/logic/boolector {}; boolector16 = lowPrio (callPackage ../applications/science/logic/boolector { useV16 = true; @@ -16009,7 +16040,7 @@ in enableAllFeatures = false; }; - dblatexFull = appendToName "full" (dblatex.override { + dblatexFull = appendToName "full" (self.dblatex.override { enableAllFeatures = true; }); @@ -16025,7 +16056,7 @@ in fakenes = callPackage ../misc/emulators/fakenes { }; - faust = faust2; + faust = self.faust2; faust1 = callPackage ../applications/audio/faust/faust1.nix { }; @@ -16070,7 +16101,7 @@ in cupsSupport = config.ghostscript.cups or (!stdenv.isDarwin); }; - ghostscriptX = appendToName "with-X" (ghostscript.override { + ghostscriptX = appendToName "with-X" (self.ghostscript.override { x11Support = true; }); @@ -16086,11 +16117,11 @@ in hplip = callPackage ../misc/drivers/hplip { }; - hplipWithPlugin = hplip.override { withPlugin = true; }; + hplipWithPlugin = self.hplip.override { withPlugin = true; }; hplip_3_15_9 = callPackage ../misc/drivers/hplip/3.15.9.nix { }; - hplipWithPlugin_3_15_9 = hplip_3_15_9.override { withPlugin = true; }; + hplipWithPlugin_3_15_9 = self.hplip_3_15_9.override { withPlugin = true; }; # using the new configuration style proposal which is unstable jack1 = callPackage ../misc/jackaudio/jack1.nix { }; @@ -16098,7 +16129,7 @@ in jack2Full = callPackage ../misc/jackaudio { libopus = libopus.override { withCustomModes = true; }; }; - libjack2 = jack2Full.override { prefix = "lib"; }; + libjack2 = self.jack2Full.override { prefix = "lib"; }; libjack2-git = callPackage ../misc/jackaudio/git.nix { }; keynav = callPackage ../tools/X11/keynav { }; @@ -16383,7 +16414,7 @@ in }; vimprobable2 = wrapFirefox vimprobable2-unwrapped { }; - inherit (kde4) rekonq; + inherit (self.kde4) rekonq; vimb-unwrapped = callPackage ../applications/networking/browsers/vimb { webkit = webkitgtk2; diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix index 1da324e5879e..c0f1d84ae3da 100644 --- a/pkgs/top-level/go-packages.nix +++ b/pkgs/top-level/go-packages.nix @@ -195,6 +195,16 @@ let buildInputs = [ gohtml ]; }; + acme = buildFromGitHub { + rev = "v0.3.0"; + owner = "xenolf"; + repo = "lego"; + sha256 = "0hlnqdn793j4s43bhnmpi2lxgmjxs1ccg26alxnrcyw5x7p2vvdn"; + + subPackages = [ "acme" ]; + propagatedBuildInputs = [ crypto dns go-jose-v1 net ]; + }; + adapted = buildFromGitHub { rev = "eaea06aaff855227a71b1c58b18bc6de822e3e77"; version = "2015-06-03"; @@ -401,6 +411,18 @@ let propagatedBuildInputs = [ panicwrap revel ]; }; + caddy = buildFromGitHub { + rev = "9099375b11b7b5e62b831627c2927d1c4c666071"; + version = "v0.8.2"; + owner = "mholt"; + repo = "caddy"; + sha256 = "1zdy2sxir21ngh2ird01sv4fgj6sy3wl4s6k4piklri8ps1zw0k0"; + buildInputs = [ + acme blackfriday crypto go-humanize go-shlex go-syslog + http-authentication lumberjack-v2 toml websocket yaml-v2 + ]; + }; + cascadia = buildGoPackage rec { rev = "54abbbf07a45a3ef346ebe903e0715d9a3c19352"; #master name = "cascadia-${stdenv.lib.strings.substring 0 7 rev}"; @@ -661,11 +683,11 @@ let }; dns = buildFromGitHub { - rev = "e59f851c912767b1db587dcabee6e6652e495c75"; - version = "2015-07-22"; - owner = "miekg"; - repo = "dns"; - sha256 = "1zcj4drmmskwvjy5ld54qd8a34ls9651ysl3q7c2bcambax5r0hp"; + rev = "7e024ce8ce18b21b475ac6baf8fa3c42536bf2fa"; + version = "2016-03-28"; + owner = "miekg"; + repo = "dns"; + sha256 = "0hlwb52lnnj3c6papjk9i5w5cjdw6r7c891v4xksnfvk1f9cy9kl"; }; docopt-go = buildFromGitHub { @@ -1561,6 +1583,16 @@ let sha256 = "0qrcsh7j9mxcaspw8lfxh9hhflz55vj4aq1xy00v78301czq6jlj"; }; + go-jose-v1 = buildFromGitHub { + rev = "v1.0.1"; + owner = "square"; + repo = "go-jose"; + sha256 = "0asa1kl1qbx0cyayk44jhxxff0awpkwiw6va7yzrzjzhfc5kvg7p"; + propagatedBuildInputs = [ cli-go ]; + goPackagePath = "gopkg.in/square/go-jose.v1"; + goPackageAliases = [ "github.com/square/go-jose" ]; + }; + go-liblzma = buildFromGitHub { rev = "e74be71c3c60411922b5424e875d7692ea638b78"; version = "2016-01-01"; @@ -1702,6 +1734,20 @@ let }; }; + jp = buildFromGitHub { + rev = "0.1.2"; + owner = "jmespath"; + repo = "jp"; + sha256 = "1i0jl0c062crigkxqx8zpyqliz8j4d37y95cna33jl777kx42r6h"; + meta = with stdenv.lib; { + description = "A command line to JMESPath, an expression language for manipulating JSON"; + license = licenses.asl20; + homepage = http://jmespath.org; + maintainers = with maintainers; [ cransom ]; + platforms = platforms.unix; + }; + }; + mattn.go-runewidth = buildFromGitHub { rev = "d6bea18f789704b5f83375793155289da36a3c7f"; version = "2016-03-15"; @@ -1770,6 +1816,13 @@ let }; }; + go-shlex = buildFromGitHub { + rev = "3f9db97f856818214da2e1057f8ad84803971cff"; + owner = "flynn"; + repo = "go-shlex"; + sha256 = "2a6a6f8eb150260cd60881ec5f027b7d1d2946ee22c627b450773eaf3d1de4c8"; + }; + go-simplejson = buildFromGitHub { rev = "18db6e68d8fd9cbf2e8ebe4c81a78b96fd9bf05a"; version = "2015-03-31"; @@ -1996,6 +2049,13 @@ let buildInputs = [ crypto protobuf goamz rgbterm go-bindata go-homedir ldap g2s gox ]; }; + http-authentication = buildFromGitHub { + rev = "3eca13d6893afd7ecabe15f4445f5d2872a1b012"; + owner = "jimstudt"; + repo = "http-authentication"; + sha256 = "08601600811a172d7f806b541f05691e4bef812ed8a68f7de65fde9ee11a3cb7"; + }; + http2 = buildFromGitHub rec { rev = "f8202bc903bda493ebba4aa54922d78430c2c42f"; owner = "bradfitz"; @@ -2242,6 +2302,16 @@ let sha256 = "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs"; }; + lumberjack-v2 = buildFromGitHub { + rev = "v2.0"; + owner = "natefinch"; + repo = "lumberjack"; + sha256 = "1v92v8vkip36l2fs6l5dpp655151hrijjc781cif658r8nf7xr82"; + goPackagePath = "gopkg.in/natefinch/lumberjack.v2"; + goPackageAliases = [ "github.com/natefinch/lumberjack" ]; + }; + + lxd = buildFromGitHub { rev = "lxd-2.0.0.rc4"; owner = "lxc"; @@ -3410,10 +3480,10 @@ let }; skydns = buildFromGitHub { - rev = "2.5.2b"; + rev = "2.5.3a"; owner = "skynetservices"; repo = "skydns"; - sha256 = "01vac6bd71wky5jbd5k4a0x665bjn1cpmw7p655jrdcn5757c2lv"; + sha256 = "0i1iaif79cwnwm7pc8nxfa261cgl4zhm3p2a5a3smhy1ibgccpq7"; buildInputs = [ go-etcd rcrowley.go-metrics dns go-systemd prometheus.client_golang diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index e58df1f42c33..abd4a8123416 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -103,7 +103,7 @@ let makeFlagsArray=( LUA_LDIR="$out/share/lua/${lua.luaversion}" LUA_INC="-I${lua}/include" LUA_CDIR="$out/lib/lua/${lua.luaversion}" - EXPAT_INC="-I${expat}/include"); + EXPAT_INC="-I${expat.dev}/include"); ''; meta = { diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3a257dab37c9..7ba988fbc9c4 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -967,7 +967,7 @@ let self = _self // overrides; _self = with self; { CatalystViewTT TemplateToolkit TestAggregate TestWWWMechanize TestWWWMechanizeCatalyst ]; propagatedBuildInputs = [ CatalystComponentInstancePerContext CatalystRuntime - ConfigAny HTMLFormFu Moose MooseXAttributeChained RegexpAssemble TaskWeaken + CGI ConfigAny HTMLFormFu Moose MooseXAttributeChained RegexpAssemble TaskWeaken namespaceautoclean ]; }; @@ -1463,7 +1463,7 @@ let self = _self // overrides; _self = with self; { sha256 = "06b8f1864101de69b2264ad3c3a2b15333e428cf9f5d17a777cfc61f8c64093f"; }; buildInputs = [ TestRequires ]; - propagatedBuildInputs = [ HTTPMessage ]; + propagatedBuildInputs = [ CGI HTTPMessage ]; meta = { homepage = https://github.com/tokuhirom/p5-cgi-emulate-psgi; description = "PSGI adapter for CGI"; @@ -1515,6 +1515,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-PSGI-0.15.tar.gz; sha256 = "c50dcb10bf8486a9843baed032ad89d879ff2f41c993342dead62f947a598d91"; }; + propagatedBuildInputs = [ CGI ]; meta = { description = "Adapt CGI.pm to the PSGI protocol"; license = "perl"; @@ -1981,7 +1982,7 @@ let self = _self // overrides; _self = with self; { # Don't build a private copy of bzip2. BUILD_BZIP2 = false; - BZIP2_LIB = "${pkgs.bzip2}/lib"; + BZIP2_LIB = "${pkgs.bzip2.out}/lib"; BZIP2_INCLUDE = "${pkgs.bzip2}/include"; meta = { @@ -2412,8 +2413,8 @@ let self = _self // overrides; _self = with self; { sha256 = "0f5gdprcql4kwzgxl2s6ngcfg1jl45lzcqh7dkv5bkwlwmxa9rsi"; }; buildInputs = [ DevelChecklib TestRequires pkgs.gmp ]; - NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include"; - NIX_CFLAGS_LINK = "-L${pkgs.gmp}/lib -lgmp"; + NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include"; + NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp"; }; CryptEksblowfish = buildPerlPackage rec { @@ -2533,7 +2534,7 @@ let self = _self // overrides; _self = with self; { sha256 = "b66fab514edf97fc32f58da257582704a210c2b35e297d5c31b7fa2ffd08e908"; }; NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include"; - NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto"; + NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto"; meta = with stdenv.lib; { homepage = https://metacpan.org/release/Crypt-OpenSSL-AES; description = "Perl wrapper around OpenSSL's AES library"; @@ -2550,7 +2551,7 @@ let self = _self // overrides; _self = with self; { sha256 = "18vg2bqyhc0ahfdh5dkbgph5nh92qcz5vi99jq8aam4h86if78bk"; }; NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include"; - NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto"; + NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto"; }; CryptOpenSSLRandom = buildPerlPackage rec { @@ -2560,7 +2561,7 @@ let self = _self // overrides; _self = with self; { sha256 = "12pirh1pj8lpvzcwj2if9i6dbr6a7s9g1zc7gzbd3v87d6mx0rdf"; }; NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include"; - NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto"; + NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto"; }; CryptOpenSSLRSA = buildPerlPackage rec { @@ -2571,7 +2572,7 @@ let self = _self // overrides; _self = with self; { }; propagatedBuildInputs = [ CryptOpenSSLRandom ]; NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include"; - NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto"; + NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto"; }; CryptSSLeay = buildPerlPackage rec { @@ -2580,7 +2581,7 @@ let self = _self // overrides; _self = with self; { url = "mirror://cpan/authors/id/N/NA/NANIS/${name}.tar.gz"; sha256 = "1s7zm6ph37kg8jzaxnhi4ff4snxl7mi5h14arxbri0kp6s0lzlzm"; }; - makeMakerFlags = "--libpath=${pkgs.openssl}/lib --incpath=${pkgs.openssl}/include"; + makeMakerFlags = "--libpath=${pkgs.openssl.out}/lib --incpath=${pkgs.openssl}/include"; buildInputs = [ PathClass TryTiny ]; }; @@ -3068,7 +3069,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-0.08.tar.gz; sha256 = "1syccqd5jlwms8v78ksnf68xijzl97jky5vbwhnyhxi5gvgfx8xk"; }; - propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ]; + propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ModuleBuild ]; meta = { description = "Parses ISO8601 formats"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; @@ -3110,7 +3111,7 @@ let self = _self // overrides; _self = with self; { url = "mirror://cpan/authors/id/X/XM/XMIKEW/${name}.tar.gz"; sha256 = "07cgz60gxvrv7xqvngyll60pa8cx93h3jyx9kc9wdkn95qbd864q"; }; - propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ]; + propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ModuleBuild ]; meta = { description = "Parse and format MySQL dates and times"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; @@ -4792,14 +4793,15 @@ let self = _self // overrides; _self = with self; { FileBaseDir = buildPerlPackage rec { version = "0.03"; name = "File-BaseDir-${version}"; - configurePhase = '' - preConfigure || true - perl Build.PL PREFIX="$out" prefix="$out" - ''; src = fetchurl { url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; sha256 = "0029cba7a3b5d8aa5f7d03cb1b7ba2bcf2829382f7f26aa3bee06fce8611a886"; }; + configurePhase = '' + preConfigure || true + perl Build.PL PREFIX="$out" prefix="$out" + ''; + propagatedBuildInputs = [ ModuleBuild ]; }; FileCheckTree = buildPerlPackage { @@ -5239,7 +5241,7 @@ let self = _self // overrides; _self = with self; { # tests fail doCheck = false; - makeMakerFlags = "--lib_png_path=${pkgs.libpng} --lib_jpeg_path=${pkgs.libjpeg} --lib_zlib_path=${pkgs.zlib} --lib_ft_path=${pkgs.freetype} --lib_fontconfig_path=${pkgs.fontconfig} --lib_xpm_path=${pkgs.xorg.libXpm}"; + makeMakerFlags = "--lib_png_path=${pkgs.libpng.out} --lib_jpeg_path=${pkgs.libjpeg.out} --lib_zlib_path=${pkgs.zlib.out} --lib_ft_path=${pkgs.freetype.out} --lib_fontconfig_path=${pkgs.fontconfig.lib} --lib_xpm_path=${pkgs.xorg.libXpm.out}"; }; GDSecurityImage = buildPerlPackage { @@ -5620,7 +5622,7 @@ let self = _self // overrides; _self = with self; { sha256 = "0fvilng85wc65pna898x7mp4hx73mhahl7j2s10gj76avmxdizsw"; }; buildInputs = [ FileShareDirInstall TestAggregate TestException ]; - propagatedBuildInputs = [ Clone ConfigAny DataVisitor DateTime + propagatedBuildInputs = [ CGI Clone ConfigAny DataVisitor DateTime DateTimeFormatBuilder DateTimeFormatNatural DateTimeFormatStrptime DateTimeLocale EmailValid FileShareDir HTMLScrubber HTMLTokeParserSimple HTTPMessage HashFlatten ListMoreUtils ModulePluggable Moose MooseXAliases @@ -5656,7 +5658,7 @@ let self = _self // overrides; _self = with self; { sha256 = "84ac24fb1d551f998145435265e5b6fd4a52ec61e4fadd3d7755eb648be2c4b2"; }; buildInputs = [ TestDeep ]; - propagatedBuildInputs = [ CacheCache ClassContainer ExceptionClass HTMLParser LogAny ParamsValidate ]; + propagatedBuildInputs = [ CacheCache CGI ClassContainer ExceptionClass HTMLParser LogAny ParamsValidate ]; meta = { homepage = http://metacpan.org/release/HTML-Mason; description = "High-performance, dynamic web site authoring system"; @@ -6538,7 +6540,7 @@ let self = _self // overrides; _self = with self; { }; buildInputs = [ ApacheTest ExtUtilsXSBuilder mod_perl2 pkgs.apacheHttpd pkgs.apr pkgs.aprutil ]; propagatedBuildInputs = [ mod_perl2 ]; - makeMakerFlags = "--with-apache2-src=${pkgs.apacheHttpd} --with-apache2-apxs=${pkgs.apacheHttpd}/bin/apxs --with-apache2-httpd=${pkgs.apacheHttpd}/bin/httpd --with-apr-config=${pkgs.apr}/bin/apr-1-config --with-apu-config=${pkgs.aprutil}/bin/apu-1-config"; + makeMakerFlags = "--with-apache2-src=${pkgs.apacheHttpd} --with-apache2-apxs=${pkgs.apacheHttpd}/bin/apxs --with-apache2-httpd=${pkgs.apacheHttpd.out}/bin/httpd --with-apr-config=${pkgs.apr}/bin/apr-1-config --with-apu-config=${pkgs.aprutil}/bin/apu-1-config"; preConfigure = '' # override broken prereq check substituteInPlace configure --replace "prereq_check=\"\$PERL \$PERL_OPTS build/version_check.pl\"" "prereq_check=\"echo\"" @@ -7209,8 +7211,8 @@ let self = _self // overrides; _self = with self; { }; buildInputs = [ pkgs.gmp ]; doCheck = false; - NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include"; - NIX_CFLAGS_LINK = "-L${pkgs.gmp}/lib -lgmp"; + NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include"; + NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp"; }; MathBigRat = buildPerlPackage rec { @@ -8912,7 +8914,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz; sha256 = "0k4h4a5048h7qgyx25ih64x0l4airx8a6d9gjq08wmxcl2fk3z3v"; }; - buildInputs = [ TestWarn ]; + buildInputs = [ ModuleBuild TestWarn ]; propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWPUserAgent URI ]; meta = { description = "An implementation of the OAuth protocol"; @@ -9012,8 +9014,14 @@ let self = _self // overrides; _self = with self; { sha256 = "1x6jjmhvsdq488k6wdg58ajnr4dmbcbk7imyv0aybkhj1ygw7ahv"; }; buildInputs = [ pkgs.openssl ]; - OPENSSL_PREFIX = pkgs.openssl; doCheck = false; # Test performs network access. + preConfigure = '' + mkdir openssl + ln -s ${pkgs.openssl.out}/lib openssl + ln -s ${pkgs.openssl.bin}/bin openssl + ln -s ${pkgs.openssl.dev}/include openssl + export OPENSSL_PREFIX=$(realpath openssl) + ''; meta = { description = "Perl extension for using OpenSSL"; license = "SSLeay"; @@ -9026,6 +9034,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.11002.tar.gz; sha256 = "032gyn1h3r5d83wvz7nj3k7g50wcf73lbbmjc18466ml90vigys0"; }; + buildInputs = [ ModuleBuild ]; propagatedBuildInputs = [ CryptSSLeay LWPUserAgent NetOAuth URI ]; doCheck = false; meta = { @@ -10452,6 +10461,7 @@ let self = _self // overrides; _self = with self; { url = "mirror://cpan/authors/id/U/UM/UMEMOTO/${name}.tar.gz"; sha256 = "1ads4k4vvq6pnxkdw0s8gaj03w4h9snxyw7zyikfzd20fy76yx6s"; }; + setOutputFlags = false; buildInputs = [ pkgs.which ]; }; @@ -10862,11 +10872,11 @@ let self = _self // overrides; _self = with self; { libfile-stripnondeterminism = buildPerlPackage rec { name = "libstrip-nondeterminism-${version}"; - version = "0.014"; + version = "0.016"; src = fetchurl { url = "http://http.debian.net/debian/pool/main/s/strip-nondeterminism/strip-nondeterminism_${version}.orig.tar.gz"; - sha256 = "0yiddi9r87iysa2msr6l5fc5631zmi5ldsy8m3sd9chrlhag361g"; + sha256 = "1y9lfhxgwyysybing72n3hng2db5njpk2dbb80vskdz75r7ffqjp"; }; buildInputs = [ ArchiveZip_1_53 pkgs.file ]; @@ -10875,11 +10885,11 @@ let self = _self // overrides; _self = with self; { strip-nondeterminism = buildPerlPackage rec { name = "strip-nondeterminism-${version}"; - version = "0.014"; + version = "0.016"; src = fetchurl { url = "http://http.debian.net/debian/pool/main/s/strip-nondeterminism/strip-nondeterminism_${version}.orig.tar.gz"; - sha256 = "0yiddi9r87iysa2msr6l5fc5631zmi5ldsy8m3sd9chrlhag361g"; + sha256 = "1y9lfhxgwyysybing72n3hng2db5njpk2dbb80vskdz75r7ffqjp"; }; buildInputs = [ ArchiveZip_1_53 libfile-stripnondeterminism pkgs.file ]; @@ -11402,7 +11412,7 @@ let self = _self // overrides; _self = with self; { preConfigure = '' substituteInPlace Makefile.PL --replace '$Config{libpth}' \ - "'${pkgs.ncurses}/lib'" + "'${pkgs.ncurses.out}/lib'" ''; # Tests don't work because they require /dev/tty. @@ -12253,7 +12263,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz; sha256 = "0bwwdk0iai5dlvvfpja971qpgvmf6yq67iag4z4szl9v5sra0xm5"; }; - propagatedBuildInputs = [ TestWWWMechanize WWWMechanizeCGI ]; + propagatedBuildInputs = [ CGI TestWWWMechanize WWWMechanizeCGI ]; meta = { maintainers = with maintainers; [ ocharles ]; platforms = stdenv.lib.platforms.unix; @@ -12726,6 +12736,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/M/MA/MATTLAW/Text-Trim-1.02.tar.gz; sha256 = "1bnwjl5n04w8nnrzrm75ljn4pijqbijr9csfkjcs79h4gwn9lwqw"; }; + propagatedBuildInputs = [ CGI ModuleBuild ]; meta = { description = "Remove leading and/or trailing whitespace from strings"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; @@ -13007,7 +13018,7 @@ let self = _self // overrides; _self = with self; { url = "http://search.cpan.org/CPAN/authors/id/S/SR/SREZIC/${name}.tar.gz"; sha256 = "10fsvyr56gm59chc8b70n6bvhd3lh9c05sp8m4arcahid0rpgbwa"; }; - makeMakerFlags = "X11LIB=${pkgs.xorg.libX11}/lib"; + makeMakerFlags = "X11LIB=${pkgs.xorg.libX11.out}/lib"; buildInputs = with pkgs; [ xorg.libX11 libpng ]; configurePhase = '' perl Makefile.PL PREFIX=$out $makeMakerFlags @@ -13452,7 +13463,7 @@ let self = _self // overrides; _self = with self; { }; buildInputs = [ pkgs.xorg.libXext pkgs.xorg.libXScrnSaver pkgs.xorg.libX11 ]; propagatedBuildInputs = [ InlineC ]; - patchPhase = ''sed -ie 's,-L/usr/X11R6/lib/,-L${pkgs.xorg.libX11}/lib/ -L${pkgs.xorg.libXext}/lib/ -L${pkgs.xorg.libXScrnSaver}/lib/,' IdleTime.pm''; + patchPhase = ''sed -ie 's,-L/usr/X11R6/lib/,-L${pkgs.xorg.libX11.out}/lib/ -L${pkgs.xorg.libXext.out}/lib/ -L${pkgs.xorg.libXScrnSaver}/lib/,' IdleTime.pm''; meta = { description = "Get the idle time of X11"; }; @@ -13593,7 +13604,7 @@ let self = _self // overrides; _self = with self; { patchPhase = if stdenv.isCygwin then '' sed -i"" -e "s@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. \$Config{_exe};@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. (\$^O eq 'cygwin' ? \"\" : \$Config{_exe});@" inc/Devel/CheckLib.pm '' else null; - makeMakerFlags = "EXPATLIBPATH=${pkgs.expat}/lib EXPATINCPATH=${pkgs.expat}/include"; + makeMakerFlags = "EXPATLIBPATH=${pkgs.expat.out}/lib EXPATINCPATH=${pkgs.expat.dev}/include"; }; XMLXPath = buildPerlPackage { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c14372ea99bc..a8e3e93c3025 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -307,7 +307,7 @@ in modules // { doCheck = false; patchPhase = '' - substituteInPlace acme_tiny.py --replace "openssl" "${pkgs.openssl}/bin/openssl" + substituteInPlace acme_tiny.py --replace "openssl" "${pkgs.openssl.bin}/bin/openssl" substituteInPlace letsencrypt/le_util.py --replace '"sw_vers"' '"/usr/bin/sw_vers"' ''; @@ -614,7 +614,7 @@ in modules // { mkdir -p $out/share cp -r extra/themes $out/share wrapProgram $out/bin/alot \ - --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib:${pkgs.file}/lib:${pkgs.gpgme}/lib + --prefix LD_LIBRARY_PATH : '${pkgs.lib.makeLibraryPath [ pkgs.notmuch pkgs.file pkgs.gpgme ]}' ''; meta = { @@ -2835,10 +2835,9 @@ in modules // { postPatch = '' # Hardcode cairo library path - # FIXME: for closure-size branch all pkgs.foo should be replaced with pkgs.foo.lib - substituteInPlace cairocffi/__init__.py --subst-var-by cairo ${pkgs.cairo} - substituteInPlace cairocffi/__init__.py --subst-var-by glib ${pkgs.glib} - substituteInPlace cairocffi/__init__.py --subst-var-by gdk_pixbuf ${pkgs.gdk_pixbuf} + substituteInPlace cairocffi/__init__.py --subst-var-by cairo ${pkgs.cairo.out} + substituteInPlace cairocffi/__init__.py --subst-var-by glib ${pkgs.glib.out} + substituteInPlace cairocffi/__init__.py --subst-var-by gdk_pixbuf ${pkgs.gdk_pixbuf.out} ''; meta = { @@ -6044,7 +6043,7 @@ in modules // { preFixup = '' wrapProgram $out/bin/gtimelog \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3}/lib" \ + --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3.out}/lib" \ ''; @@ -7400,7 +7399,7 @@ in modules // { preConfigure = '' cat > site.cfg << END [samplerate] - library_dirs=${pkgs.libsamplerate}/lib + library_dirs=${pkgs.libsamplerate.out}/lib include_dirs=${pkgs.libsamplerate}/include END ''; @@ -8049,12 +8048,12 @@ in modules // { django_1_9 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.9.4"; + version = "1.9.5"; disabled = pythonOlder "2.7"; src = pkgs.fetchurl { url = "http://www.djangoproject.com/m/releases/1.9/${name}.tar.gz"; - sha256 = "1sdxixj4p3wx245dm608bqw5bdabl701qab0ar5wjivyd6mfga5d"; + sha256 = "19kaw9flk9jjz1n7q378waybxnkrrhkq240lby4zaaas62nnfip5"; }; # patch only $out/bin to avoid problems with starter templates (see #3134) @@ -8073,12 +8072,12 @@ in modules // { django_1_8 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.8.11"; + version = "1.8.12"; disabled = pythonOlder "2.7"; src = pkgs.fetchurl { url = "http://www.djangoproject.com/m/releases/1.8/${name}.tar.gz"; - sha256 = "1yrmlj3h2hp5kc5m11ybya21x2wfr5bqqbkcsw6hknj86pkqn57c"; + sha256 = "04vi1rmin161drssqhi9n54j6mz8l6vs46pc7zbn50vzacysg3xn"; }; # too complicated to setup @@ -12531,7 +12530,7 @@ in modules // { patchPhase = optionalString stdenv.isLinux '' substituteInPlace monotonic.py --replace \ - "ctypes.util.find_library('c')" "'${stdenv.glibc}/lib/libc.so.6'" + "ctypes.util.find_library('c')" "'${stdenv.glibc.out}/lib/libc.so.6'" ''; }; @@ -15585,7 +15584,7 @@ in modules // { meta = { description = "Bringing the power of python to stream editing"; homepage = https://github.com/timbertson/piep; - maintainers = with maintainers; [ gfxmonk ]; + maintainers = with maintainers; [ timbertson ]; license = licenses.gpl3; }; }; @@ -15723,7 +15722,7 @@ in modules // { }; prePatch = '' - substituteInPlace soundfile.py --replace "'sndfile'" "'${pkgs.libsndfile}/lib/libsndfile.so'" + substituteInPlace soundfile.py --replace "'sndfile'" "'${pkgs.libsndfile.out}/lib/libsndfile.so'" ''; # https://github.com/bastibe/PySoundFile/issues/157 @@ -15786,13 +15785,15 @@ in modules // { ++ optionals (isPyPy) [ pkgs.tk pkgs.xorg.libX11 ]; # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp. - preConfigure = '' + preConfigure = let + libinclude = pkg: ''"${pkg.out}/lib", "${pkg.dev}/include"''; + in '' sed -i "setup.py" \ - -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = _lib_include("${pkgs.freetype}")|g ; - s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ; - s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ; + -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = ${libinclude pkgs.freetype}|g ; + s|^JPEG_ROOT =.*$|JPEG_ROOT = ${libinclude pkgs.libjpeg}|g ; + s|^ZLIB_ROOT =.*$|ZLIB_ROOT = ${libinclude pkgs.zlib}|g ; s|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ; - s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ; + s|^TIFF_ROOT =.*$|TIFF_ROOT = ${libinclude pkgs.libtiff}|g ; s|^TCL_ROOT=.*$|TCL_ROOT = _lib_include("${pkgs.tcl}")|g ;' '' # Remove impurities @@ -16449,7 +16450,7 @@ in modules // { preConfigure = '' substituteInPlace setup.py \ --replace '"/usr/include"' '"${pkgs.gdb}/include"' \ - --replace '"/usr/lib"' '"${pkgs.binutils}/lib"' + --replace '"/usr/lib"' '"${pkgs.binutils.out}/lib"' ''; meta = { @@ -16863,11 +16864,11 @@ in modules // { doCheck = false; preConfigure = '' - export LDFLAGS="-L${pkgs.fftw}/lib -L${pkgs.fftwFloat}/lib -L${pkgs.fftwLongDouble}/lib" + export LDFLAGS="-L${pkgs.fftw.out}/lib -L${pkgs.fftwFloat.out}/lib -L${pkgs.fftwLongDouble.out}/lib" export CFLAGS="-I${pkgs.fftw}/include -I${pkgs.fftwFloat}/include -I${pkgs.fftwLongDouble}/include" ''; #+ optionalString isDarwin '' - # export DYLD_LIBRARY_PATH="${pkgs.fftw}/lib" + # export DYLD_LIBRARY_PATH="${pkgs.fftw.out}/lib" #''; meta = { @@ -17616,7 +17617,7 @@ in modules // { postPatch = '' sed -i -e '/udev_library_name/,/^ *libudev/ { - s|CDLL([^,]*|CDLL("${pkgs.udev}/lib/libudev.so.1"|p; d + s|CDLL([^,]*|CDLL("${pkgs.libudev.out}/lib/libudev.so.1"|p; d }' pyudev/_libudev.py ''; @@ -18065,8 +18066,8 @@ in modules // { patchPhase = '' substituteInPlace "setup.cfg" \ - --replace "/usr/local/include" "${pkgs.sqlite}/include" \ - --replace "/usr/local/lib" "${pkgs.sqlite}/lib" + --replace "/usr/local/include" "${pkgs.sqlite.dev}/include" \ + --replace "/usr/local/lib" "${pkgs.sqlite.out}/lib" ''; # error: invalid command 'test' @@ -18122,9 +18123,11 @@ in modules // { cd Source python setup.py backport python setup.py configure \ - --apr-inc-dir=${pkgs.apr}/include/apr-1 \ - --apu-inc-dir=${pkgs.aprutil}/include/apr-1 \ - --apr-lib-dir=${pkgs.apr}/lib \ + --apr-inc-dir=${pkgs.apr.dev}/include \ + --apu-inc-dir=${pkgs.aprutil.dev}/include \ + --apr-lib-dir=${pkgs.apr.out}/lib \ + --svn-lib-dir=${pkgs.subversion.out}/lib \ + --svn-bin-dir=${pkgs.subversion.out}/bin \ --svn-root-dir=${pkgs.subversion} '' + (if !stdenv.isDarwin then "" else '' sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile @@ -18434,7 +18437,7 @@ in modules // { reportlab = - let freetype = overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); + let freetype = overrideDerivation pkgs.freetype (args: { dontDisableStatic = true; }); in buildPythonPackage rec { name = "reportlab-3.2.0"; @@ -19648,7 +19651,7 @@ in modules // { patchPhase = '' cp "${x_ignore_nofocus}/cpp/linux-specific/"* . - substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${pkgs.xorg.libX11}/lib/libX11.so.6" + substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${pkgs.xorg.libX11.out}/lib/libX11.so.6" gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o gcc -shared \ -Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \ @@ -21258,7 +21261,7 @@ in modules // { # I don't know why I need to add these libraries. Shouldn't they # be part of wxPython? postInstall = '' - libspaths=${pkgs.xorg.libSM}/lib:${pkgs.xorg.libXScrnSaver}/lib + libspaths=${with pkgs.xorg; pkgs.lib.makeLibraryPath [ libSM libXScrnSaver ]} wrapProgram $out/bin/taskcoach.py \ --prefix LD_LIBRARY_PATH : $libspaths ''; @@ -23595,14 +23598,14 @@ in modules // { tunigo = buildPythonPackage rec { name = "tunigo-${version}"; - version = "0.1.3"; + version = "1.0.0"; propagatedBuildInputs = with self; [ requests2 ]; src = pkgs.fetchFromGitHub { owner = "trygveaa"; repo = "python-tunigo"; rev = "v${version}"; - sha256 = "02ili37dbs5mk5f6v3fmi1sji39ymc4zyq44x0abxzr88nc8nh97"; + sha256 = "07q9girrjjffzkn8xj4l3ynf9m4psi809zf6f81f54jdb330p2fs"; }; buildInputs = with self; [ mock nose ]; @@ -24017,7 +24020,7 @@ in modules // { # Fix the USB backend library lookup postPatch = '' - libusb=${pkgs.libusb1}/lib/libusb-1.0.so + libusb=${pkgs.libusb1.out}/lib/libusb-1.0.so test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } sed -i -e "s|libname = .*|libname = \"$libusb\"|" usb/backend/libusb1.py ''; @@ -24188,7 +24191,7 @@ in modules // { mock ]; - LD_LIBRARY_PATH = "${pkgs.cairo}/lib"; + LD_LIBRARY_PATH = "${pkgs.cairo.out}/lib"; meta = { description = "Graphite-web, without the interface. Just the rendering HTTP API"; @@ -25447,15 +25450,15 @@ in modules // { }; geeknote = buildPythonPackage rec { - version = "2015-03-02"; + version = "2015-05-11"; name = "geeknote-${version}"; disabled = ! isPy27; src = pkgs.fetchFromGitHub { owner = "VitaliyRodnenko"; repo = "geeknote"; - rev = "7ea2255bb6"; - sha256 = "0lw3m8g7r8r7dxhqih08x0i6agd201q2ig35a59rd4vygr3xqw2j"; + rev = "8489a87d044e164edb321ba9acca8d4631de3dca"; + sha256 = "0l16v4xnyqnsf84b1pma0jmdyxvmfwcv3sm8slrv3zv7zpmcm3lf"; }; /* build with tests fails with "Can not create application dirictory : @@ -25798,7 +25801,7 @@ in modules // { patchPhase = '' # Hardcode cairo library path - sed -e 's,ffi\.dlopen(,&"${pkgs.xorg.libxcb}/lib/" + ,' -i xcffib/__init__.py + sed -e 's,ffi\.dlopen(,&"${pkgs.xorg.libxcb.out}/lib/" + ,' -i xcffib/__init__.py ''; propagatedBuildInputs = [ self.cffi self.six ]; @@ -25813,11 +25816,11 @@ in modules // { pafy = buildPythonPackage rec { name = "pafy-${version}"; - version = "0.4.3"; + version = "0.5.0"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pafy/${name}.tar.gz"; - sha256 = "1la4nn4n66p6dmcf1dyxw7i5j0xprmq82gwmxjv1jjis7vsnk254"; + sha256 = "1q699dcnq34nfgm0bg8mp5krhzk9cyirqdcadhs9al4fa5410igw"; }; propagatedBuildInputs = with self; [ youtube-dl ]; |