Skip to content

Commit

Permalink
Merge branch 'master.upstream' into staging.upstream
Browse files Browse the repository at this point in the history
  • Loading branch information
wkennington committed Nov 14, 2015
2 parents fc8562c + 6e18a33 commit 453f7c7
Show file tree
Hide file tree
Showing 44 changed files with 561 additions and 152 deletions.
21 changes: 21 additions & 0 deletions doc/haskell-users-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,27 @@ to find out the store path of the system's zlib library. Now, you can
The same thing applies to `cabal configure`, of course, if you're
building with `cabal-install` instead of Stack.

## Creating statically linked binaries

There are two levels of static linking. The first option is to configure the
build with the Cabal flag `--disable-executable-dynamic`. In Nix expressions,
this can be achieved by setting the attribute:

enableSharedExecutables = false;

That gives you a binary with statically linked Haskell libraries and
dynamically linked system libraries.

To link both Haskell libraries and system libraries statically, the additional
flags `--ghc-option=-optl=-static --ghc-option=-optl=-pthread` need to be used.
In Nix, this is accomplished with:

configureFlags = [ "--ghc-option=-optl=-static" "--ghc-option=-optl=-pthread" ];

It's important to realize, however, that most system libraries in Nix are built
as shared libraries only, i.e. there is just no static library available that
Cabal could link!


# Other resources

Expand Down
2 changes: 2 additions & 0 deletions lib/maintainers.nix
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@
jwilberding = "Jordan Wilberding <jwilberding@afiniate.com>";
jzellner = "Jeff Zellner <jeffz@eml.cc>";
kamilchm = "Kamil Chmielewski <kamil.chm@gmail.com>";
kampfschlaefer = "Arnold Krille <arnold@arnoldarts.de>";
khumba = "Bryan Gardiner <bog@khumba.net>";
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
koral = "Koral <koral@mailoo.org>";
Expand Down Expand Up @@ -188,6 +189,7 @@
meditans = "Carlo Nucera <meditans@gmail.com>";
meisternu = "Matt Miemiec <meister@krutt.org>";
michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
mirdhyn = "Merlin Gaillard <mirdhyn@gmail.com>";
mschristiansen = "Mikkel Christiansen <mikkel@rheosystems.com>";
modulistic = "Pablo Costa <modulistic@gmail.com>";
Expand Down
20 changes: 19 additions & 1 deletion nixos/modules/services/mail/opensmtpd.nix
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,17 @@ in {
is left empty, the OpenSMTPD server will not start.
'';
};

procPackages = mkOption {
type = types.listOf types.path;
default = [];
description = ''
Packages to search for filters, tables, queues, and schedulers.
Add OpenSMTPD-extras here if you want to use the filters, etc. from
that package.
'';
};
};

};
Expand All @@ -72,12 +83,19 @@ in {
};
};

systemd.services.opensmtpd = {
systemd.services.opensmtpd = let
procEnv = pkgs.buildEnv {
name = "opensmtpd-procs";
paths = [ opensmtpd ] ++ cfg.procPackages;
pathsToLink = [ "/libexec/opensmtpd" ];
};
in {
wantedBy = [ "multi-user.target" ];
wants = [ "network.target" ];
after = [ "network.target" ];
preStart = "mkdir -p /var/spool";
serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";
environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd";
};

environment.systemPackages = [ (pkgs.runCommand "opensmtpd-sendmail" {} ''
Expand Down
5 changes: 2 additions & 3 deletions nixos/modules/services/networking/networkmanager.nix
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,10 @@ let
${coreutils}/bin/rm -f $tmp $tmp.ns
'';

# pre-up and pre-down hooks were added in NM 0.9.10, but we still use 0.9.0
dispatcherTypesSubdirMap = {
"basic" = "";
/*"pre-up" = "pre-up.d/";
"pre-down" = "pre-down.d/";*/
"pre-up" = "pre-up.d/";
"pre-down" = "pre-down.d/";
};

in {
Expand Down
1 change: 0 additions & 1 deletion nixos/modules/services/web-servers/lighttpd/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ let
"mod_flv_streaming"
"mod_magnet"
"mod_mysql_vhost"
"mod_rewrite"
"mod_scgi"
"mod_setenv"
"mod_trigger_b4_dl"
Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/tasks/network-interfaces.nix
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ let
# place the interface which is named after the device at the beginning.
wlanListDeviceFirst = device: interfaces:
if hasAttr device interfaces
then [{"${device}"=interfaces.device; _iName=device;}] ++ mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n!=device) interfaces)
then mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n==device) interfaces) ++ mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n!=device) interfaces)
else mapAttrsToList (n: v: v // {_iName = n;}) interfaces;

# udev script that configures a physical wlan device and adds virtual interfaces
Expand Down
8 changes: 5 additions & 3 deletions pkgs/applications/audio/audacity/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, wxGTK, pkgconfig, gettext, gtk, glib, zlib, perl, intltool,
libogg, libvorbis, libmad, alsaLib, libsndfile, soxr, flac, lame,
expat, libid3tag, ffmpeg /*, portaudio - given up fighting their portaudio.patch */
expat, libid3tag, ffmpeg, soundtouch /*, portaudio - given up fighting their portaudio.patch */
}:

