Skip to content
35 changes: 4 additions & 31 deletions pkgs/development/libraries/kerberos/heimdal.nix
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python2, perl, yacc, flex
, texinfo, perlPackages
, openldap, libcap_ng, sqlite, openssl, db, libedit, pam

# Extra Args
, type ? ""
}:

let
libOnly = type == "lib";
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "${type}heimdal-${version}";
name = "heimdal-${version}";
version = "7.5.0";

src = fetchFromGitHub {
Expand All @@ -23,12 +17,10 @@ stdenv.mkDerivation rec {

patches = [ ./heimdal-make-missing-headers.patch ];

nativeBuildInputs = [ autoreconfHook pkgconfig python2 perl yacc flex ]
++ (with perlPackages; [ JSON ])
++ optional (!libOnly) texinfo;
nativeBuildInputs = [ autoreconfHook pkgconfig python2 perl yacc flex texinfo ]
++ (with perlPackages; [ JSON ]);
buildInputs = optionals (!stdenv.isFreeBSD) [ libcap_ng db ]
++ [ sqlite openssl libedit ]
++ optionals (!libOnly) [ openldap pam ];
++ [ sqlite openssl libedit openldap pam ];

## ugly, X should be made an option
configureFlags = [
Expand All @@ -40,7 +32,6 @@ stdenv.mkDerivation rec {
"--with-openssl=${openssl.dev}"
"--without-x"
"--with-berkeley-db=${db}"
] ++ optionals (!libOnly) [
"--with-openldap=${openldap.dev}"
] ++ optionals (!stdenv.isFreeBSD) [
"--with-capng"
Expand All @@ -50,24 +41,6 @@ stdenv.mkDerivation rec {
sed -i '/^DEFAULT_INCLUDES/ s,$, -I..,' source/cf/Makefile.am.common
'';

buildPhase = optionalString libOnly ''
(cd include; make -j $NIX_BUILD_CORES)
(cd lib; make -j $NIX_BUILD_CORES)
(cd tools; make -j $NIX_BUILD_CORES)
(cd include/hcrypto; make -j $NIX_BUILD_CORES)
(cd lib/hcrypto; make -j $NIX_BUILD_CORES)
'';

installPhase = optionalString libOnly ''
(cd include; make -j $NIX_BUILD_CORES install)
(cd lib; make -j $NIX_BUILD_CORES install)
(cd tools; make -j $NIX_BUILD_CORES install)
(cd include/hcrypto; make -j $NIX_BUILD_CORES install)
(cd lib/hcrypto; make -j $NIX_BUILD_CORES install)
rm -rf $out/{libexec,sbin,share}
find $out/bin -type f | grep -v 'krb5-config' | xargs rm
'';

# We need to build hcrypt for applications like samba
postBuild = ''
(cd include/hcrypto; make -j $NIX_BUILD_CORES)
Expand Down
32 changes: 3 additions & 29 deletions pkgs/development/libraries/kerberos/krb5.nix
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
{ stdenv, fetchurl, pkgconfig, perl, yacc, bootstrap_cmds
, openssl, openldap, libedit

# Extra Arguments
, type ? ""
}:

let
libOnly = type == "lib";
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "${type}krb5-${version}";
name = "krb5-${version}";
majorVersion = "1.15";
version = "${majorVersion}.2";

Expand All @@ -29,33 +23,13 @@ stdenv.mkDerivation rec {
"ac_cv_printf_positional=yes"
];

nativeBuildInputs = [ pkgconfig perl ]
++ optional (!libOnly) yacc
nativeBuildInputs = [ pkgconfig perl yacc ]
# Provides the mig command used by the build scripts
++ optional stdenv.isDarwin bootstrap_cmds;
buildInputs = [ openssl ]
++ optionals (!libOnly) [ openldap libedit ];
buildInputs = [ openssl openldap libedit ];

preConfigure = "cd ./src";

buildPhase = optionalString libOnly ''
MAKE="make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES"
(cd util; $MAKE)
(cd include; $MAKE)
(cd lib; $MAKE)
(cd build-tools; $MAKE)
'';

installPhase = optionalString libOnly ''
mkdir -p "$out"/{bin,sbin,lib/pkgconfig,share/{et,man/man1}} \
"$dev"/include/{gssapi,gssrpc,kadm5,krb5}
(cd util; $MAKE install)
(cd include; $MAKE install)
(cd lib; $MAKE install)
(cd build-tools; $MAKE install)
${postInstall}
'';

# not via outputBin, due to reference from libkrb5.so
postInstall = ''
moveToOutput bin "$dev"
Expand Down
9 changes: 4 additions & 5 deletions pkgs/development/libraries/poppler/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,22 @@
, withData ? true, poppler_data
, qt5Support ? false, qtbase ? null
, introspectionSupport ? false, gobjectIntrospection ? null
, utils ? false
, minimal ? false, suffix ? "glib"
, minimal ? false
}:

let # beware: updates often break cups-filters build
version = "0.63.0";
mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
in
stdenv.mkDerivation rec {
name = "poppler-${suffix}-${version}";
name = "poppler-${version}";

src = fetchurl {
url = "${meta.homepage}/poppler-${version}.tar.xz";
sha256 = "04d1z1ygyb3llzc6s6c99wxafvljj2sc5b76djif34f7mzfqmk17";
};

outputs = [ "out" "dev" ];
outputs = [ "out" "dev" "bin" ];

buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data;

Expand All @@ -40,7 +39,7 @@ stdenv.mkDerivation rec {
(mkFlag (!minimal) "GLIB")
(mkFlag (!minimal) "CPP")
(mkFlag (!minimal) "LIBCURL")
(mkFlag utils "UTILS")
"-DENABLE_UTILS=on"
(mkFlag qt5Support "QT5")
];

Expand Down
19 changes: 5 additions & 14 deletions pkgs/misc/jackaudio/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,21 @@
, dbus ? null, libffado ? null, alsaLib ? null
, libopus ? null
, darwin

# Extra options
, prefix ? ""
}:

with stdenv.lib;
let
inherit (python2Packages) python dbus-python;
shouldUsePkg = pkg: if pkg != null && pkg.meta.available then pkg else null;

libOnly = prefix == "lib";

optDbus = if stdenv.isDarwin then null else shouldUsePkg dbus;
optPythonDBus = if libOnly then null else shouldUsePkg dbus-python;
optLibffado = if libOnly then null else shouldUsePkg libffado;
optAlsaLib = if libOnly then null else shouldUsePkg alsaLib;
optPythonDBus = shouldUsePkg dbus-python;
optLibffado = shouldUsePkg libffado;
optAlsaLib = shouldUsePkg alsaLib;
optLibopus = shouldUsePkg libopus;
in
stdenv.mkDerivation rec {
name = "${prefix}jack2-${version}";
name = "jack2-${version}";
version = "1.9.12";

src = fetchFromGitHub {
Expand Down Expand Up @@ -75,12 +70,8 @@ stdenv.mkDerivation rec {

installPhase = ''
python waf install
'' + (if libOnly then ''
rm -rf $out/{bin,share}
rm -rf $out/lib/{jack,libjacknet*,libjackserver*}
'' else ''
wrapProgram $out/bin/jack_control --set PYTHONPATH $PYTHONPATH
'');
'';

meta = {
description = "JACK audio connection kit, version 2 with jackdbus";
Expand Down
13 changes: 2 additions & 11 deletions pkgs/os-specific/linux/ffado/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,12 @@
# Optional dependencies
, libjack2 ? null, dbus ? null, dbus_cplusplus ? null, alsaLib ? null
, pyqt4 ? null, dbus-python ? null, xdg_utils ? null

# Other Flags
, prefix ? ""
}:

let

shouldUsePkg = pkg: if pkg != null && pkg.meta.available then pkg else null;

libOnly = prefix == "lib";

optLibjack2 = shouldUsePkg libjack2;
optDbus = shouldUsePkg dbus;
optDbus_cplusplus = shouldUsePkg dbus_cplusplus;
Expand All @@ -24,7 +19,7 @@ let
optXdg_utils = shouldUsePkg xdg_utils;
in
stdenv.mkDerivation rec {
name = "${prefix}ffado-${version}";
name = "ffado-${version}";
version = "2.4.0";

src = fetchurl {
Expand All @@ -36,7 +31,6 @@ stdenv.mkDerivation rec {

buildInputs = [
expat libraw1394 libconfig libavc1394 libiec61883
] ++ stdenv.lib.optionals (!libOnly) [
optLibjack2 optDbus optDbus_cplusplus optAlsaLib optPyqt4
optXdg_utils libxmlxx glibmm
];
Expand Down Expand Up @@ -69,10 +63,7 @@ stdenv.mkDerivation rec {
SERIALIZE_USE_EXPAT=True \
'';

installPhase = if libOnly then ''
scons PREFIX=$TMPDIR UDEVDIR=$TMPDIR \
LIBDIR=$out/lib INCLUDEDIR=$out/include install
'' else ''
installPhase = ''
scons PREFIX=$out PYPKGDIR=$PYDIR UDEVDIR=$out/lib/udev/rules.d install
'' + stdenv.lib.optionalString (optPyqt4 != null && optPythonDBus != null) ''
wrapProgram $out/bin/ffado-mixer --prefix PYTHONPATH : \
Expand Down
41 changes: 17 additions & 24 deletions pkgs/servers/pulseaudio/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

, x11Support ? false

, useSystemd ? true
, useSystemd ? stdenv.isLinux

, # Whether to support the JACK sound system as a backend.
jackaudioSupport ? false
Expand All @@ -28,14 +28,11 @@

, zeroconfSupport ? false

, # Whether to build only the library.
libOnly ? false

, CoreServices, AudioUnit, Cocoa
}:

stdenv.mkDerivation rec {
name = "${if libOnly then "lib" else ""}pulseaudio-${version}";
name = "pulseaudio-${version}";
version = "11.1";

src = fetchurl {
Expand Down Expand Up @@ -63,20 +60,18 @@ stdenv.mkDerivation rec {

buildInputs =
[ libtool libsndfile speexdsp fftwFloat ]
++ lib.optionals stdenv.isLinux [ glib dbus ]
++ lib.optionals stdenv.isLinux [ glib libasyncns webrtc-audio-processing ]
++ lib.optionals stdenv.isDarwin [ CoreServices AudioUnit Cocoa ]
++ lib.optionals (!libOnly) (
[ libasyncns webrtc-audio-processing ]
++ lib.optional jackaudioSupport libjack2
++ lib.optionals x11Support [ xorg.xlibsWrapper xorg.libXtst xorg.libXi ]
++ lib.optional useSystemd systemd
++ lib.optionals stdenv.isLinux [ alsaLib udev ]
++ lib.optional airtunesSupport openssl
++ lib.optional gconfSupport gconf
++ lib.optionals bluetoothSupport [ bluez5 sbc ]
++ lib.optional remoteControlSupport lirc
++ lib.optional zeroconfSupport avahi
);
++ lib.optional jackaudioSupport libjack2
++ lib.optionals x11Support [ xorg.xlibsWrapper xorg.libXtst xorg.libXi ]
++ lib.optional useSystemd systemd
++ lib.optionals stdenv.isLinux [ alsaLib udev ]
++ lib.optional airtunesSupport openssl
++ lib.optional gconfSupport gconf
++ lib.optionals bluetoothSupport [ bluez5 sbc ]
++ lib.optional remoteControlSupport lirc
++ lib.optional zeroconfSupport avahi
;

preConfigure = ''
# Performs and autoreconf
Expand Down Expand Up @@ -104,7 +99,7 @@ stdenv.mkDerivation rec {
"--with-access-group=audio"
"--with-bash-completion-dir=\${out}/share/bash-completions/completions"
]
++ lib.optional (jackaudioSupport && !libOnly) "--enable-jack"
++ lib.optional jackaudioSupport "--enable-jack"
++ lib.optional stdenv.isDarwin "--with-mac-sysroot=/"
++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=\${out}/lib/systemd/user";

Expand All @@ -122,11 +117,9 @@ stdenv.mkDerivation rec {
"pulseconfdir=$(out)/etc/pulse"
];

postInstall = lib.optionalString libOnly ''
rm -rf $out/{bin,share,etc,lib/{pulse-*,systemd}}
sed 's|-lltdl|-L${libtool.lib}/lib -lltdl|' -i $out/lib/pulseaudio/libpulsecore-${version}.la
''
+ ''moveToOutput lib/cmake "$dev" '';
postInstall = ''
moveToOutput lib/cmake "$dev"
'';

meta = {
description = "Sound server for POSIX and Win32 systems";
Expand Down
5 changes: 5 additions & 0 deletions pkgs/top-level/aliases.nix
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,17 @@ mapAliases (rec {
libcap_manpages = libcap.doc; # added 2016-04-29
libcap_pam = if stdenv.isLinux then libcap.pam else null; # added 2016-04-29
libcap_progs = libcap.out; # added 2016-04-29
libffado = ffadoFull; # added 2018-04-25
libgnome_keyring = libgnome-keyring; # added 2018-02-25
libgnome_keyring3 = libgnome-keyring3; # added 2018-02-25
libgumbo = gumbo; # added 2018-01-21
libheimdal = heimdalFull; # added 2018-04-25
libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux || hostPlatform.libc != "glibc") gettext; # added 2018-03-14
libjack2 = jack2Full; # added 2018-04-25
libjson_rpc_cpp = libjson-rpc-cpp; # added 2017-02-28
libmysql = mysql.connector-c; # added # 2017-12-28, this was a misnomer refering to libmysqlclient
libtidy = html-tidy; # added 2014-12-21
libv4l = v4l_utils.dev; # added 2018-04-25
links = links2; # added 2016-01-31
lttngTools = lttng-tools; # added 2014-07-31
lttngUst = lttng-ust; # added 2014-07-31
Expand Down Expand Up @@ -162,6 +166,7 @@ mapAliases (rec {
pidginwindowmerge = pidgin-window-merge; # added 2018-01-08
postage = pgmanage; # added 2017-11-03
poppler_qt5 = libsForQt5.poppler; # added 2015-12-19
poppler_utils = poppler.bin; # added 2018-04-25
PPSSPP = ppsspp; # added 2017-10-01
prometheus-statsd-bridge = prometheus-statsd-exporter; # added 2017-08-27
qca-qt5 = libsForQt5.qca-qt5; # added 2015-12-19
Expand Down
Loading