Merge branch 'staging'

Darwin isn't in a perfect state, in particular its bootstrap tools won't
build which will block nixpkgs channel. But on the whole it seems
acceptable.
This commit is contained in:
Vladimír Čunát 2016-05-13 10:14:53 +02:00
commit 3e387c3e00
500 changed files with 5469 additions and 5737 deletions

View File

@ -438,23 +438,21 @@ rec {
overrideExisting = old: new:
old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] old.${attr} new)) (attrNames old));
/* Try given attributes in order. If no attributes are found, return
attribute list itself.
/* Get a package output.
If no output is found, fallback to `.out` and then to the default.
Example:
tryAttrs ["a" "b"] { a = 1; b = 2; }
=> 1
tryAttrs ["a" "b"] { c = 3; }
=> { c = 3; }
getOutput "dev" pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
*/
tryAttrs = allAttrs: set:
let tryAttrs_ = attrs:
if attrs == [] then set
else
(let h = head attrs; in
if hasAttr h set then getAttr h set
else tryAttrs_ (tail attrs));
in tryAttrs_ allAttrs;
getOutput = output: pkg:
if pkg.outputUnspecified or false
then pkg.${output} or pkg.out or pkg
else pkg;
getBin = getOutput "bin";
getLib = getOutput "lib";
getDev = getOutput "dev";
/*** deprecated stuff ***/

View File

