Revert "Revert "Merge pull request #9543 from NixOS/staging.post-15.06""

This reverts commit 741bf840da.

This reverts the fallout from reverting the major changes.
This commit is contained in:
William A. Kennington III 2015-11-14 12:32:51 -08:00
parent e4feccce81
commit 6602f49495
42 changed files with 579 additions and 140 deletions

View File

@ -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

View File

@ -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>";
@ -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>";

View File

@ -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.
'';
};
};
};
@ -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" {} ''

View File

@ -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 {

View File

@ -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

View File

@ -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 {
@ -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;

View File

@ -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;
};
}

View File

@ -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 {

View File

@ -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
}:
@ -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
];

View File

@ -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";
@ -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";

View File

@ -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 ];
};
}

View File

@ -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 {
@ -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 ];
@ -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 ];
};
}

View File

@ -8,6 +8,7 @@
, 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;
@ -15,15 +16,26 @@ 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 ]

View File

@ -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"

View File

@ -157,11 +157,19 @@ let
setupLibDirs = if isTargetBuild then setupLibDirs_target
else setupLibDirs_multi;
setupIncludeDir = ''
if [ -x "${staticUsrProfileTarget}/include" ]
then
ln -s "${staticUsrProfileTarget}/include"
fi
'';
# the target profile is the actual profile that will be used for the chroot
setupTargetProfile = ''
mkdir -m0755 usr
cd usr
${setupLibDirs}
${setupIncludeDir}
for i in bin sbin share include; do
cp -r "${staticUsrProfileTarget}/$i" $i
done

View File