stdenv.mkDerivation rec {
Expand All @@ -19,11 +19,13 @@ stdenv.mkDerivation rec {
rm -r lib-src-rm/
'';

configureFlags = "--with-libsamplerate";

buildInputs = [
pkgconfig gettext wxGTK gtk expat alsaLib
libsndfile soxr libid3tag
ffmpeg libmad lame libvorbis flac
]; #ToDo: soundtouch, detach sbsms
ffmpeg libmad lame libvorbis flac soundtouch
]; #ToDo: detach sbsms

dontDisableStatic = true;
doCheck = true;
Expand Down
35 changes: 35 additions & 0 deletions pkgs/applications/audio/jackmix/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{ stdenv, fetchurl, pkgs, jack ? pkgs.libjack2 }:

stdenv.mkDerivation rec {
name = "jackmix-0.5.2";
src = fetchurl {
url = https://github.com/kampfschlaefer/jackmix/archive/v0.5.2.tar.gz;
sha256 = "18f5v7g66mgarhs476frvayhch7fy4nyjf2xivixc061ipn0m82j";
};

buildInputs = [
pkgs.pkgconfig
pkgs.scons
pkgs.kde4.qt4
pkgs.lash
jack
];

buildPhase = ''
scons
'';
installPhase = ''
mkdir -p $out/bin
cp jackmix/jackmix $out/bin
'';

meta = {
description = "Matrix-Mixer for the Jack-Audio-connection-Kit";
homepage = http://www.arnoldarts.de/jackmix/;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.kampfschlaefer ];
platforms = stdenv.lib.platforms.linux;
};
}


4 changes: 2 additions & 2 deletions pkgs/applications/display-managers/lightdm/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

let
ver_branch = "1.16";
version = "1.16.3";
version = "1.16.5";
in
stdenv.mkDerivation rec {
name = "lightdm-${version}";

src = fetchurl {
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
sha256 = "0jsvpg86nzwzacnr1bfzw81432j6m6lg2daqgy04ywj976k0x2y8";
sha256 = "1qb3gvwdm2rymwn8rb1qc4gyam226xmvy2fq5rvmrcmgxblmi34c";
};

patches = [ ./fix-paths.patch ];
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/graphics/gimp/plugins/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ rec {

/* =============== simple script files ==================== */

# also have a look at enblendenfuse in all-packages.nix
# also have a look at enblend-enfuse in all-packages.nix
exposureBlend = scriptDerivation {
name = "exposure-blend";
src = fetchurl {
Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/graphics/hugin/default.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ stdenv, cmake, fetchurl, gnumake, pkgconfig
, boost, gettext, tclap, wxGTK
, freeglut, glew, libXi, libXmu, mesa
, autopanosiftc, enblendenfuse, exiv2, ilmbase, lensfun, libpng, libtiff
, autopanosiftc, enblend-enfuse, exiv2, ilmbase, lensfun, libpng, libtiff
, openexr, panotools, perlPackages
}:

Expand Down Expand Up @@ -29,7 +29,7 @@ stdenv.mkDerivation rec {

# commandline tools needed by the hugin batch processor
# you may have to tell hugin (in the preferences) where these binaries reside
propagatedUserEnvPackages = [ autopanosiftc enblendenfuse gnumake
propagatedUserEnvPackages = [ autopanosiftc enblend-enfuse gnumake
perlPackages.ImageExifTool
];

Expand Down
6 changes: 4 additions & 2 deletions pkgs/applications/networking/ids/daq/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{stdenv, fetchurl, flex, bison, libpcap}:
{stdenv, fetchurl, flex, bison, libpcap, libdnet, libnfnetlink, libnetfilter_queue}:

stdenv.mkDerivation rec {
name = "daq-2.0.5";
Expand All @@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0vdwb0r9kdlgj4g0i0swafbc7qik0zmks17mhqji8cl7hpdva13p";
};

buildInputs = [ flex bison libpcap ];
buildInputs = [ flex bison libpcap libdnet libnfnetlink libnetfilter_queue];

configureFlags = "--enable-nfq-module=yes --with-dnet-includes=${libdnet}/includes --with-dnet-libraries=${libdnet}/lib";

meta = {
description = "Data AcQuisition library (DAQ), for packet I/O";
Expand Down
44 changes: 44 additions & 0 deletions pkgs/applications/networking/iptraf-ng/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{ stdenv, fetchurl, ncurses }:

stdenv.mkDerivation rec {
version = "1.1.4";
name = "iptraf-ng-${version}";

src = fetchurl {
url = "https://fedorahosted.org/releases/i/p/iptraf-ng/${name}.tar.gz";
sha256 = "02gb8z9h2s6s1ybyikywz7jgb1mafdx88hijfasv3khcgkq0q53r";
};

buildInputs = [ ncurses ];

configurePhase = ''
./configure --prefix=$out/usr --sysconfdir=$out/etc \
--localstatedir=$out/var --sbindir=$out/bin
'';

meta = {
description = "A console-based network monitoring utility (fork of iptraf)";
longDescription = ''
IPTraf-ng is a console-based network monitoring utility. IPTraf-ng
gathers data like TCP connection packet and byte counts, interface
statistics and activity indicators, TCP/UDP traffic breakdowns, and LAN
station packet and byte counts. IPTraf-ng features include an IP traffic
monitor which shows TCP flag information, packet and byte counts, ICMP
details, OSPF packet types, and oversized IP packet warnings; interface
statistics showing IP, TCP, UDP, ICMP, non-IP and other IP packet counts,
IP checksum errors, interface activity and packet size counts; a TCP and
UDP service monitor showing counts of incoming and outgoing packets for
common TCP and UDP application ports, a LAN statistics module that
discovers active hosts and displays statistics about their activity; TCP,
UDP and other protocol display filters so you can view just the traffic
you want; logging; support for Ethernet, FDDI, ISDN, SLIP, PPP, and
loopback interfaces; and utilization of the built-in raw socket interface
of the Linux kernel, so it can be used on a wide variety of supported
network cards.
'';
homepage = https://fedorahosted.org/iptraf-ng/;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.devhell ];
};
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, docutils, python }:

let version = "0.9.0"; in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "git-hub-${version}";

src = fetchFromGitHub {
Expand All @@ -11,20 +11,6 @@ stdenv.mkDerivation {
owner = "sociomantic";
};

meta = with stdenv.lib; {
inherit version;
description = "Git command line interface to GitHub";
longDescription = ''
A simple command line interface to GitHub, enabling most useful GitHub
tasks (like creating and listing pull request or issues) to be accessed
directly through the Git command line.
'';
homepage = https://github.com/sociomantic/git-hub;
license = licenses.gpl3Plus;
platforms = with platforms; linux;
maintainers = with maintainers; [ nckx ];
};

buildInputs = [ python ];
nativeBuildInputs = [ docutils ];

Expand All @@ -41,4 +27,18 @@ stdenv.mkDerivation {
# Remove inert ftdetect vim plugin and a README that's a man page subset:
rm -r $out/share/{doc,vim}
'';

meta = with stdenv.lib; {
inherit version;
inherit (src.meta) homepage;
description = "Git command line interface to GitHub";
longDescription = ''
A simple command line interface to GitHub, enabling most useful GitHub
tasks (like creating and listing pull request or issues) to be accessed
directly through the Git command line.
'';
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ nckx ];
};
}
16 changes: 14 additions & 2 deletions pkgs/applications/version-management/subversion/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,34 @@
, stdenv, fetchurl, apr, aprutil, zlib, sqlite
, apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
, sasl ? null, serf ? null
, branch ? "1.9"
}:

assert bdbSupport -> aprutil.bdbSupport;
assert httpServer -> apacheHttpd != null;
assert pythonBindings -> swig != null && python != null;
assert javahlBindings -> jdk != null && perl != null;

let
config = {
"1.9".ver_min = "2";
"1.9".sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";

"1.8".ver_min = "14";
"1.8".sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497";
};
in
assert builtins.hasAttr branch config;

stdenv.mkDerivation (rec {

version = "1.9.2";
version = "${branch}." + config.${branch}.ver_min;

name = "subversion-${version}";

src = fetchurl {
url = "mirror://apache/subversion/${name}.tar.bz2";
sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";
inherit (config.${branch}) sha1;
};

buildInputs = [ zlib apr aprutil sqlite ]
Expand Down
8 changes: 4 additions & 4 deletions pkgs/applications/video/smplayer/default.nix
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{ stdenv, fetchurl, qt4 }:
{ stdenv, fetchurl, qt5 }:

stdenv.mkDerivation rec {
name = "smplayer-14.9.0.6690";
name = "smplayer-15.9.0";

src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "0nmw69kg8rqvl9icyx1r1v1pyxg6560363l0kyqyja18j79a3j2y";
sha256 = "1yx6kikaj9v5aj8aavvrcklx283wl6wrnpl905hjc7v03kgp1ac5";
};

patches = [ ./basegui.cpp.patch ];

buildInputs = [ qt4 ];
buildInputs = [ qt5.script ];

preConfigure = ''
makeFlags="PREFIX=$out"
Expand Down
Loading

0 comments on commit 453f7c7

Please sign in to comment.