@ -88,15 +88,14 @@ rec {
makeSearchPath = subDir: packages:
concatStringsSep ":" (map (path: path + "/" + subDir) packages);
/* Construct a Unix-style search path, given trying outputs in order.
/* Construct a Unix-style search path, using given package output.
If no output is found, fallback to `.out` and then to the default.
Example:
makeSearchPathOutputs "bin" ["bin"] [ pkgs.openssl pkgs.zlib ]
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-bin/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin"
makeSearchPathOutput "dev" "bin" [ pkgs.openssl pkgs.zlib ]
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin"
*/
makeSearchPathOutputs = subDir: outputs: pkgs:
makeSearchPath subDir (map (pkg: if pkg.outputUnspecified or false then lib.tryAttrs (outputs ++ ["out"]) pkg else pkg) pkgs);
makeSearchPathOutput = output: subDir: pkgs: makeSearchPath subDir (map (lib.getOutput output) pkgs);
/* Construct a library search path (such as RPATH) containing the
libraries for a set of packages
@ -108,9 +107,7 @@ rec {
makeLibraryPath [ pkgs.openssl pkgs.zlib ]
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r/lib:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/lib"
*/
makeLibraryPath = pkgs: makeSearchPath "lib"
# try to guess the right output of each pkg
(map (pkg: if pkg.outputUnspecified or false then pkg.lib or (pkg.out or pkg) else pkg) pkgs);
makeLibraryPath = makeSearchPathOutput "lib" "lib";
/* Construct a binary search path (such as $PATH) containing the
binaries for a set of packages.
@ -119,8 +116,7 @@ rec {
makeBinPath ["/root" "/usr" "/usr/local"]
=> "/root/bin:/usr/bin:/usr/local/bin"
*/
makeBinPath = pkgs: makeSearchPath "bin"
(map (pkg: if pkg.outputUnspecified or false then pkg.bin or (pkg.out or pkg) else pkg) pkgs);
makeBinPath = makeSearchPathOutput "bin" "bin";
/* Construct a perl search path (such as $PERL5LIB)
@ -132,8 +128,7 @@ rec {
makePerlPath [ pkgs.perlPackages.NetSMTP ]
=> "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl"
*/
makePerlPath = pkgs: makeSearchPath "lib/perl5/site_perl"
(map (pkg: if pkg.outputUnspecified or false then pkg.lib or (pkg.out or pkg) else pkg) pkgs);
makePerlPath = makeSearchPathOutput "lib" "lib/perl5/site_perl";
/* Dependening on the boolean `cond', return either the given string
or the empty string. Useful to contatenate against a bigger string.

View File

@ -98,9 +98,9 @@ in {
package = mkOption {
type = types.package;
default = pulseaudioLight.out;
defaultText = "pkgs.pulseaudioLight.out";
example = literalExample "pkgs.pulseaudioFull.out";
default = pulseaudioLight;
defaultText = "pkgs.pulseaudioLight";
example = literalExample "pkgs.pulseaudioFull";
description = ''
The PulseAudio derivation to use. This can be used to enable
features (such as JACK support, Bluetooth) via the
@ -130,7 +130,7 @@ in {
source = clientConf;
};
hardware.pulseaudio.configFile = mkDefault "${cfg.package.out}/etc/pulse/default.pa";
hardware.pulseaudio.configFile = mkDefault "${getBin cfg.package}/etc/pulse/default.pa";
}
(mkIf cfg.enable {
@ -158,7 +158,7 @@ in {
wantedBy = [ "default.target" ];
serviceConfig = {
Type = "notify";
ExecStart = "${cfg.package.out}/bin/pulseaudio --daemonize=no";
ExecStart = "${getBin cfg.package}/bin/pulseaudio --daemonize=no";
Restart = "on-failure";
};
};
@ -195,7 +195,7 @@ in {
environment.PULSE_RUNTIME_PATH = stateDir;
serviceConfig = {
Type = "notify";
ExecStart = "${cfg.package.out}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}";
ExecStart = "${getBin cfg.package}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}";
Restart = "on-failure";
};
};

View File

@ -103,6 +103,8 @@ in
environment.pathsToLink =
[ "/bin"
"/etc/xdg"
"/etc/gtk-2.0"
"/etc/gtk-3.0"
"/info"
"/lib" # FIXME: remove and update debug-info.nix
"/sbin"

View File

@ -1,10 +1,32 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.i18n.inputMethod;
gtk2_cache = pkgs.stdenv.mkDerivation {
preferLocalBuild = true;
allowSubstitutes = false;
name = "gtk2-immodule.cache";
buildInputs = [ pkgs.gtk cfg.package ];
buildCommand = ''
mkdir -p $out/etc/gtk-2.0/
GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache
'';
};
gtk3_cache = pkgs.stdenv.mkDerivation {
preferLocalBuild = true;
allowSubstitutes = false;
name = "gtk3-immodule.cache";
buildInputs = [ pkgs.gtk3 cfg.package ];
buildCommand = ''
mkdir -p $out/etc/gtk-3.0/
GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache
'';
};
in
{
options = {
i18n.inputMethod = {
options.i18n = {
inputMethod = {
enabled = mkOption {
type = types.nullOr (types.enum [ "ibus" "fcitx" "nabi" "uim" ]);
default = null;
@ -24,6 +46,20 @@ with lib;
</itemizedlist>
'';
};
package = mkOption {
internal = true;
type = types.path;
default = null;
description = ''
The input method method package.
'';
};
};
};
config = mkIf (cfg.enabled != null) {
environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ];
};
}

View File

@ -32,7 +32,7 @@ in
};
config = mkIf (config.i18n.inputMethod.enabled == "fcitx") {
environment.systemPackages = [ fcitxPackage ];
i18n.inputMethod.package = fcitxPackage;
environment.variables = {
GTK_IM_MODULE = "fcitx";

View File

@ -41,9 +41,11 @@ in
};
config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
i18n.inputMethod.package = ibusPackage;
# Without dconf enabled it is impossible to use IBus
environment.systemPackages = with pkgs; [
ibusPackage ibus-qt gnome3.dconf ibusAutostart
ibus-qt gnome3.dconf ibusAutostart
];
environment.variables = {

View File

@ -3,7 +3,7 @@
with lib;
{
config = mkIf (config.i18n.inputMethod.enabled == "nabi") {
environment.systemPackages = [ pkgs.nabi ];
i18n.inputMethod.package = pkgs.nabi;
environment.variables = {
GTK_IM_MODULE = "nabi";

View File

@ -22,7 +22,7 @@ in
};
config = mkIf (config.i18n.inputMethod.enabled == "uim") {
environment.systemPackages = [ pkgs.uim ];
i18n.inputMethod.package = pkgs.uim;
environment.variables = {
GTK_IM_MODULE = "uim";

View File

@ -9,7 +9,7 @@ let
serviceConfig = {
Type = "dbus";
BusName = "org.bluez";
ExecStart = "${bluez-bluetooth}/sbin/bluetoothd -n";
ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n";
};
wantedBy = [ "bluetooth.target" ];
};
@ -19,7 +19,7 @@ let
serviceConfig = {
Type = "dbus";
BusName = "org.bluez";
ExecStart = "${bluez-bluetooth}/sbin/bluetoothd -n";
ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n";
NotifyAccess="main";
CapabilityBoundingSet="CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
LimitNPROC=1;
@ -32,7 +32,7 @@ let
serviceConfig = {
Type = "dbus";
BusName = "org.bluez.obex";
ExecStart = "${bluez-bluetooth}/sbin/obexd";
ExecStart = "${getBin bluez-bluetooth}/bin/obexd";
};
};

View File

@ -102,7 +102,7 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ pluginsEnv ];
environment.PYTHONPATH = makeSearchPathOutputs pkgs.python.sitePackages ["lib"] [ pluginsEnv ];
environment.PYTHONPATH = makeSearchPathOutput "lib" pkgs.python.sitePackages [ pluginsEnv ];
preStart = ''
mkdir -p "${cfg.stateDir}"

View File

@ -114,10 +114,12 @@ in {
# Ugly hack for using the correct gnome3 packageSet
basePackages = mkOption {
type = types.attrsOf types.package;
default = { inherit networkmanager modemmanager wpa_supplicant
default = { inherit modemmanager wpa_supplicant
networkmanager_openvpn networkmanager_vpnc
networkmanager_openconnect
networkmanager_pptp networkmanager_l2tp; };
networkmanager_pptp networkmanager_l2tp;
networkmanager = networkmanager.out;
};
internal = true;
};
@ -187,7 +189,7 @@ in {
boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections.
environment.etc = with cfg.basePackages; [
environment.etc = with mapAttrs (name: getBin) cfg.basePackages; [
{ source = ipUpScript;
target = "NetworkManager/dispatcher.d/01nixos-ip-up";
}

View File

@ -0,0 +1,5 @@
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
@extra@
</busconfig>

View File

@ -0,0 +1,6 @@
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<servicehelper>@servicehelper@</servicehelper>
@extra@
</busconfig>

View File

@ -10,6 +10,16 @@ let
homeDir = "/var/run/dbus";
systemExtraxml = concatStrings (flip concatMap cfg.packages (d: [
"<servicedir>${d}/share/dbus-1/system-services</servicedir>"
"<includedir>${d}/etc/dbus-1/system.d</includedir>"
]));
sessionExtraxml = concatStrings (flip concatMap cfg.packages (d: [
"<servicedir>${d}/share/dbus-1/services</servicedir>"
"<includedir>${d}/etc/dbus-1/session.d</includedir>"
]));
configDir = pkgs.stdenv.mkDerivation {
name = "dbus-conf";
@ -19,47 +29,17 @@ let
buildCommand = ''
mkdir -p $out
cp -v ${pkgs.dbus.daemon}/etc/dbus-1/system.conf $out/system.conf
sed '${./dbus-system-local.conf.in}' \
-e 's,@servicehelper@,${config.security.wrapperDir}/dbus-daemon-launch-helper,g' \
-e 's,@extra@,${systemExtraxml},' \
> "$out/system-local.conf"
# !!! Hm, these `sed' calls are rather error-prone...
# Tell the daemon where the setuid wrapper around
# dbus-daemon-launch-helper lives.
sed -i $out/system.conf \
-e 's|<servicehelper>.*/libexec/dbus-daemon-launch-helper|<servicehelper>${config.security.wrapperDir}/dbus-daemon-launch-helper|'
# Add the system-services and system.d directories to the system
# bus search path.
sed -i $out/system.conf \
-e 's|<standard_system_servicedirs/>|${systemServiceDirs}|' \
-e 's|<includedir>system.d</includedir>|${systemIncludeDirs}|'
cp ${pkgs.dbus.daemon}/etc/dbus-1/session.conf $out/session.conf
# Add the services and session.d directories to the session bus
# search path.
sed -i $out/session.conf \
-e 's|<standard_session_servicedirs />|${sessionServiceDirs}&|' \
-e 's|<includedir>session.d</includedir>|${sessionIncludeDirs}|'
''; # */
sed '${./dbus-session-local.conf.in}' \
-e 's,@extra@,${sessionExtraxml},' \
> "$out/session-local.conf"
'';
};
systemServiceDirs = concatMapStrings
(d: "<servicedir>${d}/share/dbus-1/system-services</servicedir> ")
cfg.packages;
systemIncludeDirs = concatMapStrings
(d: "<includedir>${d}/etc/dbus-1/system.d</includedir> ")
cfg.packages;
sessionServiceDirs = concatMapStrings
(d: "<servicedir>${d}/share/dbus-1/services</servicedir> ")
cfg.packages;
sessionIncludeDirs = concatMapStrings
(d: "<includedir>${d}/etc/dbus-1/session.d</includedir> ")
cfg.packages;
in
{
@ -72,7 +52,7 @@ in
enable = mkOption {
type = types.bool;
default = true;
default = false;
internal = true;
description = ''
Whether to start the D-Bus message bus daemon, which is
@ -82,7 +62,7 @@ in
packages = mkOption {
type = types.listOf types.path;
default = [];
default = [ ];
description = ''
Packages whose D-Bus configuration files should be included in
the configuration of the D-Bus system-wide message bus.
@ -129,10 +109,10 @@ in
permissions = "u+rx,g+rx,o-rx";
};
services.dbus.packages =
[ "/nix/var/nix/profiles/default"
config.system.path
];
services.dbus.packages = [
pkgs.dbus
config.system.path
];
# Don't restart dbus-daemon. Bad things tend to happen if we do.
systemd.services.dbus.reloadIfChanged = true;

View File

@ -96,7 +96,7 @@ in
globalEnvVars = singleton
{ name = "PYTHONPATH";
value =
makeSearchPathOutputs "lib/${pkgs.python.libPrefix}/site-packages" ["lib"]
makeSearchPathOutput "lib" "lib/${pkgs.python.libPrefix}/site-packages"
[ pkgs.mod_python
pkgs.pythonPackages.trac
pkgs.setuptools

View File

@ -7,7 +7,7 @@ let
e = pkgs.enlightenment;
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.enlightenment;
GST_PLUGIN_PATH = lib.makeSearchPathOutputs "lib/gstreamer-1.0" ["lib"] [
GST_PLUGIN_PATH = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
pkgs.gst_all_1.gst-plugins-base
pkgs.gst_all_1.gst-plugins-good
pkgs.gst_all_1.gst-plugins-bad

View File

@ -29,7 +29,7 @@ let
phononBackends = {
gstreamer = [
pkgs.phonon_backend_gstreamer
pkgs.phonon-backend-gstreamer
pkgs.gst_all.gstPluginsBase
pkgs.gst_all.gstPluginsGood
pkgs.gst_all.gstPluginsUgly
@ -38,7 +38,7 @@ let
pkgs.gst_all.gstreamer # needed?
];
vlc = [pkgs.phonon_backend_vlc];
vlc = [pkgs.phonon-backend-vlc];
};
phononBackendPackages = flip concatMap cfg.phononBackends
@ -111,7 +111,7 @@ in
# Load PulseAudio module for routing support.
# See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
${optionalString config.hardware.pulseaudio.enable ''
${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
''}
# Start KDE.

View File

@ -22,26 +22,6 @@ in
description = "Enable the Plasma 5 (KDE 5) desktop environment.";
};
phonon = {
gstreamer = {
enable = mkOption {
type = types.bool;
default = true;
description = "Enable the GStreamer Phonon backend (recommended).";
};
};
vlc = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the VLC Phonon backend.";
};
};
};
};
};
@ -59,7 +39,7 @@ in
# Load PulseAudio module for routing support.
# See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
${optionalString config.hardware.pulseaudio.enable ''
${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
''}
exec "${kde5.startkde}"
@ -122,6 +102,9 @@ in
pkgs.hicolor_icon_theme
kde5.kde-gtk-config
pkgs.phonon-backend-gstreamer
pkgs.kde5.phonon-backend-gstreamer
]
# Plasma 5.5 and later has a Breeze GTK theme.
@ -131,37 +114,16 @@ in
# Install Breeze icons if available
++ lib.optional (lib.hasAttr "breeze-icons" kde5) kde5.breeze-icons
# Install activity manager if available
++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd
# Optional hardware support features
++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil
++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm
++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa
++ lib.optional config.powerManagement.enable kde5.powerdevil
++ lib.optional config.services.colord.enable kde5.colord-kde
++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ]
++ lib.optionals cfg.phonon.gstreamer.enable
[
pkgs.phonon_backend_gstreamer
pkgs.gst_all.gstreamer
pkgs.gst_all.gstPluginsBase
pkgs.gst_all.gstPluginsGood
pkgs.gst_all.gstPluginsUgly
pkgs.gst_all.gstPluginsBad
pkgs.gst_all.gstFfmpeg # for mp3 playback
pkgs.qt55.phonon-backend-gstreamer
pkgs.gst_all_1.gstreamer
pkgs.gst_all_1.gst-plugins-base
pkgs.gst_all_1.gst-plugins-good
pkgs.gst_all_1.gst-plugins-ugly
pkgs.gst_all_1.gst-plugins-bad
pkgs.gst_all_1.gst-libav # for mp3 playback
]
++ lib.optionals cfg.phonon.vlc.enable
[
pkgs.phonon_qt5_backend_vlc
pkgs.qt55.phonon-backend-vlc
];
++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ];
environment.pathsToLink = [ "/share" ];
@ -170,17 +132,23 @@ in
target = "X11/xkb";
};
environment.profileRelativeEnvVars =
mkIf cfg.phonon.gstreamer.enable
{
GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ];
GST_PLUGIN_SYSTEM_PATH_1_0 = [ "/lib/gstreamer-1.0" ];
};
# Enable GTK applications to load SVG icons
environment.variables = mkIf (lib.hasAttr "breeze-icons" kde5) {
GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
};
environment.variables =
{
GST_PLUGIN_SYSTEM_PATH_1_0 =
lib.makeSearchPath "/lib/gstreamer-1.0"
(builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-plugins-bad
gst-libav # for mp3 playback
]));
}
// (if (lib.hasAttr "breeze-icons" kde5)
then { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; }
else { });
fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];