@ -20,7 +20,7 @@
{ lib, fetchurl, writeScript, ruby, libxml2, libxslt, python, stdenv, which
, libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
, pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
, cmake, libssh2, openssl, mysql
, cmake, libssh2, openssl, mysql, darwin
}:
let
@ -70,6 +70,7 @@ in
"--with-exslt-lib=${libxslt}/lib"
"--with-exslt-include=${libxslt}/include"
] ++ lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}";
buildInputs = lib.optional stdenv.isDarwin darwin.libobjc;
};
pg = attrs: {
@ -119,6 +120,10 @@ in
'';
};
unf_ext = attrs: {
buildInputs = lib.optional stdenv.isDarwin darwin.libobjc;
};
xapian-ruby = attrs: {
# use the system xapian
buildInputs = [ xapian pkgconfig zlib ];

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "glpk-4.52.1";
name = "glpk-4.56";
src = fetchurl {
url = "mirror://gnu/glpk/${name}.tar.gz";
sha256 = "0nz9ngmx23c8gbjr8l8ygnfaanxj2mwbl8awpg630bgrkxdnhc9j";
sha256 = "0syzix6qvpn0fzp08c84c8snansf1cam5vd0dk2w91mz2c85d18h";
};
doCheck = true;

View File

@ -10,10 +10,10 @@ stdenv.mkDerivation {
sha1 = "71302be302e84fc19b559e811951b5d600d976f8";
};
configureFlags = [ "--enable-shared" ]; # shared libs required by hyenae
buildInputs = [ automake autoconf libtool ];
CFLAGS="-fPIC";
# .so endings are missing (quick and dirty fix)
postInstall = ''
for i in $out/lib/*; do

View File

@ -1,17 +0,0 @@
{ stdenv }:
assert stdenv.isDarwin;
stdenv.mkDerivation {
name = "libunwind-native";
unpackPhase = ":";
dontBuild = true;
installPhase = ''
mkdir -p $out/lib
cat /usr/lib/system/libunwind.dylib > $out/lib/libunwind.dylib
'';
meta.platforms = stdenv.lib.platforms.darwin;
}

View File

@ -14,11 +14,12 @@ let
in
stdenv.mkDerivation rec {
name = "neon-0.29.6";
version = "0.30.1";
name = "neon-${version}";
src = fetchurl {
url = "http://www.webdav.org/neon/${name}.tar.gz";
sha256 = "0hzbjqdx1z8zw0vmbknf159wjsxbcq8ii0wgwkqhxj3dimr0nr4w";
sha256 = "1pawhk02x728xn396a1kcivy9gqm94srmgad6ymr9l0qvk02dih0";
};
patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];

View File

@ -0,0 +1,24 @@
diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
--- a/tools/gyp/pylib/gyp/xcode_emulation.py 2014-01-23 06:05:51.000000000 +0100
+++ b/tools/gyp/pylib/gyp/xcode_emulation.py 2014-02-04 17:49:48.000000000 +0100
@@ -1018,12 +1033,16 @@
# Since the value returned by this function is only used when ARCHS is not
# set, then on iOS we return "i386", as the default xcode project generator
# does not set ARCHS if it is not set in the .gyp file.
- if self.isIOS:
+
+ try:
+ if self.isIOS:
+ return 'i386'
+ version, build = self._XcodeVersion()
+ if version >= '0500':
+ return 'x86_64'
return 'i386'
- version, build = self._XcodeVersion()
- if version >= '0500':
+ except:
return 'x86_64'
- return 'i386'
class MacPrefixHeader(object):
"""A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.

View File

@ -38,12 +38,13 @@ in stdenv.mkDerivation {
dontDisableStatic = true;
prePatch = ''
patchShebangs .
sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' tools/gyp/pylib/gyp/xcode_emulation.py
'';
patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode.patch ./pkg-libpath.patch ];
buildInputs = [ python which http-parser zlib libuv openssl python ]
++ (optional stdenv.isLinux utillinux)
buildInputs = [ python which zlib libuv openssl python ]
++ optionals stdenv.isLinux [ utillinux http-parser ]
++ optionals stdenv.isDarwin [ pkgconfig openssl libtool ];
setupHook = ./setup-hook.sh;

View File

@ -70,24 +70,3 @@ diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_
def AdjustLibraries(self, libraries, config_name=None):
"""Transforms entries like 'Cocoa.framework' in libraries into entries like
@@ -1018,12 +1033,16 @@
# Since the value returned by this function is only used when ARCHS is not
# set, then on iOS we return "i386", as the default xcode project generator
# does not set ARCHS if it is not set in the .gyp file.
- if self.isIOS:
+
+ try:
+ if self.isIOS:
+ return 'i386'
+ version, build = self._XcodeVersion()
+ if version >= '0500':
+ return 'x86_64'
return 'i386'
- version, build = self._XcodeVersion()
- if version >= '0500':
+ except:
return 'x86_64'
- return 'i386'
class MacPrefixHeader(object):
"""A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature.

View File

@ -0,0 +1,13 @@
diff --git a/configure b/configure
index d199975..66d903b 100755
--- a/configure
+++ b/configure
@@ -734,7 +734,7 @@ def configure_library(lib, output):
# libpath needs to be provided ahead libraries
if pkg_libpath:
output['libraries'] += (
- filter(None, map(str.strip, pkg_cflags.split('-L'))))
+ pkg_libpath.split())
default_libs = getattr(options, shared_lib + '_libname')
default_libs = map('-l{0}'.format, default_libs.split(','))

View File

@ -42,7 +42,7 @@ in stdenv.mkDerivation {
patchShebangs .
'';
patches = stdenv.lib.optional stdenv.isDarwin ./no-xcode.patch;
patches = stdenv.lib.optionals stdenv.isDarwin [ ./default-arch.patch ./no-xcode.patch ];
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
(cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch})

View File

@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ optAlsaLib optDb optLibuuid optLibffado optCelt ];
buildInputs = [ optAlsaLib optDb optLibffado optCelt ];
propagatedBuildInputs = [ optLibuuid ];
meta = with stdenv.lib; {
description = "JACK audio connection kit";

View File

@ -0,0 +1,42 @@
{ stdenv, fetchgit, gcc, gmp, libsigsegv, openssl, automake, autoconf, ragel,
cmake, re2c, libtool, ncurses, perl, zlib, python }:
stdenv.mkDerivation rec {
name = "urbit-${version}";
version = "2015.09.26";
src = fetchgit {
url = "https://github.com/urbit/urbit.git";
rev = "c9592664c797b2dd74f26886528656f8a7058640";
sha256 = "0sgrxnmpqh54mgar81wlb6gff8c0pc24p53xwxr448g5shvnzjx9";
};
buildInputs = with stdenv.lib; [
gcc gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool
ncurses perl zlib python
];
configurePhase = ''
:
'';
buildPhase = ''
sed -i 's/-lcurses/-lncurses/' Makefile
mkdir -p $out
cp -r . $out/
cd $out
make
'';
installPhase = ''
:
'';
meta = with stdenv.lib; {
description = "an operating function";
homepage = http://urbit.org/preview/~2015.9.25/materials;
license = licenses.mit;
maintainers = with maintainers; [ mudri ];
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, udev, systemd, glib, readline }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "miraclecast-0.0-git-20151002";
src = fetchFromGitHub {
owner = "albfan";
repo = "miraclecast";
rev = "30b8c2d22391423f76ba582aaaa1e0936869103a";
sha256 = "0i076n76kq64fayc7v06gr1853pk5r6ms86m57vd1xsjd0r9wyxd";
};
# INFO: It is important to list 'systemd' first as for now miraclecast
# links against a customized systemd. Otherwise, a systemd package from
# a propagatedBuildInput could take precedence.
buildInputs = [ systemd autoreconfHook pkgconfig udev glib readline ];
meta = {
homepage = https://github.com/albfan/miraclecast;
description = "Connect external monitors via Wi-Fi";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ tstrobel ];
platforms = platforms.linux;
};
}

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation {
sha256 = "1c7ar39wc8jpqh67sw03lwnyp0m9l6dad469ybqrgcywdiwxspwj";
};
patches = [ ./linux4compat.patch ];
preConfigure = ''
sed -i 's|/sbin/depmod|#/sbin/depmod|' Makefile
'';

View File

@ -0,0 +1,22 @@
From 2bf6f08b2492cc04a2c39fdcb22a2d0c18963d1c Mon Sep 17 00:00:00 2001
From: sonic414 <sonic414@gmail.com>
Date: Tue, 28 Apr 2015 19:30:15 +0530
Subject: [PATCH] strnicmp to strncasecmp in Linux 4.0.0
---
nvidiabl-module.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/nvidiabl-module.c b/nvidiabl-module.c
index b789ea4..b306579 100644
--- a/nvidiabl-module.c
+++ b/nvidiabl-module.c
@@ -214,7 +214,7 @@ static int __init nvidiabl_init(void)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)
for (iii = 0 ; iii < sizeof(backlight_type_ids) ; iii++) {
- if (strnicmp(bl_type, backlight_type_ids[iii].id, sizeof(bl_type)) == 0) {
+ if (strncasecmp(bl_type, backlight_type_ids[iii].id, sizeof(bl_type)) == 0) {
props.type = backlight_type_ids[iii].type;
printk(KERN_INFO "nvidiabl: backlight type is %s\n", backlight_type_ids[iii].id);
}

View File

@ -8,8 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "03l5iifwlg1wyb4yh98i0b7pd4j55a1c9y74q1frs47a5dnrilr6";
};
# gcc5-fix should be in 6.04+, so remove if it fails to apply.
patches = [ ./perl-deps.patch ./gcc5-fix.patch ];
patches = [ ./perl-deps.patch ];
buildInputs = [ nasm perl libuuid ];

View File

@ -1,26 +0,0 @@
diff --git a/com32/include/menu.h b/com32/include/menu.h
index bc0182f..b0251e4 100644
--- a/com32/include/menu.h
+++ b/com32/include/menu.h
@@ -195,7 +195,7 @@ void local_cursor_enable(bool);
static inline int my_isspace(char c)
{
- return (unsigned char)c <= ' ';
+ return (unsigned char)c <= ' ' || (unsigned char)c == '\x7f';
}
int my_isxdigit(char c);
diff --git a/com32/menu/readconfig.c b/com32/menu/readconfig.c
index b7814be..a433fad 100644
--- a/com32/menu/readconfig.c
+++ b/com32/menu/readconfig.c
@@ -299,7 +299,7 @@ static char *copy_sysappend_string(char *dst, const char *src)
char c;
while ((c = *src++)) {
- if (c <= ' ' && c == '\x7f') {
+ if (my_isspace(c)) {
if (!was_space)
*dst++ = '_';
was_space = true;

View File

@ -4,6 +4,7 @@
, kexectools, libmicrohttpd, linuxHeaders, libseccomp
, autoreconfHook, gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45
, pythonPackages ? null, pythonSupport ? false
, enableKDbus ? false
}:
assert stdenv.isLinux;
@ -65,7 +66,7 @@ stdenv.mkDerivation rec {
"--with-sysvinit-path="
"--with-sysvrcnd-path="
"--with-rc-local-script-path-stop=/etc/halt.local"
];
] ++ stdenv.lib.optional enableKDbus "--enable-kdbus";
preConfigure =
''

View File

@ -4,16 +4,18 @@
stdenv.mkDerivation rec {
name = "opensmtpd-${version}";
version = "5.4.5p1";
version = "5.7.1p1";
nativeBuildInputs = [ autoconf automake libtool bison ];
buildInputs = [ libasr libevent zlib openssl db pam ];
src = fetchurl {
url = "http://www.opensmtpd.org/archives/${name}.tar.gz";
sha256 = "15sicrpqsgg72igdckkwpmbgrapcjbfjsdrvm0zl8z13kgp6r4ks";
sha256 = "67e9dd9682ca8c181e84e66c76245a4a8f6205834f915a2c021cdfeb22049e3a";
};
patches = [ ./proc_path.diff ];
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
@ -24,6 +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}"
];
installFlags = [

View File

@ -0,0 +1,79 @@
{ stdenv, fetchurl, openssl, libevent, libasr,
python2, pkgconfig, lua5, perl, mariadb, postgresql, sqlite, hiredis }:
stdenv.mkDerivation rec {
name = "opensmtpd-extras-${version}";
version = "5.7.1";
src = fetchurl {
url = "https://www.opensmtpd.org/archives/${name}.tar.gz";
sha256 = "1kld4hxgz792s0cb2gl7m2n618ikzqkj88w5dhaxdrxg4x2c4vdm";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl libevent
libasr python2 lua5 perl mariadb postgresql sqlite hiredis ];
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
"--with-privsep-user=smtpd"
"--with-libevent-dir=${libevent}"
"--with-filter-clamav"
"--with-filter-dkim-signer"
"--with-filter-dnsbl"
"--with-filter-monkey"
"--with-filter-pause"
"--with-filter-regex"
"--with-filter-spamassassin"
"--with-filter-stub"
"--with-filter-trace"
"--with-filter-void"
"--with-queue-null"
"--with-queue-ram"
"--with-queue-stub"
"--with-table-ldap"
"--with-table-socketmap"
"--with-table-passwd"
"--with-table-stub"
"--with-scheduler-ram"
"--with-scheduler-stub"
] ++ stdenv.lib.optional (python2 != null) [
"--with-python=${python2}"
"--with-filter-python"
"--with-queue-python"
"--with-table-python"
"--with-scheduler-python"
] ++ stdenv.lib.optional (lua5 != null) [
"--with-lua=${pkgconfig}"
"--with-filter-lua"
] ++ stdenv.lib.optional (perl != null) [
"--with-perl=${perl}"
"--with-filter-perl"
] ++ stdenv.lib.optional (mariadb != null) [
"--with-table-mysql"
] ++ stdenv.lib.optional (postgresql != null) [
"--with-table-postgres"
] ++ stdenv.lib.optional (sqlite != null) [
"--with-table-sqlite"
] ++ stdenv.lib.optional (hiredis != null) [
"--with-table-redis"
];
NIX_CFLAGS_COMPILE = stdenv.lib.optional (hiredis != null) [ "-I${hiredis}/include/hiredis" ];
meta = with stdenv.lib; {
homepage = https://www.opensmtpd.org/;
description = "Extra plugins for the OpenSMTPD mail server";
license = licenses.isc;
platforms = platforms.unix;
maintainers = with maintainers; [ gebner ];
};
}

View File

@ -0,0 +1,76 @@
diff -Naur opensmtpd-5.7.1p1/smtpd/parse.y opensmtpd-5.7.1p1.patched/smtpd/parse.y
--- opensmtpd-5.7.1p1/smtpd/parse.y 2015-06-30 10:13:34.000000000 +0200
+++ opensmtpd-5.7.1p1.patched/smtpd/parse.y 2015-09-26 08:41:17.012472516 +0200
@@ -2519,13 +2519,19 @@
{
struct filter_conf *f;
char *path;
+ const char *proc_path;
if (dict_get(&conf->sc_filters, name)) {
yyerror("filter \"%s\" already defined", name);
return (NULL);
}
- if (asprintf(&path, "%s/filter-%s", PATH_LIBEXEC, prog) == -1) {
+ proc_path = getenv("OPENSMTPD_PROC_PATH");
+ if (proc_path == NULL) {
+ proc_path = PATH_LIBEXEC;
+ }
+
+ if (asprintf(&path, "%s/filter-%s", proc_path, prog) == -1) {
yyerror("filter \"%s\" asprintf failed", name);
return (0);
}
diff -Naur opensmtpd-5.7.1p1/smtpd/smtpd.c opensmtpd-5.7.1p1.patched/smtpd/smtpd.c
--- opensmtpd-5.7.1p1/smtpd/smtpd.c 2015-06-30 10:13:34.000000000 +0200
+++ opensmtpd-5.7.1p1.patched/smtpd/smtpd.c 2015-09-26 08:41:16.998472557 +0200
@@ -854,6 +854,7 @@
char path[PATH_MAX];
char name[PATH_MAX];
char *arg;
+ char *proc_path;
if (strlcpy(name, conf, sizeof(name)) >= sizeof(name)) {
log_warnx("warn: %s-proc: conf too long", key);
@@ -864,7 +865,12 @@
if (arg)
*arg++ = '\0';
- if (snprintf(path, sizeof(path), PATH_LIBEXEC "/%s-%s", key, name) >=
+ proc_path = getenv("OPENSMTPD_PROC_PATH");
+ if (proc_path == NULL) {
+ proc_path = PATH_LIBEXEC;
+ }
+
+ if (snprintf(path, sizeof(path), "%s/%s-%s", proc_path, key, name) >=
(ssize_t)sizeof(path)) {
log_warn("warn: %s-proc: exec path too long", key);
return (-1);
diff -Naur opensmtpd-5.7.1p1/smtpd/table.c opensmtpd-5.7.1p1.patched/smtpd/table.c
--- opensmtpd-5.7.1p1/smtpd/table.c 2015-06-30 10:13:34.000000000 +0200
+++ opensmtpd-5.7.1p1.patched/smtpd/table.c 2015-09-26 08:41:17.005472536 +0200
@@ -201,6 +201,7 @@
struct table_backend *tb;
char buf[LINE_MAX];
char path[LINE_MAX];
+ const char *proc_path;
size_t n;
struct stat sb;
@@ -215,8 +216,14 @@
if (name && table_find(name, NULL))
fatalx("table_create: table \"%s\" already defined", name);
+ proc_path = getenv("OPENSMTPD_PROC_PATH");
+ if (proc_path == NULL) {
+ proc_path = PATH_LIBEXEC;
+ }
+
if ((tb = table_backend_lookup(backend)) == NULL) {
- if ((size_t)snprintf(path, sizeof(path), PATH_LIBEXEC "/table-%s",
+ if ((size_t)snprintf(path, sizeof(path), "%s/table-%s",
+ proc_path,
backend) >= sizeof(path)) {
fatalx("table_create: path too long \""
PATH_LIBEXEC "/table-%s\"", backend);

View File

@ -1,12 +1,14 @@
{ stdenv, fetchFromGitHub, autoreconfHook, gettext }:
let version = "0.5.2"; in
# The last release (0.5.2) is more than 2 years old and lacks features like -D,
# limiting its usefulness. Upstream appears comatose if not dead.
let version = "2014-07-03"; in
stdenv.mkDerivation {
name = "duff-${version}";
src = fetchFromGitHub {
sha256 = "0yfm910wjj6z0f0cg68x59ykf4ql5m49apzy8sra00f8kv4lpn53";
rev = version;
sha256 = "1k2dx38pjzc5d624vw1cs5ipj9fprsm5vqv55agksc29m63lswnx";
rev = "f26d4837768b062a3f98fa075c791d9c8a0bb75c";
repo = "duff";
owner = "elmindreda";
};
@ -14,10 +16,6 @@ stdenv.mkDerivation {
nativeBuildInputs = [ autoreconfHook gettext ];
preAutoreconf = ''
# duff is currently badly packaged, requiring us to do extra work here that
# should be done upstream. If that is ever fixed, this entire phase can be
# removed along with all buildInputs.
# gettexttize rightly refuses to run non-interactively:
cp ${gettext}/bin/gettextize .
substituteInPlace gettextize \
@ -30,14 +28,15 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
meta = with stdenv.lib; {
inherit version;
description = "Quickly find duplicate files";
homepage = http://duff.dreda.org/;
license = licenses.zlib;
longDescription = ''
Duff is a Unix command-line utility for quickly finding duplicates in
a given set of files.
'';
homepage = http://duff.dreda.org/;
license = licenses.zlib;
platforms = platforms.all;
maintainers = with maintainers; [ nckx ];
platforms = with platforms; all;
};
}

View File

@ -1,22 +1,24 @@
{ stdenv, fetchurl
, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libxmi, mesa, vigra
, pkgconfig, perl }:
, help2man, pkgconfig, perl }:
let version = "4.1.4"; in
stdenv.mkDerivation rec {
name = "enblend-enfuse-4.1.3";
name = "enblend-enfuse-${version}";
src = fetchurl {
url = "mirror://sourceforge/enblend/${name}.tar.gz";
sha256 = "1b7r1nnwaind0344ckwggy0ghl0ipbk9jzylsxcjfl05rnasw00w";
sha256 = "0208x01i129hqylmy6jh3krwdac47mx6fi8xccjm9h35c18c7xl5";
};
buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
nativeBuildInputs = [ perl pkgconfig ];
nativeBuildInputs = [ help2man perl pkgconfig ];
enableParallelBuilding = true;
meta = {
inherit version;
homepage = http://enblend.sourceforge.net/;
description = "Blends away the seams in a panoramic image mosaic using a multiresolution spline";
license = stdenv.lib.licenses.gpl2;

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, rustPlatform }:
with rustPlatform;
buildRustPackage rec {
name = "heatseeker-${version}";
version = "1.3.0";
depsSha256 = "03jap7myf85xgx9270sws8x57nl04a1wx8szrk9qx24s9vnnjcnh";
src = fetchFromGitHub {
owner = "rschmitt";
repo = "heatseeker";
rev = "v${version}";
sha256 = "1xdvwgmh9lwv82hv1qg82bjv2iplnvva6lzbg7dyhbszhv7rhkbl";
};
# some tests require a tty, this variable turns them off for Travis CI,
# which we can also make use of
TRAVIS= "true";
meta = with stdenv.lib; {
description = "A general-purpose fuzzy selector";
homepage = https://github.com/rschmitt/heatseeker;
license = stdenv.lib.licenses.mit;
maintainers = [ maintainers.michaelpj ];
};
}

View File

@ -848,6 +848,8 @@ let
gmic = callPackage ../tools/graphics/gmic { };
heatseeker = callPackage ../tools/misc/heatseeker { };
mathics = pythonPackages.mathics;
mcrl = callPackage ../tools/misc/mcrl { };
@ -1374,7 +1376,7 @@ let
emv = callPackage ../tools/misc/emv { };
enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { };
enblend-enfuse = callPackage ../tools/graphics/enblend-enfuse { };
encfs = callPackage ../tools/filesystems/encfs { };
@ -5066,7 +5068,6 @@ let
fetchurl = fetchurlBoot;
};
# Make perl522 the default once gnulib is updated to support it.
perl = perl520;
php = php56;
@ -7534,11 +7535,9 @@ let
libusbmuxd = callPackage ../development/libraries/libusbmuxd { };
libunwind = if stdenv.isDarwin
then libunwindNative
then darwin.libunwind
else callPackage ../development/libraries/libunwind { };
libunwindNative = callPackage ../development/libraries/libunwind/native.nix {};
libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv {
automake = automake113x; # fails with 14
inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
@ -9225,6 +9224,7 @@ let
openresty = callPackage ../servers/http/openresty { };
opensmtpd = callPackage ../servers/mail/opensmtpd { };
opensmtpd-extras = callPackage ../servers/mail/opensmtpd/extras.nix { };
openxpki = callPackage ../servers/openxpki { };
@ -10331,7 +10331,13 @@ let
sysklogd = callPackage ../os-specific/linux/sysklogd { };
syslinux = callPackage ../os-specific/linux/syslinux { };
syslinux = callPackage ../os-specific/linux/syslinux {
# Using GCC5 with 6.03 creates a broken isolinux.bin
# Make sure to test booting the livecd on a bios system
# if changing this override.
# nixos.tests.bootBiosCdrom is useful for this.
stdenv = overrideCC stdenv gcc48;
};
sysstat = callPackage ../os-specific/linux/sysstat { };
@ -11978,6 +11984,8 @@ let
iptraf = callPackage ../applications/networking/iptraf { };
iptraf-ng = callPackage ../applications/networking/iptraf-ng { };
irssi = callPackage ../applications/networking/irc/irssi { };
irssi_fish = callPackage ../applications/networking/irc/irssi/fish { };
@ -11998,6 +12006,9 @@ let
jackmeter = callPackage ../applications/audio/jackmeter { };
jackmix = callPackage ../applications/audio/jackmix { };
jackmix_jack1 = jackmix.override { jack = jack1; };
jalv = callPackage ../applications/audio/jalv { };
jedit = callPackage ../applications/editors/jedit { };
@ -14252,6 +14263,7 @@ let
libcanberra = libcanberra_kde;
boost = boost155;
kdelibs = kdeApps_15_08.kdelibs;
subversionClient = subversionClient.override { branch = "1.8"; };
}
../desktops/kde-4.14;
@ -15292,6 +15304,8 @@ let
tvheadend = callPackage ../servers/tvheadend { };
urbit = callPackage ../misc/urbit { };
utf8proc = callPackage ../development/libraries/utf8proc { };
vault = goPackages.vault.bin // { outputs = [ "bin" ]; };
@ -15455,6 +15469,7 @@ aliases = with self; rec {
clangAnalyzer = clang-analyzer; # added 2015-02-20
cool-old-term = cool-retro-term; # added 2015-01-31
cv = progress; # added 2015-09-06
enblendenfuse = enblend-enfuse; # 2015-09-30
exfat-utils = exfat; # 2015-09-11
firefoxWrapper = firefox-wrapper;
fuse_exfat = exfat; # 2015-09-11

View File

@ -740,6 +740,27 @@ let
subPackages = [ "./" ]; # don't try to build test fixtures
};
git-lfs = buildFromGitHub {
rev = "v1.0.0";
owner = "github";
repo = "git-lfs";
sha256 = "1zlg3rm5yxak6d88brffv1wpj0iq4qgzn6sgg8xn0pbnzxjd1284";
# Tests fail with 'lfstest-gitserver.go:46: main redeclared in this block'
excludedPackages = [ "test" ];
preBuild = ''
pushd go/src/github.com/github/git-lfs
go generate ./commands
popd
'';
postInstall = ''
mkdir -p $bin/share
mv $bin/bin/{man,script} $bin/share
'';
};
glide = buildFromGitHub {
rev = "0.6.1";
owner = "Masterminds";

View File

@ -716,15 +716,15 @@ let self = _self // overrides; _self = with self; {
};
Cairo = buildPerlPackage rec {
name = "Cairo-1.105";
name = "Cairo-1.106";
src = fetchurl {
url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
sha256 = "0im025wy1346w7b7hi6im08bfn6x4ma0cxmjz6xnk8riizm1s84q";
sha256 = "1i25kks408c54k2zxskvg54l5k3qadzm8n72ffga9jy7ic0h6j76";
};
buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.cairo ];
meta = {
homepage = http://gtk2-perl.sourceforge.net/;
description = "Perl interface to the cairo 2d vector graphics library";
description = "Perl interface to the cairo 2D vector graphics library";
maintainers = with maintainers; [ nckx ];
license = stdenv.lib.licenses.lgpl21Plus;
};
@ -4944,10 +4944,10 @@ let self = _self // overrides; _self = with self; {
};
Glib = buildPerlPackage rec {
name = "Glib-1.313";
name = "Glib-1.314";
src = fetchurl {
url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
sha256 = "162g342bhzy2ca4xwk63j10q9jycsps0s8l8y8pda70m7zcmr7xj";
sha256 = "13lhyksm7fgj6rgrgs06kr0hinbyhiq3lfr6gd2qal1j2w0rwzml";
};
buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.glib ];
meta = {