View File

@ -12,8 +12,7 @@ let
'';
});
path = map # outputs TODO?
(pkg: (pkg.bin or (pkg.out or pkg)))
path = map getBin
[ pkgs.coreutils pkgs.gnugrep pkgs.findutils
pkgs.glibc # needed for getent
pkgs.shadow

View File

@ -58,7 +58,7 @@ let
path = (makeBinPath ([
pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfs-progs
pkgs.utillinux ] ++ (if cfg.efiSupport && (cfg.version == 2) then [pkgs.efibootmgr ] else [])
)) + ":" + (makeSearchPathOutputs "sbin" ["bin"] [
)) + ":" + (makeSearchPathOutput "bin" "sbin" [
pkgs.mdadm pkgs.utillinux
]);
});

View File

@ -193,7 +193,7 @@ in rec {
path = mkOption {
default = [];
apply = ps: "${makeBinPath ps}:${makeSearchPathOutputs "sbin" ["bin"] ps}";
apply = ps: "${makeBinPath ps}:${makeSearchPathOutput "bin" "sbin" ps}";
description = ''
Packages added to the service's <envar>PATH</envar>
environment variable. Both the <filename>bin</filename>

View File

@ -689,6 +689,8 @@ in
"systemd/system-generators" = { source = generators; };
});
services.dbus.enable = true;
system.activationScripts.systemd = stringAfter [ "groups" ]
''
mkdir -m 0755 -p /var/lib/udev

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
miniupnpc utillinux protobuf ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
meta = {

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec{
++ optionals withGui [ qt4 qrencode ];
configureFlags = [
"--with-boost-libdir=${boost.lib}/lib"
"--with-boost-libdir=${boost.out}/lib"
"--with-libcurl-headers=${curl.dev}/include"
] ++ optionals withGui [ "--with-gui=qt4" ];

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec{
++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
meta = {

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig autoreconfHook glib openssl db48 yasm
boost zlib miniupnpc protobuf qt4 qrencode utillinux ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
meta = with stdenv.lib; {
version = "0.12.0.55";

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
'';
configureFlags = [ "--with-incompatible-bdb"
"--with-boost-libdir=${boost.lib}/lib" ]
"--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui" ];
meta = {

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
openssl db48 boost zlib miniupnpc glib protobuf utillinux ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
meta = with stdenv.lib; {

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec{
miniupnpc utillinux protobuf ]
++ optionals withGui [ qt4 qmake4Hook qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec{
miniupnpc utillinux protobuf ]
++ optionals withGui [ qt4 qmake4Hook qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
# Prebuilt binary distribution.
# "patchelf --set-rpath" seems to break the application (cannot start), using
# LD_LIBRARY_PATH wrapper script instead.
buildPhase = "true";
dontBuild = true;
installPhase = ''
mkdir -p "$out/bin"
mkdir -p "$out/libexec/baudline"

View File

@ -25,7 +25,6 @@ let
};
faust = stdenv.mkDerivation {
name = "faust-${version}";
inherit src;
@ -107,9 +106,7 @@ let
inherit src;
configurePhase = ":";
buildPhase = ":";
dontBuild = true;
installPhase = ''
runHook preInstall

View File

@ -132,9 +132,7 @@ let
inherit src;
configurePhase = ":";
buildPhase = ":";
dontBuild = true;
installPhase = ''
runHook preInstall

View File

@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu maintainers.marcweber ];
platforms = platforms.linux;
broken = true;
};
}

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, cmake, pkgconfig, attica, boost, gnutls, libechonest
, liblastfm, lucenepp, phonon, phonon_backend_vlc, qca2, qjson, qt4
, liblastfm, lucenepp, phonon, phonon-backend-vlc, qca2, qjson, qt4
, qtkeychain, quazip, sparsehash, taglib, websocketpp, makeWrapper
, enableXMPP ? true, libjreen ? null
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
postInstall = let
pluginPath = stdenv.lib.concatStringsSep ":" [
"${phonon_backend_vlc}/lib/kde4/plugins"
"${phonon-backend-vlc}/lib/kde4/plugins"
];
in ''
for i in "$out"/bin/*; do

View File

@ -13,7 +13,7 @@ let
];
libPathNative = lib.makeLibraryPath packages;
libPath64 = lib.makeSearchPathOutputs "lib64" ["lib"] packages;
libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages;
libPath = "${libPathNative}:${libPath64}";
in { inherit packages libPath; }

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkgconfig, libtool
{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
}:
@ -9,11 +9,28 @@ let
else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
else if stdenv.system == "armv7l-linux" then "armv7l"
else throw "ImageMagick is not supported on this platform.";
cfg = {
version = "6.9.3-9";
sha256 = "0q19jgn1iv7zqrw8ibxp4z57iihrc9kyb09k2wnspcacs6vrvinf";
patches = [];
}
# Freeze version on mingw so we don't need to port the patch too often.
// lib.optionalAttrs (stdenv.cross.libc or null == "msvcrt") {
version = "6.9.2-0";
sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7";
patches = [(fetchpatch {
name = "mingw-build.patch";
url = "https://raw.githubusercontent.com/Alexpux/MINGW-packages/"
+ "01ca03b2a4ef/mingw-w64-imagemagick/002-build-fixes.patch";
sha256 = "1pypszlcx2sf7wfi4p37w1y58ck2r8cd5b2wrrwr9rh87p7fy1c0";
})];
};
in
stdenv.mkDerivation rec {
name = "imagemagick-${version}";
version = "6.9.3-9";
inherit (cfg) version;
src = fetchurl {
urls = [
@ -21,10 +38,10 @@ stdenv.mkDerivation rec {
# the original source above removes tarballs quickly
"http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
];
sha256 = "0q19jgn1iv7zqrw8ibxp4z57iihrc9kyb09k2wnspcacs6vrvinf";
inherit (cfg) sha256;
};
patches = [ ./imagetragick.patch ];
patches = [ ./imagetragick.patch ] ++ cfg.patches;
outputs = [ "out" "doc" ];
@ -37,15 +54,26 @@ stdenv.mkDerivation rec {
++ lib.optionals (ghostscript != null)
[ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
"--with-gslib"
];
]
++ lib.optionals (stdenv.cross.libc or null == "msvcrt")
[ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
;
nativeBuildInputs = [ pkgconfig libtool ];
buildInputs =
[ pkgconfig libtool zlib fontconfig freetype ghostscript libjpeg
openexr libpng librsvg libtiff libxml2 openjpeg libwebp
];
[ zlib fontconfig freetype ghostscript
libpng libtiff libxml2
]
++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
[ openexr librsvg openjpeg ]
;
propagatedBuildInputs =
[ bzip2 freetype libjpeg libX11 libXext libXt lcms2 libwebp ];
[ bzip2 freetype libjpeg lcms2 ]
++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
[ libX11 libXext libXt libwebp ]
;
postInstall = ''

View File

@ -48,5 +48,6 @@ in
homepage = "https://github.com/mkeeter/antimony";
license = licenses.mit;
platforms = platforms.linux;
broken = true;
};
}

View File

@ -19,7 +19,7 @@
# Supplementary packages required only by the wrapper.
, bash, kde_runtime, kde_baseapps, makeWrapper, oxygen_icons
, phonon_backend_vlc /*phonon_backend_gstreamer,*/
, phonon-backend-vlc /*phonon-backend-gstreamer,*/
, ffmpegthumbs /*mplayerthumbs*/
, runCommand, shared_mime_info, writeScriptBin
}:
@ -93,7 +93,7 @@ let
kdePkgs = [
build # digikam's own build
kdelibs kdepimlibs kde_runtime kde_baseapps libkdcraw oxygen_icons
/*phonon_backend_gstreamer*/ phonon_backend_vlc
/*phonon-backend-gstreamer*/ phonon-backend-vlc
ffmpegthumbs /*mplayerthumbs*/ shared_mime_info ]
# Optional build time dependencies
++ [
@ -208,7 +208,7 @@ TODO
- Per lib `KDELIBS` environment variable export. See above in-code TODO comment.
- Missing optional `qt_soap` or `herqq` (av + normal package) dependencies. Those are not
yet (or not fully) packaged in nix. Mainly required for upnp export.
- Possibility to use the `phonon_backend_gstreamer` with its own user specified set of backend.
- Possibility to use the `phonon-backend-gstreamer` with its own user specified set of backend.
- Allow user to disable optional features or dependencies reacting properly.
- Compile `kipiplugins` as a separate package (so that it can be used by other kde packages
and so that this package's build time is reduced).

View File

@ -1,12 +1,6 @@
{ stdenv, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb }:
/*
*/
let
myPatchElf = file: with stdenv.lib; ''
patchelf --set-interpreter \
${stdenv.glibc}/lib/ld-linux${optionalString stdenv.is64bit "-x86-64"}.so.2 \
@ -15,10 +9,7 @@ let
udevRules = callPackage ./udev_rules_type1.nix {};
in
stdenv.mkDerivation rec {
in stdenv.mkDerivation rec {
name = "brscan4-0.4.3-3";
src = fetchurl {
url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
@ -32,8 +23,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper patchelf coreutils udevRules ];
buildInputs = [ libusb ];
buildPhase = ":";
dontBuild = true;
patchPhase = ''
${myPatchElf "opt/brother/scanner/brscan4/brsaneconfig4"}
@ -47,7 +37,6 @@ stdenv.mkDerivation rec {
'';
installPhase = ''
PATH_TO_BRSCAN4="opt/brother/scanner/brscan4"
mkdir -p $out/$PATH_TO_BRSCAN4
cp -rp $PATH_TO_BRSCAN4/* $out/$PATH_TO_BRSCAN4

View File

@ -1,8 +1,6 @@
{ stdenv, fetchurl, libsaneUDevRuleNumber ? "49"}:
stdenv.mkDerivation rec {
name = "brother-udev-rule-type1-1.0.0-1";
src = fetchurl {
@ -10,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0i0x5jw135pli4jl9mgnr5n2rrdvml57nw84yq2999r4frza53xi";
};
buildInputs = [ ];
dontBuild = true;
unpackPhase = ''
ar x $src
@ -37,9 +35,6 @@ stdenv.mkDerivation rec {
sed -i -e s/SYSFS/ATTR/g opt/brother/scanner/udev-rules/type1/*.rules
'';
buildPhase = ":";
installPhase = ''
mkdir -p $out/etc/udev/rules.d
cp opt/brother/scanner/udev-rules/type1/NN-brother-mfp-type1.rules \
@ -57,4 +52,4 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.unfree;
maintainers = with stdenv.lib.maintainers; [ jraygauthier ];
};
}
}

View File

@ -35,7 +35,7 @@ let
configureFlags = [
"--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib"
"--with-boost-libdir=${boost.out}/lib"
];
buildInputs = [

View File

@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
# hack around a build problem
preBuild = ''
mkdir -p ../tmp.*/lib
ln -s '${qtbase.out}/lib/libQt5PlatformSupport.a' ../tmp.*/lib/
'';
nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ];

View File

@ -16,7 +16,7 @@ gconftool-2 --recursive-unset /apps/guake
with lib;
let inputs = [ dbus gtk2 gconf python2 libutempter vte keybinder gnome3.gnome_common ];
pyPath = makeSearchPathOutputs python2.sitePackages ["lib"] (attrVals [ "dbus" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
pyPath = makeSearchPathOutput "lib" python2.sitePackages (attrVals [ "dbus" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
in stdenv.mkDerivation rec {
name = "guake-${version}";
version = "0.8.3";

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
unpackPhase = "true";
buildPhase = "true";
dontBuild = true;
installPhase = ''
mkdir -p "$out/bin"

View File

@ -3,7 +3,6 @@
, fetchurl
, extra-cmake-modules
, makeQtWrapper
, qtquick1
, kcmutils
, kconfigwidgets
, kdbusaddons
@ -29,7 +28,6 @@ stdenv.mkDerivation rec {
kconfigwidgets
kdbusaddons
qca-qt5
qtquick1
ki18n
kiconthemes
knotifications

View File

@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
"-I${dbus_libs.lib}/lib/dbus-1.0/include" ];
# Fix up python path so the lockfile library is on it.
PYTHONPATH = stdenv.lib.makeSearchPathOutputs pythonFull.sitePackages ["lib"] [
PYTHONPATH = stdenv.lib.makeSearchPathOutput "lib" pythonFull.sitePackages [
pythonPackages.curses pythonPackages.lockfile
];

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "09x7vl0kddivqq3pyrk6sg1f0sv5l7nj0bmblq222zk3b09bgg8p";
};
buildPhase = "true";
dontBuild = true;
installPhase = ''
mkdir -p $out/Applications

View File

@ -65,7 +65,7 @@ let
patchPhase = let
rpaths = [ stdenv.cc.cc ];
mkrpath = p: "${makeSearchPathOutputs "lib64" ["lib"] p}:${makeLibraryPath p}";
mkrpath = p: "${makeSearchPathOutput "lib" "lib64" p}:${makeLibraryPath p}";
in ''
for sofile in PepperFlash/libpepflashplayer.so \
libwidevinecdm.so libwidevinecdmadapter.so; do

View File

@ -108,7 +108,7 @@ stdenv.mkDerivation {
libheimdal
libpulseaudio
systemd
] + ":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] [
] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [
stdenv.cc.cc
];

View File

@ -129,7 +129,7 @@ stdenv.mkDerivation {
# Let each plugin tell us (through its `mozillaPlugin') attribute
# where to find the plugin in its tree.
plugins = map (x: x + x.mozillaPlugin) plugins;
libs = lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutputs "lib64" ["lib"] libs;
libs = lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
gtk_modules = map (x: x + x.gtkModule) gtk_modules;
passthru = { unwrapped = browser; };

View File

@ -65,7 +65,7 @@ in stdenv.mkDerivation rec {
tar xf data.tar.xz
'';
rpath = makeLibraryPath deps + ":" + makeSearchPathOutputs "lib64" ["lib"] deps;
rpath = makeLibraryPath deps + ":" + makeSearchPathOutput "lib" "lib64" deps;
binpath = makeBinPath deps;
installPhase = ''

View File

@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
libPath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
(":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] buildInputs);
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
preFixup =
''

View File

@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
libPath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.is64bit)
(":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] buildInputs);
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
buildPhase = ''
echo "Patching Vivaldi binaries"

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
configureFlags = [
"--with-ldap-dir=${openldap}"
"--with-libsasl2-dir=${cyrus_sasl}"
"--with-boost-libdir=${boost.lib}/lib"
"--with-boost-libdir=${boost.out}/lib"
"--disable-gconf"
];

View File

@ -1,12 +1,11 @@
{ monolithic ? true # build monolithic Quassel
, daemon ? false # build Quassel daemon
, client ? false # build Quassel client
, previews ? false # enable webpage previews on hovering over URLs
, tag ? "" # tag added to the package name
, static ? false # link statically
, stdenv, fetchurl, cmake, makeWrapper, dconf
, qtbase, qtscript, qtwebkit
, qtbase, qtscript
, phonon, libdbusmenu, qca-qt5
, withKDE ? stdenv.isLinux # enable KDE integration
@ -42,11 +41,13 @@ in with stdenv; mkDerivation rec {
enableParallelBuilding = true;
# Prevent ``undefined reference to `qt_version_tag''' in SSL check
NIX_CFLAGS_COMPILE = [ "-DQT_NO_VERSION_TAGGING=1" ];
buildInputs =
[ cmake makeWrapper qtbase ]
++ lib.optionals buildCore [qtscript qca-qt5]
++ lib.optionals buildClient [libdbusmenu phonon]
++ lib.optionals (buildClient && previews) [qtwebkit]
++ lib.optionals (buildClient && withKDE) [
extra-cmake-modules kconfigwidgets kcoreaddons
knotifications knotifyconfig ktextwidgets kwidgetsaddons
@ -61,8 +62,7 @@ in with stdenv; mkDerivation rec {
++ edf monolithic "WANT_MONO"
++ edf daemon "WANT_CORE"
++ edf client "WANT_QTCLIENT"
++ edf withKDE "WITH_KDE"
++ edf previews "WITH_WEBKIT";
++ edf withKDE "WITH_KDE";
preFixup =
lib.optionalString buildClient ''

View File

@ -105,7 +105,7 @@ stdenv.mkDerivation {
nspr
nss
pango
] + ":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] [
] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [
stdenv.cc.cc
];

View File

@ -31,5 +31,6 @@ stdenv.mkDerivation {
license = licenses.gpl3;
maintainers = [ maintainers.ehmry ];
platforms = platforms.linux;
broken = true;
};
}

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
'';
configureFlags = [
"--with-boost-libdir=${boost.lib}/lib"
"--with-boost-libdir=${boost.out}/lib"
"--with-boost=${boost.dev}"
(if guiSupport then "" else "--disable-gui")
(if webuiSupport then "" else "--disable-webui")

View File

@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
"--disable-deprecated-functions"
"--enable-tests"
"--enable-python-binding"
"--with-boost-libdir=${boost.lib}/lib"
"--with-boost-libdir=${boost.out}/lib"
];
buildInputs = [

View File

@ -172,7 +172,7 @@ in stdenv.mkDerivation rec {
configureFlags = [
"${if withHelp then "" else "--without-help"}"
"--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib"
"--with-boost-libdir=${boost.out}/lib"
"--with-beanshell-jar=${bsh}"
"--with-vendor=NixOS"
"--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"

View File

@ -172,7 +172,7 @@ in stdenv.mkDerivation rec {
configureFlags = [
"${if withHelp then "" else "--without-help"}"
"--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib"
"--with-boost-libdir=${boost.out}/lib"
"--with-beanshell-jar=${bsh}"
"--with-vendor=NixOS"
"--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"

View File

@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
ldpath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
(":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] buildInputs);
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
phases = "unpackPhase installPhase fixupPhase";

View File

@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
ldpath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
(":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] buildInputs);
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
phases = "unpackPhase installPhase fixupPhase";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, bison
{ stdenv, fetchurl, lib, bison
, qt4, xapian, file, python, perl
, djvulibre, groff, libxslt, unzip, poppler_utils, antiword, catdoc, lyx
, libwpd, unrtf, untex
@ -26,27 +26,27 @@ stdenv.mkDerivation rec {
# the absolute path to the filtering command.
postInstall = ''
for f in $out/share/recoll/filters/* ; do
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}/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 or libiconv}/bin/iconv
substituteInPlace $f --replace lyx ${lyx}/bin/lyx
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}/bin/xsltproc
substituteInPlace $f --replace unrtf ${unrtf}/bin/unrtf
substituteInPlace $f --replace untex ${untex}/bin/untex
substituteInPlace $f --replace wpd2html ${libwpd}/bin/wpd2html
substituteInPlace $f --replace /usr/bin/perl ${perl}/bin/perl
substituteInPlace $f --replace antiword ${lib.getBin antiword}/bin/antiword
substituteInPlace $f --replace awk ${lib.getBin gawk}/bin/awk
substituteInPlace $f --replace catppt ${lib.getBin catdoc}/bin/catppt
substituteInPlace $f --replace djvused ${lib.getBin djvulibre}/bin/djvused
substituteInPlace $f --replace djvutxt ${lib.getBin djvulibre}/bin/djvutxt
substituteInPlace $f --replace egrep ${lib.getBin gnugrep}/bin/egrep
substituteInPlace $f --replace groff ${lib.getBin groff}/bin/groff
substituteInPlace $f --replace gunzip ${lib.getBin gzip}/bin/gunzip
substituteInPlace $f --replace iconv ${lib.getBin libiconv}/bin/iconv
substituteInPlace $f --replace lyx ${lib.getBin lyx}/bin/lyx
substituteInPlace $f --replace pdftotext ${lib.getBin poppler_utils}/bin/pdftotext
substituteInPlace $f --replace pstotext ${lib.getBin ghostscript}/bin/ps2ascii
substituteInPlace $f --replace sed ${lib.getBin gnused}/bin/sed
substituteInPlace $f --replace tar ${lib.getBin gnutar}/bin/tar
substituteInPlace $f --replace unzip ${lib.getBin unzip}/bin/unzip
substituteInPlace $f --replace xls2csv ${lib.getBin catdoc}/bin/xls2csv
substituteInPlace $f --replace xsltproc ${lib.getBin libxslt}/bin/xsltproc
substituteInPlace $f --replace unrtf ${lib.getBin unrtf}/bin/unrtf
substituteInPlace $f --replace untex ${lib.getBin untex}/bin/untex
substituteInPlace $f --replace wpd2html ${lib.getBin libwpd}/bin/wpd2html
substituteInPlace $f --replace /usr/bin/perl ${lib.getBin perl}/bin/perl
done
'';

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
buildInputs = [python makeWrapper];
buildPhase = "true";
dontBuild = true;
installPhase = ''
python ./setup.py install --prefix=$out
for i in bzr svn git; do

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation {
buildInputs = [mercurial.python mercurial makeWrapper subversion];
buildPhase="true"; # skip svn for now
dontBuild = true; # skip svn for now
# TODO also support svn stuff
# moving .py files into lib directory so that you can't pick the wrong file from PATH.

View File

@ -13,22 +13,21 @@ stdenv.mkDerivation {
buildInputs = [ ruby makeWrapper ];
buildPhase = "true";
dontBuild = true;
installPhase =
''
mkdir -p $out
cp -r lib $out/
installPhase = ''
mkdir -p $out
cp -r lib $out/
mkdir -p $out/bin
substituteInPlace bin/svn2git --replace '/usr/bin/env ruby' ${ruby}/bin/ruby
cp bin/svn2git $out/bin/
chmod +x $out/bin/svn2git
mkdir -p $out/bin
substituteInPlace bin/svn2git --replace '/usr/bin/env ruby' ${ruby}/bin/ruby
cp bin/svn2git $out/bin/
chmod +x $out/bin/svn2git
wrapProgram $out/bin/svn2git \
--set RUBYLIB $out/lib \
--prefix PATH : ${git}/bin
'';
wrapProgram $out/bin/svn2git \
--set RUBYLIB $out/lib \
--prefix PATH : ${git}/bin
'';
meta = {
homepage = https://github.com/nirvdrum/svn2git;

View File

@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
};
buildInputs = [ git nettools perl ];
buildPhase = "true";
dontBuild = true;
patchPhase = ''
substituteInPlace ./install --replace " 2>/dev/null" ""

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
boost glm
];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
NIX_CFLAGS_COMPILE = "-fpermissive " + # fix build with newer gcc versions
"-std=c++11"; # fix build with glm >= 0.9.6.0

View File

@ -51,7 +51,7 @@ mkDerivation rec {
[ out git bazaar cvs darcs fossil mercurial
monotone rcs src subversion cvs_fast_export ]
);
pythonpath = makeSearchPathOutputs python27.sitePackages ["lib"] (
pythonpath = makeSearchPathOutput "lib" python27.sitePackages (
filter (x: x != null)
[ python27Packages.readline or null python27Packages.hglib or null ]
);

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
buildInputs = with stdenv.lib;
[ pkgconfig intltool libX11 wxGTK fontconfig freetype mesa
libass fftw ffms ffmpeg zlib icu boost boost.lib libiconv
libass fftw ffms ffmpeg zlib icu boost boost.out libiconv
]
++ optional spellcheckSupport hunspell
++ optional automationSupport lua

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon_backend_vlc, qt4, qmake4Hook
{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon-backend-vlc, qt4, qmake4Hook
# "Free" API key generated by nckx <tobias.geerinckx.rice@gmail.com>
, withAPIKey ? "AIzaSyBtFgbln3bu1swQC-naMxMtKh384D3xJZE" }:
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
owner = "flaviotordini";
};
buildInputs = [ phonon phonon_backend_vlc qt4 ];
buildInputs = [ phonon phonon-backend-vlc qt4 ];
nativeBuildInputs = [ makeWrapper qmake4Hook ];
qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ];
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
postInstall = ''
wrapProgram $out/bin/minitube \
--prefix QT_PLUGIN_PATH : "${phonon_backend_vlc}/lib/kde4/plugins"
--prefix QT_PLUGIN_PATH : "${phonon-backend-vlc}/lib/kde4/plugins"
'';
meta = with stdenv.lib; {

View File

@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
configureFlags = [
"--enable-magic"
"--enable-optimization"
"--with-boost-libdir=${boost.lib}/lib"
"--with-boost-libdir=${boost.out}/lib"
"--disable-debug"
"--disable-profiling"
"--disable-precompiled-headers"

View File

@ -27,13 +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;
libc_bin = if nativeLibc then null else getBin libc;
libc_dev = if nativeLibc then null else getDev libc;
libc_lib = if nativeLibc then null else getLib libc;
cc_solib = getLib cc;
binutils_bin = if nativeTools then "" else getBin binutils;
# The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
coreutils_bin = if nativeTools then "" else coreutils.bin or coreutils;
coreutils_bin = if nativeTools then "" else getBin coreutils;
in
stdenv.mkDerivation {
@ -113,6 +113,7 @@ stdenv.mkDerivation {
ccCFlags+=" -B${cc_solib}/lib64"
fi
ccLDFlags+=" -L${cc_solib}/lib"
ccCFlags+=" -B${cc_solib}/lib"
${optionalString cc.langVhdl or false ''
ccLDFlags+=" -L${zlib.out}/lib"

View File

@ -343,7 +343,7 @@ fi
if test -n "$builder"; then
test -n "$out" -a -n "$url" -a -n "$rev" || usage
mkdir $out
mkdir -p $out
clone_user_rev "$out" "$url" "$rev"
else
if test -z "$hashType"; then
@ -368,7 +368,7 @@ else
trap "rm -rf \"$tmpPath\"" EXIT
tmpFile="$tmpPath/$(url_to_name "$url" "$rev")"
mkdir "$tmpFile"
mkdir -p "$tmpFile"
# Perform the checkout.
clone_user_rev "$tmpFile" "$url" "$rev"

View File

@ -5,7 +5,7 @@
# stdenv.mkDerivation provides a wrapper that sets up the right environment
# variables so that the compiler and the linker just "work".
{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
{ name ? "", stdenv, lib, nativeTools, nativeLibc, nativePrefix ? ""
, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
, zlib ? null
}:
@ -41,13 +41,13 @@ stdenv.mkDerivation {
addFlags = ./add-flags;
inherit nativeTools nativeLibc nativePrefix gcc;
gcc_lib = gcc.lib or gcc;
gcc_lib = lib.getLib 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;
libc_dev = if nativeLibc then null else lib.getDev libc;
libc_bin = if nativeLibc then null else lib.getBin libc;
binutils = if nativeTools then null else lib.getBin binutils;
# The wrapper scripts use 'cat', so we may need coreutils
coreutils = if nativeTools then null else coreutils;
coreutils = if nativeTools then null else lib.getBin coreutils;
langC = if nativeTools then true else gcc.langC;
langCC = if nativeTools then true else gcc.langCC;

View File

@ -0,0 +1,45 @@
fixupOutputHooks+=(_linkDLLs)
# For every *.{exe,dll} in $output/bin/ we try to find all (potential)
# transitive dependencies and symlink those DLLs into $output/bin
# so they are found on invocation.
# (DLLs are first searched in the directory of the running exe file.)
# The links are relative, so relocating whole /nix/store won't break them.
_linkDLLs() {
(
if [ ! -d "$prefix/bin" ]; then exit; fi
cd "$prefix/bin"
# Compose path list where DLLs should be located:
# prefix $PATH by currently-built outputs
local DLLPATH=""
local outName
for outName in $outputs; do
addToSearchPath DLLPATH "${!outName}/bin"
done
DLLPATH="$DLLPATH:$PATH"
echo DLLPATH="'$DLLPATH'"
linkCount=0
# Iterate over any DLL that we depend on.
local dll
for dll in $(objdump -p *.{exe,dll} | sed -n 's/.*DLL Name: \(.*\)/\1/p' | sort -u); do
if [ -e "./$dll" ]; then continue; fi
# Locate the DLL - it should be an *executable* file on $DLLPATH.
local dllPath="$(PATH="$DLLPATH" type -P "$dll")"
if [ -z "$dllPath" ]; then continue; fi
# That DLL might have its own (transitive) dependencies,
# so add also all DLLs from its directory to be sure.
local dllPath2
for dllPath2 in "$dllPath" "$(dirname "$dllPath")"/*.dll; do
if [ -e ./"$(basename "$dllPath2")" ]; then continue; fi
ln -sr "$dllPath2" .
linkCount=$(($linkCount+1))
done
done
echo "Created $linkCount DLL link(s) in $prefix/bin"
)
}

View File

@ -2,6 +2,7 @@
args:
# see the substituteAll in the nixpkgs documentation for usage and constaints
stdenv.mkDerivation ({
name = if args ? name then args.name else baseNameOf (toString args.src);
builder = ./substitute-all.sh;

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "01hvpvbrks40g9k1xr2f1gxnd5wd0sxidgfbwrm94pdi1a36xxrk";
};
buildPhase = "true";
dontBuild = true;
installPhase = ''
fontDir=$out/share/fonts/opentype

View File

@ -2,14 +2,18 @@
stdenv.mkDerivation {
name = "bakoma-ttf";
src = fetchurl {
url = http://tarballs.nixos.org/bakoma-ttf.tar.bz2;
sha256 = "1j1y3cq6ys30m734axc0brdm2q9n2as4h32jws15r7w5fwr991km";
};
buildPhase = "true";
installPhase = "mkdir -p $out/share/fonts/truetype; cp ttf/*.ttf $out/share/fonts/truetype";
dontBuild = true;
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp ttf/*.ttf $out/share/fonts/truetype
'';
meta = {
description = "TrueType versions of the Computer Modern and AMS TeX Fonts";

View File

@ -9,8 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0l1zwmw42mpakjrzmbygshcg2qzq9mv8lx42738rz3j9hrqzg4pw";
};
configurePhase = "true";
buildPhase = "true";
dontBuild = true;
buildInputs = [bdftopcf mkfontdir mkfontscale];

View File

@ -10,25 +10,24 @@ stdenv.mkDerivation {
sha256 = "1pwz83yh28yd8aj6fbyfz8z3q3v67psszpd9mp4vv0ms9w8b5ajn";
};
buildPhase = "true";
dontBuild = true;
installPhase =
''
mkdir -p $out/share/fonts/opentype
cp -v */*.otf $out/share/fonts/opentype
installPhase = ''
mkdir -p $out/share/fonts/opentype
cp -v */*.otf $out/share/fonts/opentype
mkdir -p $out/share/fonts/truetype
cp -v */*.ttf $out/share/fonts/truetype
mkdir -p $out/share/fonts/truetype
cp -v */*.ttf $out/share/fonts/truetype
mkdir -p $out/share/fonts/bdf
cp -v */BDF/*.bdf $out/share/fonts/bdf
mkdir -p $out/share/fonts/bdf
cp -v */BDF/*.bdf $out/share/fonts/bdf
mkdir -p $out/share/fonts/pcf
cp -v */PCF/*.pcf.gz $out/share/fonts/pcf
mkdir -p $out/share/fonts/pcf
cp -v */PCF/*.pcf.gz $out/share/fonts/pcf
mkdir -p $out/share/fonts/psf
cp -v */PSF/*.psf.gz $out/share/fonts/psf
'';
mkdir -p $out/share/fonts/psf
cp -v */PSF/*.psf.gz $out/share/fonts/psf
'';
meta = with stdenv.lib; {
homepage = https://github.com/powerline/fonts;

View File

@ -8,11 +8,11 @@ stdenv.mkDerivation {
sha256 = "1p3qs51x5327gnk71yq8cvmxc6wgx79sqxfvxcv80cdvgggjfnyv";
};
buildPhase = "true";
dontBuild = true;
installPhase = "
installPhase = ''
fontDir=$out/share/fonts/truetype
mkdir -p $fontDir
cp *.ttf $fontDir
";
'';
}

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation {
name = "vista-fonts-1";
src = fetchurl {
url = http://download.microsoft.com/download/f/5/a/f5a3df76-d856-4a61-a6bd-722f52a5be26/PowerPointViewer.exe;
sha256 = "07vhjdw8iip7gxk6wvp4myhvbn9619g10j9qvpbzz4ihima57ry4";
@ -10,14 +10,14 @@ stdenv.mkDerivation {
buildInputs = [cabextract];
unpackPhase = "
unpackPhase = ''
cabextract --lowercase --filter ppviewer.cab $src
cabextract --lowercase --filter '*.TTF' ppviewer.cab
sourceRoot=.
";
buildPhase = "true";
'';
dontBuild = true;
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype

View File

@ -10,19 +10,18 @@ let
inherit sha256;
};
buildPhase = "true";
dontBuild = true;
installPhase =
''
dst=$out/share/xml/${pname}
mkdir -p $dst
rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp
mv * $dst/
installPhase = ''
dst=$out/share/xml/${pname}
mkdir -p $dst
rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp
mv * $dst/
# Backwards compatibility. Will remove eventually.
mkdir -p $out/xml/xsl
ln -s $dst $out/xml/xsl/docbook
'';
# Backwards compatibility. Will remove eventually.
mkdir -p $out/xml/xsl
ln -s $dst $out/xml/xsl/docbook
'';
meta = {
homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets;

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation {
sha256 = "09ch709cb9fniwc4221xgkq0jf0x0lxs814sqig8p2dcll0llvzk";
};
outputs = [ "out" "doc" ];
outputs = [ "dev" "out" "doc" ];
buildInputs = [ ORBit2 dbus_libs dbus_glib libxml2 ]
# polkit requires pam, which requires shadow.h, which is not available on

View File

@ -9,16 +9,22 @@ stdenv.mkDerivation rec {
sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
};
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ glib libIDL ] ++ libintlOrEmpty;
outputs = [ "dev" "out" ];
preBuild = ''
sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile
'';
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ glib libIDL ] ++ libintlOrEmpty;
preFixup = ''
moveToOutput "bin/orbit2-config" "$dev"
'';
meta = with stdenv.lib; {
homepage = https://projects.gnome.org/ORBit2/;
description = "A a CORBA 2.4-compliant Object Request Broker";
description = "A CORBA 2.4-compliant Object Request Broker";
platforms = platforms.unix;
maintainers = with maintainers; [ lovek323 ];

View File

@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2";
};
outputs = [ "dev" "out" ];
buildInputs =
[ pkgconfig libxml2 bzip2 openssl samba dbus_glib fam cdparanoia
intltool gnome_mime_data avahi acl

View File

@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
};
outputs = [ "dev" "out" ];
preConfigure = # still using stuff deprecated in new glib versions
"sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in";

View File

@ -2,12 +2,14 @@
stdenv.mkDerivation {
name = "libglade-2.6.4";
src = fetchurl {
url = mirror://gnome/sources/libglade/2.6/libglade-2.6.4.tar.bz2;
sha256 = "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4";
};
outputs = [ "dev" "out" ];
buildInputs = [ pkgconfig gtk python gettext ];
propagatedBuildInputs = [ libxml2 ];

View File

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
};
outputs = [ "dev" "out" ];
patches = [ ./new-glib.patch ];
nativeBuildInputs = [ pkgconfig ];

View File

@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5";
};
outputs = [ "dev" "out" ];
buildInputs = [ libglade ];
nativeBuildInputs = [ pkgconfig intltool ];
propagatedBuildInputs = [ libart_lgpl gtk ];

View File

@ -1,15 +0,0 @@
{ kdeApp, lib
, automoc4, cmake, kdelibs
}:
kdeApp {
name = "kcolorchooser";
nativeBuildInputs = [ automoc4 cmake ];
buildInputs = [ kdelibs ];
meta = {
license = with lib.licenses; [ mit ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -31,21 +31,9 @@ kdeApp {
extra-cmake-modules
kdoctools
];
buildInputs = [
karchive
kconfig
kcrash
kdbusaddons
kiconthemes
kservice
kpty
kwidgetsaddons
libarchive
];
propagatedBuildInputs = [
khtml
ki18n
kio
khtml ki18n kio karchive kconfig kcrash kdbusaddons kiconthemes kservice
kpty kwidgetsaddons libarchive
];
postInstall = ''
wrapQtProgram "$out/bin/ark" \

View File

@ -13,23 +13,15 @@
kdeApp {
name = "baloo-widgets";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kconfig
kservice
];
propagatedBuildInputs = [
baloo
kdelibs4support
kfilemetadata
ki18n
kio
];
meta = {
license = [ lib.licenses.lgpl21 ];
maintainers = [ lib.maintainers.ttuegel ];
};
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
propagatedBuildInputs = [
baloo kconfig kservice kdelibs4support kfilemetadata ki18n kio
];
}

View File

@ -11,21 +11,15 @@
kdeApp {
name = "dolphin-plugins";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kxmlgui
dolphin
];
propagatedBuildInputs = [
kdelibs4support
ki18n
kio
];
meta = {
license = [ lib.licenses.gpl2 ];
maintainers = [ lib.maintainers.ttuegel ];
};
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
propagatedBuildInputs = [
kdelibs4support ki18n kio kxmlgui dolphin
];
}

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