Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Frederik Rietdijk 2017-06-06 20:44:34 +02:00
commit 7e0251698b
55 changed files with 687 additions and 402 deletions

View file

@ -25,18 +25,33 @@ INDEX = "https://pypi.io/pypi"
EXTENSIONS = ['tar.gz', 'tar.bz2', 'tar', 'zip', '.whl'] EXTENSIONS = ['tar.gz', 'tar.bz2', 'tar', 'zip', '.whl']
"""Permitted file extensions. These are evaluated from left to right and the first occurance is returned.""" """Permitted file extensions. These are evaluated from left to right and the first occurance is returned."""
def _get_value(attribute, text): import logging
"""Match attribute in text and return it.""" logging.basicConfig(level=logging.INFO)
def _get_values(attribute, text):
"""Match attribute in text and return all matches.
:returns: List of matches.
"""
regex = '{}\s+=\s+"(.*)";'.format(attribute) regex = '{}\s+=\s+"(.*)";'.format(attribute)
regex = re.compile(regex) regex = re.compile(regex)
value = regex.findall(text) values = regex.findall(text)
n = len(value) return values
def _get_unique_value(attribute, text):
"""Match attribute in text and return unique match.
:returns: Single match.
"""
values = _get_values(attribute, text)
n = len(values)
if n > 1: if n > 1:
raise ValueError("Found too many values for {}".format(attribute)) raise ValueError("found too many values for {}".format(attribute))
elif n == 1: elif n == 1:
return value[0] return values[0]
else: else:
raise ValueError("No value found for {}".format(attribute)) raise ValueError("no value found for {}".format(attribute))
def _get_line_and_value(attribute, text): def _get_line_and_value(attribute, text):
"""Match attribute in text. Return the line and the value of the attribute.""" """Match attribute in text. Return the line and the value of the attribute."""
@ -45,11 +60,11 @@ def _get_line_and_value(attribute, text):
value = regex.findall(text) value = regex.findall(text)
n = len(value) n = len(value)
if n > 1: if n > 1:
raise ValueError("Found too many values for {}".format(attribute)) raise ValueError("found too many values for {}".format(attribute))
elif n == 1: elif n == 1:
return value[0] return value[0]
else: else:
raise ValueError("No value found for {}".format(attribute)) raise ValueError("no value found for {}".format(attribute))
def _replace_value(attribute, value, text): def _replace_value(attribute, value, text):
@ -64,175 +79,151 @@ def _fetch_page(url):
if r.status_code == requests.codes.ok: if r.status_code == requests.codes.ok:
return r.json() return r.json()
else: else:
raise ValueError("Request for {} failed".format(url)) raise ValueError("request for {} failed".format(url))
def _get_latest_version(package, extension):
def _get_latest_version_pypi(package, extension):
"""Get latest version and hash from PyPI."""
url = "{}/{}/json".format(INDEX, package) url = "{}/{}/json".format(INDEX, package)
json = _fetch_page(url) json = _fetch_page(url)
data = extract_relevant_nix_data(json, extension)[1] version = json['info']['version']
for release in json['releases'][version]:
version = data['latest_version'] if release['filename'].endswith(extension):
if version in data['versions']: # TODO: In case of wheel we need to do further checks!
sha256 = data['versions'][version]['sha256'] sha256 = release['digests']['sha256']
else:
sha256 = None # Its possible that no file was uploaded to PyPI
return version, sha256 return version, sha256
def extract_relevant_nix_data(json, extension): def _get_latest_version_github(package, extension):
"""Extract relevant Nix data from the JSON of a package obtained from PyPI. raise ValueError("updating from GitHub is not yet supported.")
:param json: JSON obtained from PyPI
FETCHERS = {
'fetchFromGitHub' : _get_latest_version_github,
'fetchPypi' : _get_latest_version_pypi,
'fetchurl' : _get_latest_version_pypi,
}
DEFAULT_SETUPTOOLS_EXTENSION = 'tar.gz'
FORMATS = {
'setuptools' : DEFAULT_SETUPTOOLS_EXTENSION,
'wheel' : 'whl'
}
def _determine_fetcher(text):
# Count occurences of fetchers.
nfetchers = sum(text.count('src = {}'.format(fetcher)) for fetcher in FETCHERS.keys())
if nfetchers == 0:
raise ValueError("no fetcher.")
elif nfetchers > 1:
raise ValueError("multiple fetchers.")
else:
# Then we check which fetcher to use.
for fetcher in FETCHERS.keys():
if 'src = {}'.format(fetcher) in text:
return fetcher
def _determine_extension(text, fetcher):
"""Determine what extension is used in the expression.
If we use:
- fetchPypi, we check if format is specified.
- fetchurl, we determine the extension from the url.
- fetchFromGitHub we simply use `.tar.gz`.
""" """
def _extract_license(json): if fetcher == 'fetchPypi':
"""Extract license from JSON.""" try:
return json['info']['license'] format = _get_unique_value('format', text)
except ValueError as e:
format = None # format was not given
def _available_versions(json): try:
return json['releases'].keys() extension = _get_unique_value('extension', text)
except ValueError as e:
extension = None # extension was not given
def _extract_latest_version(json): if extension is None:
return json['info']['version'] if format is None:
format = 'setuptools'
extension = FORMATS[format]
def _get_src_and_hash(json, version, extensions): elif fetcher == 'fetchurl':
"""Obtain url and hash for a given version and list of allowable extensions.""" url = _get_unique_value('url', text)
if not json['releases']: extension = os.path.splitext(url)[1]
msg = "Package {}: No releases available.".format(json['info']['name']) if 'pypi' not in url:
raise ValueError(msg) raise ValueError('url does not point to PyPI.')
else:
# We use ['releases'] and not ['urls'] because we want to have the possibility for different version.
for possible_file in json['releases'][version]:
for extension in extensions:
if possible_file['filename'].endswith(extension):
src = {'url': str(possible_file['url']),
'sha256': str(possible_file['digests']['sha256']),
}
return src
else:
msg = "Package {}: No release with valid file extension available.".format(json['info']['name'])
logging.info(msg)
return None
#raise ValueError(msg)
def _get_sources(json, extensions): elif fetcher == 'fetchFromGitHub':
versions = _available_versions(json) raise ValueError('updating from GitHub is not yet implemented.')
releases = {version: _get_src_and_hash(json, version, extensions) for version in versions}
releases = toolz.itemfilter(lambda x: x[1] is not None, releases)
return releases
# Collect data) return extension
name = str(json['info']['name'])
latest_version = str(_extract_latest_version(json))
#src = _get_src_and_hash(json, latest_version, EXTENSIONS)
sources = _get_sources(json, [extension])
# Collect meta data
license = str(_extract_license(json))
license = license if license != "UNKNOWN" else None
summary = str(json['info'].get('summary')).strip('.')
summary = summary if summary != "UNKNOWN" else None
#description = str(json['info'].get('description'))
#description = description if description != "UNKNOWN" else None
homepage = json['info'].get('home_page')
data = {
'latest_version' : latest_version,
'versions' : sources,
#'src' : src,
'meta' : {
'description' : summary if summary else None,
#'longDescription' : description,
'license' : license,
'homepage' : homepage,
},
}
return name, data
def _update_package(path): def _update_package(path):
# Read the expression
with open(path, 'r') as f:
text = f.read()
# Determine pname.
pname = _get_unique_value('pname', text)
# Determine version.
version = _get_unique_value('version', text)
# First we check how many fetchers are mentioned.
fetcher = _determine_fetcher(text)
extension = _determine_extension(text, fetcher)
new_version, new_sha256 = _get_latest_version_pypi(pname, extension)
if new_version == version:
logging.info("Path {}: no update available for {}.".format(path, pname))
return False
if not new_sha256:
raise ValueError("no file available for {}.".format(pname))
text = _replace_value('version', new_version, text)
text = _replace_value('sha256', new_sha256, text)
with open(path, 'w') as f:
f.write(text)
logging.info("Path {}: updated {} from {} to {}".format(path, pname, version, new_version))
return True
def _update(path):
# We need to read and modify a Nix expression. # We need to read and modify a Nix expression.
if os.path.isdir(path): if os.path.isdir(path):
path = os.path.join(path, 'default.nix') path = os.path.join(path, 'default.nix')
# If a default.nix does not exist, we quit.
if not os.path.isfile(path): if not os.path.isfile(path):
logging.warning("Path does not exist: {}".format(path)) logging.info("Path {}: does not exist.".format(path))
return False return False
# If file is not a Nix expression, we quit.
if not path.endswith(".nix"): if not path.endswith(".nix"):
logging.warning("Path does not end with `.nix`, skipping: {}".format(path)) logging.info("Path {}: does not end with `.nix`.".format(path))
return False
with open(path, 'r') as f:
text = f.read()
try:
pname = _get_value('pname', text)
except ValueError as e:
logging.warning("Path {}: {}".format(path, str(e)))
return False return False
try: try:
version = _get_value('version', text) return _update_package(path)
except ValueError as e: except ValueError as e:
logging.warning("Path {}: {}".format(path, str(e))) logging.warning("Path {}: {}".format(path, e))
return False return False
# If we use a wheel, then we need to request a wheel as well
try:
format = _get_value('format', text)
except ValueError as e:
# No format mentioned, then we assume we have setuptools
# and use a .tar.gz
logging.info("Path {}: {}".format(path, str(e)))
extension = ".tar.gz"
else:
if format == 'wheel':
extension = ".whl"
else:
try:
url = _get_value('url', text)
extension = os.path.splitext(url)[1]
if 'pypi' not in url:
logging.warning("Path {}: uses non-PyPI url, not updating.".format(path))
return False
except ValueError as e:
logging.info("Path {}: {}".format(path, str(e)))
extension = ".tar.gz"
try:
new_version, new_sha256 = _get_latest_version(pname, extension)
except ValueError as e:
logging.warning("Path {}: {}".format(path, str(e)))
else:
if not new_sha256:
logging.warning("Path has no valid file available: {}".format(path))
return False
if new_version != version:
try:
text = _replace_value('version', new_version, text)
except ValueError as e:
logging.warning("Path {}: {}".format(path, str(e)))
try:
text = _replace_value('sha256', new_sha256, text)
except ValueError as e:
logging.warning("Path {}: {}".format(path, str(e)))
with open(path, 'w') as f:
f.write(text)
logging.info("Updated {} from {} to {}".format(pname, version, new_version))
else:
logging.info("No update available for {} at {}".format(pname, version))
return True
def main(): def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
@ -240,11 +231,11 @@ def main():
args = parser.parse_args() args = parser.parse_args()
packages = args.package packages = map(os.path.abspath, args.package)
count = list(map(_update_package, packages)) count = list(map(_update, packages))
#logging.info("{} package(s) updated".format(sum(count))) logging.info("{} package(s) updated".format(sum(count)))
if __name__ == '__main__': if __name__ == '__main__':
main() main()

View file

@ -15,7 +15,7 @@ in
services.xserver.windowManager.session = [{ services.xserver.windowManager.session = [{
name = "qtile"; name = "qtile";
start = '' start = ''
${pkgs.qtile}/bin/qtile ${pkgs.qtile}/bin/qtile &
waitPID=$! waitPID=$!
''; '';
}]; }];

View file

@ -222,6 +222,7 @@ in rec {
tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; }); tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable; tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
tests.cjdns = callTest tests/cjdns.nix {}; tests.cjdns = callTest tests/cjdns.nix {};
tests.cloud-init = callTest tests/cloud-init.nix {};
tests.containers-ipv4 = callTest tests/containers-ipv4.nix {}; tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
tests.containers-ipv6 = callTest tests/containers-ipv6.nix {}; tests.containers-ipv6 = callTest tests/containers-ipv6.nix {};
tests.containers-bridge = callTest tests/containers-bridge.nix {}; tests.containers-bridge = callTest tests/containers-bridge.nix {};

View file

@ -0,0 +1,47 @@
{ system ? builtins.currentSystem }:
with import ../lib/testing.nix { inherit system; };
with import ../lib/qemu-flags.nix;
with pkgs.lib;
let
metadataDrive = pkgs.stdenv.mkDerivation {
name = "metadata";
buildCommand = ''
mkdir -p $out/iso
cat << EOF > $out/iso/user-data
#cloud-config
write_files:
- content: |
cloudinit
path: /tmp/cloudinit-write-file
EOF
cat << EOF > $out/iso/meta-data
instance-id: iid-local01
local-hostname: "test"
public-keys:
- "should be a key!"
EOF
${pkgs.cdrkit}/bin/genisoimage -volid cidata -joliet -rock -o $out/metadata.iso $out/iso
'';
};
in makeTest {
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ lewo ];
};
machine =
{ config, pkgs, ... }:
{
virtualisation.qemu.options = [ "-cdrom" "${metadataDrive}/metadata.iso" ];
services.cloud-init.enable = true;
};
testScript = ''
$machine->start;
$machine->waitForUnit("cloud-init.service");
$machine->succeed("cat /tmp/cloudinit-write-file | grep -q 'cloudinit'");
$machine->waitUntilSucceeds("cat /root/.ssh/authorized_keys | grep -q 'should be a key!'");
'';
}

View file

@ -51,20 +51,30 @@ in
]; ];
unpackPhase = '' unpackPhase = ''
runHook preUnpack
cp $src extractor.run cp $src extractor.run
chmod +x extractor.run chmod +x extractor.run
./extractor.run --target $sourceRoot ./extractor.run --target $sourceRoot
runHook postUnpack
''; '';
patchPhase = '' patchPhase = ''
runHook prePatch
# Patch ELF files. # Patch ELF files.
elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1) elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1)
for elf in $elfs; do for elf in $elfs; do
patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true
done done
runHook postPatch
''; '';
installPhase = '' installPhase = ''
runHook preInstall
instdir=$out/${instPath} instdir=$out/${instPath}
# Install executables and libraries # Install executables and libraries
@ -86,6 +96,8 @@ in
wrapProgram $out/bin/valley \ wrapProgram $out/bin/valley \
--run "cd $instdir" \ --run "cd $instdir" \
--prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath
runHook postInstall
''; '';
stripDebugList = ["${instPath}/bin"]; stripDebugList = ["${instPath}/bin"];

View file

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, makeWrapper, cmake, pkgconfig, wxGTK30, glib, pcre, m4, bash, { stdenv, fetchFromGitHub, makeWrapper, cmake, pkgconfig, wxGTK30, glib, pcre, m4, bash,
xdg_utils, xterm, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz }: xdg_utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
rev = "c2f2b89db31b1c3cb9bed53267873f4cd7bc996d"; rev = "ab240373f69824c56e9255d452b689cff3b1ecfb";
build = "2017-03-18-${builtins.substring 0 10 rev}"; build = "2017-05-09-${builtins.substring 0 10 rev}";
name = "far2l-2.1.${build}"; name = "far2l-2.1.${build}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elfmz"; owner = "elfmz";
repo = "far2l"; repo = "far2l";
rev = rev; rev = rev;
sha256 = "1172ajg4n8g4ag14b6nb9lclwh2r6v7ccndmvhnj066w35ixnqgb"; sha256 = "1b6w6xhja3xkfzhrdy8a8qpbhxws75khm1zhwz8sc8la9ykd541q";
}; };
nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper ]; nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper imagemagick ];
buildInputs = [ wxGTK30 glib pcre ]; buildInputs = [ wxGTK30 glib pcre ];
@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
substituteInPlace far2l/bootstrap/open.sh \ substituteInPlace far2l/bootstrap/open.sh \
--replace 'gvfs-trash' '${gvfs}/bin/gvfs-trash' --replace 'gvfs-trash' '${gvfs}/bin/gvfs-trash'
substituteInPlace far2l/bootstrap/open.sh \ substituteInPlace far2l/bootstrap/open.sh \
--replace 'xdg-open' '${xdg_utils}/bin/xdg-open' \ --replace 'xdg-open' '${xdg_utils}/bin/xdg-open'
--replace 'xterm' '${xterm}/bin/xterm'
substituteInPlace far2l/vtcompletor.cpp \ substituteInPlace far2l/vtcompletor.cpp \
--replace '"/bin/bash"' '"${bash}/bin/bash"' --replace '"/bin/bash"' '"${bash}/bin/bash"'
substituteInPlace multiarc/src/formats/zip/zip.cpp \ substituteInPlace multiarc/src/formats/zip/zip.cpp \
@ -41,12 +40,20 @@ stdenv.mkDerivation rec {
''; '';
installPhase = '' installPhase = ''
mkdir -p $out/{bin,share} mkdir -p $out/bin $out/share/applications $out/share/icons/hicolor/scalable/apps
rm install/{far2l_askpass,far2l_sudoapp} cp -dpR install $out/share/far2l
mv install/far2l $out/bin/far2l mv $out/share/far2l/far2l $out/bin/
mv install $out/share/far2l ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_askpass
ln -s -r $out/bin/far2l $out/share/far2l/far2l_askpass ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_sudoapp
ln -s -r $out/bin/far2l $out/share/far2l/far2l_sudoapp
sed "s,/usr/bin/,$out/bin/," ../far2l/DE/far2l.desktop > $out/share/applications/far2l.desktop
cp ../far2l/DE/icons/hicolor/1024x1024/apps/far2l.svg $out/share/icons/hicolor/scalable/apps/
convert -size 128x128 ../far2l/DE/icons/far2l.svg $out/share/icons/far2l.png
for size in 16x16 24x24 32x32 48x48 64x64 72x72 96x96 128x128 192x192 256x256 512x512 1024x1024; do
mkdir -p $out/share/icons/hicolor/$size/apps
convert -size $size ../far2l/DE/icons/hicolor/$size/apps/far2l.svg $out/share/icons/hicolor/$size/apps/far2l.png
done
''; '';
stripDebugList = "bin share"; stripDebugList = "bin share";

View file

@ -11,11 +11,11 @@ let
]; ];
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.3.1"; version = "1.3.3";
name = "hyper-${version}"; name = "hyper-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}.deb"; url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}.deb";
sha256 = "1i1rnq10a9kid8lggrd1gp9g08v98la8idnyk4kx4vn0svqy7nvl"; sha256 = "1i68n77yv1g4dfx4xfmcb06mfpwhf0gnb3wmldg2gxkhs0fn19zg";
}; };
buildInputs = [ dpkg ]; buildInputs = [ dpkg ];
unpackPhase = '' unpackPhase = ''

View file

@ -4,12 +4,13 @@ assert stdenv.isLinux;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "IPMIView-${version}"; name = "IPMIView-${version}";
version = "20151223"; version = "2.12.0";
buildVersion = "160804";
src = fetchurl { src = fetchurl {
url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_V2.11.0_bundleJRE_Linux_x64_${version}.tar.gz"; url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
sha256 = "1rv9j0id7i2ipm25n60bpfdm1gj44xg2aj8rnx4s6id3ln90q121"; sha256 = "787a060413451a4a5993c31805f55a221087b7199bbaf20e9fe1254e2a76db42";
}; };
buildInputs = [ patchelf makeWrapper ]; buildInputs = [ patchelf makeWrapper ];
@ -23,12 +24,12 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp -R . $out/ cp -R . $out/
echo "$out/jre/bin/java -jar $out/IPMIView20.jar" > $out/bin/IPMIView makeWrapper $out/jre/bin/java $out/bin/IPMIView \
chmod +x $out/bin/IPMIView --prefix PATH : "$out/jre/bin" \
--add-flags "-jar $out/IPMIView20.jar"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
license = licenses.unfree; license = licenses.unfree;
}; };
} }

View file

@ -0,0 +1,30 @@
{ stdenv, fetchgit, qmakeHook, qtwebengine, qttools, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "rssguard-${version}";
version = "3.4.0";
src = fetchgit {
url = https://github.com/martinrotter/rssguard;
rev = "refs/tags/${version}";
sha256 = "1cdpfjj2lm1q2qh0w0mh505blcmi4n78458d3z3c1zn9ls9b9zsp";
fetchSubmodules = true;
};
buildInputs = [ qtwebengine qttools ];
nativeBuildInputs = [ qmakeHook wrapGAppsHook ];
qmakeFlags = [ "CONFIG+=release" ];
meta = with stdenv.lib; {
description = "Simple RSS/Atom feed reader with online synchronization";
longDescription = ''
RSS Guard is a simple, light and easy-to-use RSS/ATOM feed aggregator
developed using Qt framework and with online feed synchronization support
for ownCloud/Nextcloud.
'';
homepage = https://github.com/martinrotter/rssguard;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ jluttine ];
};
}

View file

@ -6,7 +6,7 @@ let
bits = if stdenv.system == "x86_64-linux" then "x64" bits = if stdenv.system == "x86_64-linux" then "x64"
else "ia32"; else "ia32";
version = "0.5.3"; version = "0.5.9";
myIcon = fetchurl { myIcon = fetchurl {
url = "https://raw.githubusercontent.com/saenzramiro/rambox/9e4444e6297dd35743b79fe23f8d451a104028d5/resources/Icon.png"; url = "https://raw.githubusercontent.com/saenzramiro/rambox/9e4444e6297dd35743b79fe23f8d451a104028d5/resources/Icon.png";
@ -25,8 +25,8 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://github.com/saenzramiro/rambox/releases/download/${version}/Rambox-${version}-${bits}.tar.gz"; url = "https://github.com/saenzramiro/rambox/releases/download/${version}/Rambox-${version}-${bits}.tar.gz";
sha256 = if bits == "x64" then sha256 = if bits == "x64" then
"14pp466l0fj98p5qsb7i11hd603gwsir26m3j4gljzcizb9hirqv" else "0wx1cj3h1h28lhvl8ysmvr2wxq39lklk37361i598vph2pvnibi0" else
"13xmljsdahffdzndg30qxh8mj7bgd9jwkxknrvlh3l6w35pbj085"; "1dqjd5rmml63h3y43n1r68il3pn8zwy0wwr0866cnpizsbis96fy";
}; };
# don't remove runtime deps # don't remove runtime deps
@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
deps = (with xorg; [ deps = (with xorg; [
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
libXrender libX11 libXtst libXScrnSaver libXrender libX11 libXtst libXScrnSaver libxcb
]) ++ [ ]) ++ [
gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc

View file

@ -1,14 +1,14 @@
{ stdenv, lib, fetchFromGitHub, go, pkgs, removeReferencesTo }: { stdenv, lib, fetchFromGitHub, go, pkgs, removeReferencesTo }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.14.28"; version = "0.14.29";
name = "syncthing-${version}"; name = "syncthing-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
sha256 = "0bb4ccyb5rjga651z633abiwlps5gy9hpalr5gi0wlrfxwbdivrb"; sha256 = "01q0xlixjvmzs0acrg54b07fp68sa5axh1wb4lz25mmxfjl04v1d";
}; };
buildInputs = [ go removeReferencesTo ]; buildInputs = [ go removeReferencesTo ];

View file

@ -11,7 +11,7 @@
}: }:
let let
version = "2.13.0"; version = "2.13.1";
svn = subversionClient.override { perlBindings = true; }; svn = subversionClient.override { perlBindings = true; };
in in
@ -20,7 +20,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "0n0j36rapw31zb0sabap88ffncv8jg3nwc4miyim64ilyav2mgsb"; sha256 = "1zl88rlga9nhgaqc9d04vp1l1g4x6qj1d02698asnxrzk36vxh9v";
}; };
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];

View file

@ -0,0 +1,84 @@
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, lib
, unzip, cmake, kodiPlain, steam, libcec_platform, tinyxml
, libusb, pcre-cpp, jsoncpp, libhdhomerun }:
rec {
pluginDir = "/share/kodi/addons";
kodi-platform = stdenv.mkDerivation rec {
project = "kodi-platform";
version = "17.1";
name = "${project}-${version}";
src = fetchFromGitHub {
owner = "xbmc";
repo = project;
rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
};
buildInputs = [ cmake kodiPlain libcec_platform tinyxml ];
};
mkKodiAPIPlugin = { plugin, namespace, version, src, meta, sourceDir ? null, ... }:
stdenv.lib.makeOverridable stdenv.mkDerivation rec {
inherit src meta sourceDir;
name = "kodi-plugin-${plugin}-${version}";
passthru = {
kodiPlugin = pluginDir;
namespace = namespace;
};
dontStrip = true;
installPhase = ''
${if isNull sourceDir then "" else "cd $src/$sourceDir"}
d=$out${pluginDir}/${namespace}
mkdir -p $d
sauce="."
[ -d ${namespace} ] && sauce=${namespace}
cp -R "$sauce/"* $d
'';
};
mkKodiPlugin = mkKodiAPIPlugin;
mkKodiABIPlugin = { plugin, namespace, version, src, meta
, extraBuildInputs ? [], sourceDir ? null, ... }:
stdenv.lib.makeOverridable stdenv.mkDerivation rec {
inherit src meta sourceDir;
name = "kodi-plugin-${plugin}-${version}";
passthru = {
kodiPlugin = pluginDir;
namespace = namespace;
};
dontStrip = true;
buildInputs = [ cmake kodiPlain kodi-platform libcec_platform ]
++ extraBuildInputs;
# disables check ensuring install prefix is that of kodi
cmakeFlags = [
"-DOVERRIDE_PATHS=1"
];
# kodi checks for plugin .so libs existance in the addon folder (share/...)
# and the non-wrapped kodi lib/... folder before even trying to dlopen
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
installPhase = let n = namespace; in ''
make install
ln -s $out/lib/addons/${n}/${n}.so.${version} $out/${pluginDir}/${n}.so
'';
};
}

View file

@ -1,47 +1,9 @@
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, lib { stdenv, lib, callPackage, fetchurl, fetchFromGitHub, unzip
, unzip, cmake, kodi, steam, libcec_platform, tinyxml , steam, libusb, pcre-cpp, jsoncpp, libhdhomerun }:
, jsoncpp, libhdhomerun }:
let with (callPackage ./commons.nix {});
pluginDir = "/share/kodi/addons"; rec {
kodi-platform = stdenv.mkDerivation rec {
project = "kodi-platform";
version = "17.1";
name = "${project}-${version}";
src = fetchFromGitHub {
owner = "xbmc";
repo = project;
rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
};
buildInputs = [ cmake kodi libcec_platform tinyxml ];
};
mkKodiPlugin = { plugin, namespace, version, src, meta, sourceDir ? null, ... }:
stdenv.lib.makeOverridable stdenv.mkDerivation rec {
inherit src meta sourceDir;
name = "kodi-plugin-${plugin}-${version}";
passthru = {
kodiPlugin = pluginDir;
namespace = namespace;
};
dontStrip = true;
installPhase = ''
${if isNull sourceDir then "" else "cd $src/$sourceDir"}
d=$out${pluginDir}/${namespace}
mkdir -p $d
sauce="."
[ -d ${namespace} ] && sauce=${namespace}
cp -R "$sauce/"* $d
'';
};
in
{
advanced-launcher = mkKodiPlugin rec { advanced-launcher = mkKodiPlugin rec {
@ -73,6 +35,35 @@ in
}; };
advanced-emulator-launcher = mkKodiPlugin rec {
plugin = "advanced-emulator-launcher";
namespace = "plugin.program.advanced.emulator.launcher";
version = "0.9.6";
src = fetchFromGitHub {
owner = "Wintermute0110";
repo = namespace;
rev = version;
sha256 = "1sv9z77jj6bam6llcnd9b3dgkbvhwad2m1v541rv3acrackms2z2";
};
meta = with stdenv.lib; {
homepage = "http://forum.kodi.tv/showthread.php?tid=287826";
description = "A program launcher for Kodi";
longDescription = ''
Advanced Emulator Launcher is a multi-emulator front-end for Kodi
scalable to collections of thousands of ROMs. Includes offline scrapers
for MAME and No-Intro ROM sets and also supports scrapping ROM metadata
and artwork online. ROM auditing for No-Intro ROMs using No-Intro XML
DATs. Launching of games and standalone applications is also available.
'';
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
};
controllers = let controllers = let
pname = "game-controller"; pname = "game-controller";
version = "1.0.3"; version = "1.0.3";
@ -156,6 +147,28 @@ in
}; };
}; };
joystick = mkKodiABIPlugin rec {
namespace = "peripheral.joystick";
version = "1.3.6";
plugin = namespace;
src = fetchFromGitHub {
owner = "kodi-game";
repo = namespace;
rev = "5b480ccdd4a87f2ca3283a7b8d1bd69a114af0db";
sha256 = "1zf5zwghx96bqk7bx53qra27lfbgfdi1dsk4s3hwixr8ii72cqpp";
};
meta = with stdenv.lib; {
description = "Binary addon for raw joystick input.";
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
extraBuildInputs = [ libusb pcre-cpp ];
};
svtplay = mkKodiPlugin rec { svtplay = mkKodiPlugin rec {
plugin = "svtplay"; plugin = "svtplay";
@ -185,6 +198,28 @@ in
}; };
steam-controller = mkKodiABIPlugin rec {
namespace = "peripheral.steamcontroller";
version = "0.9.0";
plugin = namespace;
src = fetchFromGitHub {
owner = "kodi-game";
repo = namespace;
rev = "76f640fad4f68118f4fab6c4c3338d13daca7074";
sha256 = "0yqlfdiiymb8z6flyhpval8w3kdc9qv3mli3jg1xn5ac485nxsxh";
};
extraBuildInputs = [ libusb ];
meta = with stdenv.lib; {
description = "Binary addon for steam controller.";
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
};
steam-launcher = (mkKodiPlugin rec { steam-launcher = (mkKodiPlugin rec {
plugin = "steam-launcher"; plugin = "steam-launcher";
@ -234,7 +269,8 @@ in
}; };
}; };
pvr-hts = (mkKodiPlugin rec { pvr-hts = mkKodiABIPlugin rec {
plugin = "pvr-hts"; plugin = "pvr-hts";
namespace = "pvr.hts"; namespace = "pvr.hts";
version = "3.4.16"; version = "3.4.16";
@ -252,22 +288,11 @@ in
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ cpages ]; maintainers = with maintainers; [ cpages ];
}; };
}).override {
buildInputs = [ cmake kodi libcec_platform kodi-platform ];
# disables check ensuring install prefix is that of kodi
cmakeFlags = [ "-DOVERRIDE_PATHS=1" ];
# kodi checks for plugin .so libs existance in the addon folder (share/...)
# and the non-wrapped kodi lib/... folder before even trying to dlopen
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
installPhase = ''
make install
ln -s $out/lib/addons/pvr.hts/pvr.hts.so* $out/share/kodi/addons/pvr.hts
'';
}; };
pvr-hdhomerun = (mkKodiPlugin rec { pvr-hdhomerun = mkKodiABIPlugin rec {
plugin = "pvr-hdhomerun"; plugin = "pvr-hdhomerun";
namespace = "pvr.hdhomerun"; namespace = "pvr.hdhomerun";
version = "2.4.7"; version = "2.4.7";
@ -285,18 +310,8 @@ in
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ titanous ]; maintainers = with maintainers; [ titanous ];
}; };
}).override {
buildInputs = [ cmake jsoncpp libhdhomerun kodi libcec_platform kodi-platform ];
# disables check ensuring install prefix is that of kodi extraBuildInputs = [ jsoncpp libhdhomerun ];
cmakeFlags = [ "-DOVERRIDE_PATHS=1" ];
# kodi checks for plugin .so libs existance in the addon folder (share/...)
# and the non-wrapped kodi lib/... folder before even trying to dlopen
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
installPhase = ''
make install
ln -s $out/lib/addons/pvr.hdhomerun/pvr.hdhomerun.so* $out/share/kodi/addons/pvr.hdhomerun
'';
}; };
} }

View file

@ -44,6 +44,10 @@ python2Packages.buildPythonApplication rec {
${glib.dev}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas ${glib.dev}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas
''; '';
preFixup = ''
gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")
'';
# Failed tests # Failed tests
doCheck = false; doCheck = false;

View file

@ -1,14 +1,14 @@
{ stdenv, cmake, fetchFromGitHub }: { stdenv, cmake, fetchFromGitHub }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "32"; version = "33";
rev = "version_${version}"; rev = "version_${version}";
name = "binaryen-${version}"; name = "binaryen-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "WebAssembly"; owner = "WebAssembly";
repo = "binaryen"; repo = "binaryen";
sha256 = "0zclw6pa2pkzrnp8ib9qwbjvq38r2h5ynfg8fjl99b5lcyz5m590"; sha256 = "0zijs2mcgfv0iynwdb0l4zykm0891b1zccf6r8w35ipxvcdwbsbp";
inherit rev; inherit rev;
}; };

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, cmake, python, ... }: { stdenv, fetchFromGitHub, cmake, python, ... }:
let let
rev = "1.37.10"; rev = "1.37.13";
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -10,14 +10,14 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kripken"; owner = "kripken";
repo = "emscripten-fastcomp"; repo = "emscripten-fastcomp";
sha256 = "0zl55jaas3cibjscr5q1q6rgw63wqwyc9iffhvs4xi9g1bk5cnx9"; sha256 = "1r4f4d5dmhxqwmpf2psainx7sj1j26fdp5acifdwg4sbbpsv96az";
inherit rev; inherit rev;
}; };
srcFL = fetchFromGitHub { srcFL = fetchFromGitHub {
owner = "kripken"; owner = "kripken";
repo = "emscripten-fastcomp-clang"; repo = "emscripten-fastcomp-clang";
sha256 = "0cdvld0lfl3cl7m6yax7f87ip9iq4rmz8icr68l2g8bl2w8qd89j"; sha256 = "1p0108iz77vmzm7i1aa29sk93g5vd95xiwmags18qkr7x3fmfqsw";
inherit rev; inherit rev;
}; };

View file

@ -3,7 +3,7 @@
}: }:
let let
rev = "1.37.10"; rev = "1.37.13";
appdir = "share/emscripten"; appdir = "share/emscripten";
in in
@ -13,7 +13,7 @@ stdenv.mkDerivation {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kripken"; owner = "kripken";
repo = "emscripten"; repo = "emscripten";
sha256 = "08f3zagxzsj96i09gjg1djd1bmy1gr1ar8n96mzg3ykaygf82d0s"; sha256 = "0xnr8nq431pksb346fwsbs5knqmcygb8mywzzl0c9nz3ims1vkx5";
inherit rev; inherit rev;
}; };

View file

@ -8,10 +8,10 @@ bootPkgs.callPackage ./base.nix {
ghcjsSrc = fetchFromGitHub { ghcjsSrc = fetchFromGitHub {
# TODO: switch back to the regular ghcjs repo # TODO: switch back to the regular ghcjs repo
# when https://github.com/ghcjs/ghcjs/pull/573 is merged. # when https://github.com/ghcjs/ghcjs/pull/573 is merged.
owner = "basvandijk"; owner = "k0001";
repo = "ghcjs"; repo = "ghcjs";
rev = "e6cdc71964a1c2e4184416a493e9d384c408914c"; rev = "600015e085a28da601b65a41c513d4a458fcd184";
sha256 = "00fk9qwyx4vpvr0h9jbqxwlrvl6w63l5sq8r357prsp6xyv5zniz"; sha256 = "01kirrg0fnfwhllvwgfqjiwzwj4yv4lyig87x61n9jp6y5shzjdx";
}; };
ghcjsBootSrc = fetchgit { ghcjsBootSrc = fetchgit {
# TODO: switch back to git://github.com/ghcjs/ghcjs-boot.git # TODO: switch back to git://github.com/ghcjs/ghcjs-boot.git

View file

@ -17,11 +17,11 @@ in
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libinput-${version}"; name = "libinput-${version}";
version = "1.5.1"; version = "1.7.2";
src = fetchurl { src = fetchurl {
url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
sha256 = "d4f63933b0967bd691735af5e3919e2d29c2121d4e05867cc4e10ff3ae8e2dd8"; sha256 = "0b1e5a6c106ccc609ccececd9e33e6b27c8b01fc7457ddb4c1dd266e780d6bc2";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View file

@ -3,13 +3,13 @@
let optional = stdenv.lib.optional; let optional = stdenv.lib.optional;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "lmdb-${version}"; name = "lmdb-${version}";
version = "0.9.19"; version = "0.9.21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "LMDB"; owner = "LMDB";
repo = "lmdb"; repo = "lmdb";
rev = "LMDB_${version}"; rev = "LMDB_${version}";
sha256 = "04qx803jdmhkcam748fn0az3cyzvj91lw28kcvwfyq0al7pmjkfs"; sha256 = "026a6himvg3y4ssnccdbgr3c2pq3w2d47nayn05v512875z4f2w3";
}; };
postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb"; postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";

View file

@ -30,7 +30,7 @@
buildPythonPackage rec { buildPythonPackage rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "Nikola"; pname = "Nikola";
version = "7.8.6"; version = "7.8.7";
# Nix contains only Python 3 supported version of doit, which is a dependency # Nix contains only Python 3 supported version of doit, which is a dependency
# of Nikola. Python 2 support would require older doit 0.29.0 (which on the # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
@ -47,7 +47,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "48d3a00c3fc9c61bcd305653a531949bdd777d9211434172549498fd8136e036"; sha256 = "d9c77ce9758cc0e848d4c99229a28314e8bd2a590c77c56540fa919fca4d779f";
}; };
meta = { meta = {

View file

@ -1,4 +1,4 @@
{ lib, fetchurl, buildPythonPackage, python, logilab_common, six { lib, fetchPypi, buildPythonPackage, python, logilab_common, six
, lazy-object-proxy, wrapt, singledispatch, enum34, pythonOlder , lazy-object-proxy, wrapt, singledispatch, enum34, pythonOlder
, backports_functools_lru_cache , backports_functools_lru_cache
}: }:
@ -6,11 +6,11 @@
buildPythonPackage rec { buildPythonPackage rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "astroid"; pname = "astroid";
version = "1.5.2"; version = "1.5.3";
src = fetchurl { src = fetchPypi {
url = "mirror://pypi/a/${pname}/${name}.tar.gz"; inherit pname version;
sha256 = "271f1c9ad6519a5dde2a7f0c9b62c2923b55e16569bdd888f9f9055cc5be37ed"; sha256 = "492c2a2044adbf6a84a671b7522e9295ad2f6a7c781b899014308db25312dd35";
}; };
propagatedBuildInputs = [ logilab_common six lazy-object-proxy wrapt ] propagatedBuildInputs = [ logilab_common six lazy-object-proxy wrapt ]

View file

@ -13,11 +13,6 @@ let
format = "wheel"; format = "wheel";
sha256 = "f2900e560efc479938a219433c48f15a4ff4ecfe575a65de385eeb44f2425587"; sha256 = "f2900e560efc479938a219433c48f15a4ff4ecfe575a65de385eeb44f2425587";
}; };
argparse_source = fetchPypi {
pname = "argparse";
version = "1.4.0";
sha256 = "c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314";
};
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "pip"; pname = "pip";
version = "9.0.1"; version = "9.0.1";
@ -34,11 +29,8 @@ in stdenv.mkDerivation rec {
unzip -d $out/${python.sitePackages} $src unzip -d $out/${python.sitePackages} $src
unzip -d $out/${python.sitePackages} ${setuptools_source} unzip -d $out/${python.sitePackages} ${setuptools_source}
unzip -d $out/${python.sitePackages} ${wheel_source} unzip -d $out/${python.sitePackages} ${wheel_source}
'' + stdenv.lib.optionalString (python.isPy26 or false) ''
unzip -d $out/${python.sitePackages} ${argparse_source}
''; '';
patchPhase = '' patchPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
''; '';

View file

@ -9,12 +9,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "guessit"; pname = "guessit";
version = "2.1.3"; version = "2.1.4";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "b2eebbb61e4d2b3764ce4462e0b27da0dccbb25b78e13493a2f913a402e1d0fb"; sha256 = "90e6f9fb49246ad27f34f8b9984357e22562ccc3059241cbc08b4fac1d401c56";
}; };
# Tests require more packages. # Tests require more packages.

View file

@ -1,13 +1,13 @@
{ stdenv, buildPythonPackage, fetchurl, { stdenv, buildPythonPackage, fetchPypi,
mistune, docutils } : mistune, docutils } :
buildPythonPackage rec { buildPythonPackage rec {
pname = "m2r"; pname = "m2r";
name = "${pname}-${version}"; name = "${pname}-${version}";
version = "0.1.5"; version = "0.1.6";
src = fetchurl { src = fetchPypi {
url = "mirror://pypi/m/m2r/${name}.tar.gz"; inherit pname version;
sha256 = "08rjn3x1qag60wawjnq95wmgijrn33apr4fhj01s2p6hmrqgfj1l"; sha256 = "a26bc2e25e0ad3f8650385aea25cf734ac4fcd30e54faec92fd39675da75e527";
}; };
propagatedBuildInputs = [ mistune docutils ]; propagatedBuildInputs = [ mistune docutils ];

View file

@ -27,12 +27,12 @@ let
inherit (stdenv) isDarwin; inherit (stdenv) isDarwin;
in buildPythonPackage rec { in buildPythonPackage rec {
pname = "pandas"; pname = "pandas";
version = "0.20.1"; version = "0.20.2";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "42707365577ef69f7c9c168ddcf045df2957595a9ee71bc13c7997eecb96b190"; sha256 = "92173c976fcca70cb19a958eccdacf98af62ef7301bf786d0321cb8857cdfae6";
}; };
LC_ALL = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8";

View file

@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, fetchPypi
, setuptools_scm
, pytestrunner
, pytest
, glibcLocales
}:
buildPythonPackage rec {
pname = "path.py";
version = "10.3.1";
name = "path.py-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "412706be1cd8ab723c77829f9aa0c4d4b7c7b26c7b1be0275a6841c3cb1001e0";
};
checkInputs = [ pytest pytestrunner ];
buildInputs = [setuptools_scm glibcLocales ];
LC_ALL="en_US.UTF-8";
meta = {
description = "A module wrapper for os.path";
homepage = http://github.com/jaraco/path.py;
license = lib.licenses.mit;
};
checkPhase = ''
py.test test_path.py
'';
}

View file

@ -1,5 +1,5 @@
{ stdenv { stdenv
, fetchurl , fetchPypi
, buildPythonPackage , buildPythonPackage
, Mako , Mako
, pytest , pytest
@ -15,16 +15,16 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyopencl"; pname = "pyopencl";
version = "2017.1"; version = "2017.1.1";
name = "${pname}-${version}"; name = "${pname}-${version}";
buildInputs = [ pytest opencl-headers ocl-icd ]; buildInputs = [ pytest opencl-headers ocl-icd ];
propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ]; propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ];
src = fetchurl { src = fetchPypi {
url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz"; inherit pname version;
sha256 = "b5085b6412e5a1037b893853e4e47ecb36dd04586b0f8e1809f50f7fe1437dae"; sha256 = "928c458a463321c6c91e7fa54bf325bf71d7a8aa5ff750ec8fed2472f6aeb323";
}; };
# gcc: error: pygpu_language_opencl.cpp: No such file or directory # gcc: error: pygpu_language_opencl.cpp: No such file or directory

View file

@ -0,0 +1,41 @@
{ stdenv, buildPythonPackage, fetchpatch, fetchPypi, python
, nose, pillow
, gfortran, glibcLocales
, numpy, scipy
}:
buildPythonPackage rec {
pname = "scikit-learn";
version = "0.18.1";
name = "${pname}-${version}";
disabled = stdenv.isi686; # https://github.com/scikit-learn/scikit-learn/issues/5534
src = fetchPypi {
inherit pname version;
sha256 = "1eddfc27bb37597a5d514de1299981758e660e0af56981c0bfdf462c9568a60c";
};
patches = [
# python 3.6 test fixes (will be part of 0.18.2)
(fetchpatch {
url = https://github.com/scikit-learn/scikit-learn/pull/8123/commits/b77f28a7163cb4909da1b310f1fb741bee3cabfe.patch;
sha256 = "1rp6kr6hiabb6s0vh7mkgr10qwrqlq3z1fhpi0s011hg434ckh19";
})
];
buildInputs = [ nose pillow gfortran glibcLocales ];
propagatedBuildInputs = [ numpy scipy numpy.blas ];
LC_ALL="en_US.UTF-8";
checkPhase = ''
HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests $out/${python.sitePackages}/sklearn/
'';
meta = with stdenv.lib; {
description = "A set of python modules for machine learning and data mining";
homepage = http://scikit-learn.org;
license = licenses.bsd3;
maintainers = with maintainers; [ fridh ];
};
}

View file

@ -1,12 +1,14 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, stdenv
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "simplejson"; pname = "simplejson";
version = "3.10.0"; version = "3.10.0";
name = "${pname}-${version}"; name = "${pname}-${version}";
doCheck = !stdenv.isDarwin;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
@ -25,4 +27,4 @@ buildPythonPackage rec {
homepage = http://code.google.com/p/simplejson/; homepage = http://code.google.com/p/simplejson/;
license = lib.licenses.mit; license = lib.licenses.mit;
}; };
} }

View file

@ -0,0 +1,24 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, systemd, pkgconfig }:
buildPythonPackage rec {
name = "python-systemd-${version}";
version = "234";
src = fetchFromGitHub {
owner = "systemd";
repo = "python-systemd";
rev = "v${version}";
sha256 = "1fakw7qln44mfd6pj4kqsgyrhkc6cyr653id34kv0rdnb1bvysrz";
};
buildInputs = [ systemd ];
nativeBuildInputs = [ pkgconfig ];
doCheck = false;
meta = with stdenv.lib; {
description = "Python module for native access to the systemd facilities";
homepage = http://www.freedesktop.org/software/systemd/python-systemd/;
license = licenses.lgpl21;
};
}

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ammonite-${version}"; name = "ammonite-${version}";
version = "0.9.6"; version = "0.9.9";
scalaVersion = "2.12"; scalaVersion = "2.12";
src = fetchurl { src = fetchurl {
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}"; url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
sha256 = "113h8i2i6mlm4f4r2wfj9bggg46lpvamdw3c112qji2y74iriljq"; sha256 = "0qiqy681y1w21gjxw30kn44vxh9615j3825v06aq690p56w3rc63";
}; };
propagatedBuildInputs = [ jre ] ; propagatedBuildInputs = [ jre ] ;

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jenkins-${version}"; name = "jenkins-${version}";
version = "2.63"; version = "2.64";
src = fetchurl { src = fetchurl {
url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
sha256 = "024bzbca2ikk3904df4f8ri37qjq7nzzmg58jax8cbvcbxcik699"; sha256 = "0w0yz36kj4bw5lswyxqg6rfcvrqmkvidfrbbvdn8rq6sfrcpvjrg";
}; };
buildCommand = '' buildCommand = ''

View file

@ -18,6 +18,11 @@ buildRustPackage rec {
nativeBuildInputs = [ cmake pkgconfig perl ]; nativeBuildInputs = [ cmake pkgconfig perl ];
buildInputs = [ openssl zlib ]; buildInputs = [ openssl zlib ];
postBuild = ''
mkdir -p "$out/man/man1"
cp "$src/git-series.1" "$out/man/man1"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A tool to help with formatting git patches for review on mailing lists"; description = "A tool to help with formatting git patches for review on mailing lists";
longDescription = '' longDescription = ''

View file

@ -1,14 +1,14 @@
{ stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }: { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
let let
ver = "2017.0"; ver = "2017.1";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "alfred-${ver}"; name = "alfred-${ver}";
src = fetchurl { src = fetchurl {
url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
sha256 = "1a0gnl8v8l7zj01hca0srbsc11sk51rj1qac6lw242z35hyximpq"; sha256 = "1c6zq8j0nb1wm9zzlzc2bn8a500pvqbn2vv9hrv6nvq7il2silzq";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View file

@ -1,14 +1,14 @@
{ stdenv, fetchurl, pkgconfig, libnl }: { stdenv, fetchurl, pkgconfig, libnl }:
let let
ver = "2017.0"; ver = "2017.1";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "batctl-${ver}"; name = "batctl-${ver}";
src = fetchurl { src = fetchurl {
url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
sha256 = "11n66hcs4jdnfdl896kzz22zlw8d2p8n6sldxfmlc2q7sqki3fy0"; sha256 = "1imb59iaaw50y76595z6zvqnbpjgqkkp79gq4s7w7nj8wikiqcgq";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View file

@ -1,15 +1,13 @@
{ stdenv, fetchurl, kernel }: { stdenv, fetchurl, kernel }:
#assert stdenv.lib.versionOlder kernel.version "3.17"; let base = "batman-adv-2017.1"; in
let base = "batman-adv-2017.0.1"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${base}-${kernel.version}"; name = "${base}-${kernel.version}";
src = fetchurl { src = fetchurl {
url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz"; url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
sha256 = "0z640jgi9l9355s8v75yhrb9wjyc7cd4618pjpb17vy576bvrhjm"; sha256 = "05cck0mlg8xsvbra69x6i25xclsq1xc49dggxq81gi086c14h67c";
}; };
hardeningDisable = [ "pic" ]; hardeningDisable = [ "pic" ];

View file

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
substituteInPlace user/legacy/Makefile.in \ substituteInPlace user/legacy/Makefile.in \
--replace '$(DESTDIR)/lib/drbd' '$(DESTDIR)$(LIBDIR)' --replace '$(DESTDIR)/lib/drbd' '$(DESTDIR)$(LIBDIR)'
substituteInPlace user/drbdadm_usage_cnt.c --replace /lib/drbd $out/lib/drbd substituteInPlace user/drbdadm_usage_cnt.c --replace /lib/drbd $out/lib/drbd
substituteInPlace scripts/drbd.rules --replace /sbin/drbdadm $out/sbin/drbdadm substituteInPlace scripts/drbd.rules --replace /usr/sbin/drbdadm $out/sbin/drbdadm
''; '';
makeFlags = "SHELL=${stdenv.shell}"; makeFlags = "SHELL=${stdenv.shell}";

View file

@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
''; '';
patchPhase = '' patchPhase = ''
runHook prePatch
# Remove libOpenCL.so, since we use ocl-icd's libOpenCL.so instead and this would cause a clash. # Remove libOpenCL.so, since we use ocl-icd's libOpenCL.so instead and this would cause a clash.
rm opt/intel/opencl/libOpenCL.so* rm opt/intel/opencl/libOpenCL.so*
@ -35,18 +37,28 @@ stdenv.mkDerivation rec {
for lib in opt/intel/opencl/*.so; do for lib in opt/intel/opencl/*.so; do
patchelf --set-rpath "${libPath}:$out/lib/intel-ocl" $lib || true patchelf --set-rpath "${libPath}:$out/lib/intel-ocl" $lib || true
done done
runHook postPatch
''; '';
buildPhase = '' buildPhase = ''
runHook preBuild
# Create ICD file, which just contains the path of the corresponding shared library. # Create ICD file, which just contains the path of the corresponding shared library.
echo "$out/lib/intel-ocl/libintelocl.so" > intel.icd echo "$out/lib/intel-ocl/libintelocl.so" > intel.icd
runHook postBuild
''; '';
installPhase = '' installPhase = ''
runHook preInstall
install -D -m 0755 opt/intel/opencl/*.so* -t $out/lib/intel-ocl install -D -m 0755 opt/intel/opencl/*.so* -t $out/lib/intel-ocl
install -D -m 0644 opt/intel/opencl/*.{o,rtl,bin} -t $out/lib/intel-ocl install -D -m 0644 opt/intel/opencl/*.{o,rtl,bin} -t $out/lib/intel-ocl
install -D -m 0644 opt/intel/opencl/{LICENSE,NOTICES} -t $out/share/doc/intel-ocl install -D -m 0644 opt/intel/opencl/{LICENSE,NOTICES} -t $out/share/doc/intel-ocl
install -D -m 0644 intel.icd -t $out/etc/OpenCL/vendors install -D -m 0644 intel.icd -t $out/etc/OpenCL/vendors
runHook postInstall
''; '';
dontStrip = true; dontStrip = true;

View file

@ -1,13 +1,13 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args: { stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "4.12-rc3"; version = "4.12-rc4";
modDirVersion = "4.12.0-rc3"; modDirVersion = "4.12.0-rc4";
extraMeta.branch = "4.12"; extraMeta.branch = "4.12";
src = fetchurl { src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
sha256 = "0jwhsmw4igf5iwf4qndqbjzayag2wj2riypzl0v3yrh5zkhfl4dm"; sha256 = "05sdyf9vs3cmcfpgn7bwmz59bpdpz65ly755lknxm5nms5vg7ph3";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View file

@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
# Note: ATM only the libraries have been tested in nixpkgs. # Note: ATM only the libraries have been tested in nixpkgs.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "knot-dns-${version}"; name = "knot-dns-${version}";
version = "2.4.2"; version = "2.5.0";
src = fetchurl { src = fetchurl {
url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz"; url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
sha256 = "37da7fcf1f194bd6376c63d8c4fa28a21899b56a3f3b63dba7095740a5752c52"; sha256 = "1x293cyp10c84hvcnaqpf2s6kyma08l380858l0isy19n074zaiw";
}; };
outputs = [ "bin" "out" "dev" ]; outputs = [ "bin" "out" "dev" ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "emby-${version}"; name = "emby-${version}";
version = "3.2.15.0"; version = "3.2.19.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip"; url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip";
sha256 = "0xfjj899l7xmmiwwbfj4j9dwgrq10911nls06viz793bflmxw082"; sha256 = "14gwkglngaf29zzjqyph8pqz8i8i9j2vha9g2m17slgdxif4ijzc";
}; };
buildInputs = with pkgs; [ buildInputs = with pkgs; [

View file

@ -1,6 +1,6 @@
{ callPackage, ... }@args: { callPackage, ... }@args:
callPackage ./generic.nix (args // { callPackage ./generic.nix (args // {
version = "1.13.0"; version = "1.13.1";
sha256 = "1mq56rl3rq3bhnrqsywxfrwh0y5m0n0q0sck8ca4x18ganv2mxbr"; sha256 = "0xk7gcsgwhz047h54adn8crnkrkr7g1z79w8ik34v6k0lrr6r1d5";
}) })

View file

@ -1,7 +1,7 @@
{ lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }: { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
buildGoPackage rec { buildGoPackage rec {
version = "4.2.0"; version = "4.3.2";
name = "grafana-v${version}"; name = "grafana-v${version}";
goPackagePath = "github.com/grafana/grafana"; goPackagePath = "github.com/grafana/grafana";
@ -9,12 +9,12 @@ buildGoPackage rec {
rev = "v${version}"; rev = "v${version}";
owner = "grafana"; owner = "grafana";
repo = "grafana"; repo = "grafana";
sha256 = "0zzvdzakswqidxbsss98nfa8rw80r36f45yviai12xsns9jzmj7z"; sha256 = "0hz323favjm0gz4s2112rl8ygw7dy2pz808yhraplq8nljqh4h11";
}; };
srcStatic = fetchurl { srcStatic = fetchurl {
url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}.linux-x64.tar.gz"; url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-x64.tar.gz";
sha256 = "1cs7ghkp13znz9yxv108770xjfsp8vks6xkzpqqhsjis5h5y0g9w"; sha256 = "0vk668ibayx0hqlam9jns5c7pggdh83yy54hnz5l7fnws4lm50qc";
}; };
preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace"; preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "radarr-${version}"; name = "radarr-${version}";
version = "0.2.0.654"; version = "0.2.0.696";
src = fetchurl { src = fetchurl {
url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz"; url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz";
sha256 = "05sb3zk8gvydmkiy7g9ha5cmiqzqfwcydljm401zjndzwzhkz698"; sha256 = "0rqxhzn8hmg6a8di1gaxlrfp5f7mykf2lxrzhri10zqs975i3a29";
}; };
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sonarr-${version}"; name = "sonarr-${version}";
version = "2.0.0.4689"; version = "2.0.0.4753";
src = fetchurl { src = fetchurl {
url = "http://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz"; url = "http://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz";
sha256 = "056ndn98byn6gkiq46vn8pl0s715ni7wklxnmid2hk5xwyjy7bwk"; sha256 = "1rhdnd37fd5a4wbnrd817bf7ln4095kzmv283kmm8fz93nmmc19c";
}; };
buildInputs = [ buildInputs = [

View file

@ -316,6 +316,11 @@ in
}; };
xf86inputlibinput = attrs: attrs // { xf86inputlibinput = attrs: attrs // {
name = "xf86-input-libinput-0.25.1";
src = args.fetchurl {
url = mirror://xorg/individual/driver/xf86-input-libinput-0.25.1.tar.bz2;
sha256 = "1q67hjd67ni1nq7kgxdrrdgkyhzaqvvn2vlnsiiq9w4y3icpv7s8";
};
buildInputs = attrs.buildInputs ++ [ args.libinput ]; buildInputs = attrs.buildInputs ++ [ args.libinput ];
installFlags = "sdkdir=\${out}/include/xorg"; installFlags = "sdkdir=\${out}/include/xorg";
}; };

View file

@ -29,8 +29,12 @@ stdenv.mkDerivation rec {
doCheck = false; doCheck = false;
installPhase = '' installPhase = ''
runHook preInstall
install -D --mode 0755 --target-directory $out/bin bin/ckb-daemon bin/ckb install -D --mode 0755 --target-directory $out/bin bin/ckb-daemon bin/ckb
install -D --mode 0755 --target-directory $out/libexec/ckb-animations bin/ckb-animations/* install -D --mode 0755 --target-directory $out/libexec/ckb-animations bin/ckb-animations/*
runHook postInstall
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -1,6 +1,7 @@
{ lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz { lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz
, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, readline , pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, readline
, autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl
, libseccomp, busybox
, storeDir ? "/nix/store" , storeDir ? "/nix/store"
, stateDir ? "/nix/var" , stateDir ? "/nix/var"
, confDir ? "/etc" , confDir ? "/etc"
@ -8,23 +9,38 @@
let let
sh = busybox.override {
useMusl = true;
enableStatic = true;
enableMinimal = true;
extraConfig = ''
CONFIG_ASH y
CONFIG_ASH_BUILTIN_ECHO y
CONFIG_ASH_BUILTIN_TEST y
CONFIG_ASH_OPTIMIZE_FOR_SIZE y
'';
};
common = { name, suffix ? "", src, fromGit ? false }: stdenv.mkDerivation rec { common = { name, suffix ? "", src, fromGit ? false }: stdenv.mkDerivation rec {
inherit name src; inherit name src;
version = lib.getVersion name; version = lib.getVersion name;
is112 = lib.versionAtLeast version "1.12pre";
VERSION_SUFFIX = lib.optionalString fromGit suffix; VERSION_SUFFIX = lib.optionalString fromGit suffix;
outputs = [ "out" "dev" "man" "doc" ]; outputs = [ "out" "dev" "man" "doc" ];
nativeBuildInputs = nativeBuildInputs =
[ pkgconfig ] [ pkgconfig ]
++ lib.optionals (!lib.versionAtLeast version "1.12pre") [ perl ] ++ lib.optionals (!is112) [ perl ]
++ lib.optionals fromGit [ autoreconfHook autoconf-archive bison flex libxml2 libxslt docbook5 docbook5_xsl ]; ++ lib.optionals fromGit [ autoreconfHook autoconf-archive bison flex libxml2 libxslt docbook5 docbook5_xsl ];
buildInputs = [ curl openssl sqlite xz ] buildInputs = [ curl openssl sqlite xz ]
++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
++ lib.optionals fromGit [ brotli readline ] # Since 1.12 ++ lib.optionals fromGit [ brotli readline ] # Since 1.12
++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && lib.versionAtLeast version "1.12pre") ++ lib.optional (stdenv.isLinux && is112) libseccomp
++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && is112)
(aws-sdk-cpp.override { (aws-sdk-cpp.override {
apis = ["s3"]; apis = ["s3"];
customMemoryManagement = false; customMemoryManagement = false;
@ -48,10 +64,12 @@ let
"--disable-init-state" "--disable-init-state"
"--enable-gc" "--enable-gc"
] ]
++ lib.optionals (!lib.versionAtLeast version "1.12pre") [ ++ lib.optionals (!is112) [
"--with-dbi=${perlPackages.DBI}/${perl.libPrefix}" "--with-dbi=${perlPackages.DBI}/${perl.libPrefix}"
"--with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}" "--with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}"
"--with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}" "--with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}"
] ++ lib.optionals (is112 && stdenv.isLinux) [
"--with-sandbox-shell=${sh}/bin/busybox"
]; ];
makeFlags = "profiledir=$(out)/etc/profile.d"; makeFlags = "profiledir=$(out)/etc/profile.d";
@ -139,12 +157,12 @@ in rec {
nixUnstable = (lib.lowPrio (common rec { nixUnstable = (lib.lowPrio (common rec {
name = "nix-1.12${suffix}"; name = "nix-1.12${suffix}";
suffix = "pre5350_7689181e"; suffix = "pre5413_b4b1f452";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NixOS"; owner = "NixOS";
repo = "nix"; repo = "nix";
rev = "7689181e4f5921d3356736996079ec0310e834c6"; rev = "b4b1f4525f8dc8f320d666c208bff5cb36777580";
sha256 = "08daxcpj18dffsbqs3fckahq06gzs8kl6xr4b4jgijwdl5vqwiri"; sha256 = "0qb18k2rp6bbg8g50754srl95dq0lr96i297856yhrx1hh1ja37z";
}; };
fromGit = true; fromGit = true;
})) // { perl-bindings = perl-bindings { nix = nixUnstable; }; }; })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; };

View file

@ -18,7 +18,9 @@ stdenv.mkDerivation rec {
# $out is not known until the build has started. # $out is not known until the build has started.
configurePhase = '' configurePhase = ''
runHook preConfigure
makeFlags="$makeFlags PREFIX=$out" makeFlags="$makeFlags PREFIX=$out"
runHook postConfigure
''; '';
postFixup = '' postFixup = ''

View file

@ -7,7 +7,7 @@ let
in buildGoPackage rec { in buildGoPackage rec {
name = "journalbeat-${version}"; name = "journalbeat-${version}";
version = "5.1.2"; version = "5.4.1";
goPackagePath = "github.com/mheese/journalbeat"; goPackagePath = "github.com/mheese/journalbeat";
@ -22,7 +22,7 @@ in buildGoPackage rec {
owner = "mheese"; owner = "mheese";
repo = "journalbeat"; repo = "journalbeat";
rev = "v${version}"; rev = "v${version}";
sha256 = "179jayzvd5k4mwhn73yflbzl5md1fmv7a9hb8vz2ir76lvr33g3l"; sha256 = "14mhx3gqg19ljcr07ahbry9k5hkbj2mjji4qsjrbc7jknis6frz4";
}; };
meta = with lib; { meta = with lib; {

View file

@ -23,10 +23,13 @@ in pythonPackages.buildPythonApplication rec {
substituteInPlace cloudinit/config/cc_growpart.py \ substituteInPlace cloudinit/config/cc_growpart.py \
--replace 'util.subp(["growpart"' 'util.subp(["${cloud-utils}/bin/growpart"' --replace 'util.subp(["growpart"' 'util.subp(["${cloud-utils}/bin/growpart"'
# Argparse is part of python stdlib
sed -i s/argparse// requirements.txt
''; '';
propagatedBuildInputs = with pythonPackages; [ cheetah jinja2 prettytable propagatedBuildInputs = with pythonPackages; [ cheetah jinja2 prettytable
oauthlib pyserial configobj pyyaml argparse requests jsonpatch ]; oauthlib pyserial configobj pyyaml requests jsonpatch ];
meta = { meta = {
homepage = http://cloudinit.readthedocs.org; homepage = http://cloudinit.readthedocs.org;

View file

@ -15162,6 +15162,8 @@ with pkgs;
polybar = callPackage ../applications/misc/polybar { }; polybar = callPackage ../applications/misc/polybar { };
rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { }; scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { };
shotcut = libsForQt5.callPackage ../applications/video/shotcut { }; shotcut = libsForQt5.callPackage ../applications/video/shotcut { };
@ -16527,13 +16529,17 @@ with pkgs;
plugins = let inherit (lib) optional optionals; in with kodiPlugins; plugins = let inherit (lib) optional optionals; in with kodiPlugins;
([] ([]
++ optional (config.kodi.enableAdvancedLauncher or false) advanced-launcher ++ optional (config.kodi.enableAdvancedLauncher or false) advanced-launcher
++ optional (config.kodi.enableAdvancedEmulatorLauncher or false)
advanced-emulator-launcher
++ optionals (config.kodi.enableControllers or false) ++ optionals (config.kodi.enableControllers or false)
(with controllers; (with controllers;
[ default dreamcast gba genesis mouse n64 nes ps snes ]) [ default dreamcast gba genesis mouse n64 nes ps snes ])
++ optional (config.kodi.enableExodus or false) exodus ++ optional (config.kodi.enableExodus or false) exodus
++ optionals (config.kodi.enableHyperLauncher or false) ++ optionals (config.kodi.enableHyperLauncher or false)
(with hyper-launcher; [ plugin service pdfreader ]) (with hyper-launcher; [ plugin service pdfreader ])
++ optional (config.kodi.enableJoystick or false) joystick
++ optional (config.kodi.enableSVTPlay or false) svtplay ++ optional (config.kodi.enableSVTPlay or false) svtplay
++ optional (config.kodi.enableSteamController or false) steam-controller
++ optional (config.kodi.enableSteamLauncher or false) steam-launcher ++ optional (config.kodi.enableSteamLauncher or false) steam-launcher
++ optional (config.kodi.enablePVRHTS or false) pvr-hts ++ optional (config.kodi.enablePVRHTS or false) pvr-hts
++ optional (config.kodi.enablePVRHDHomeRun or false) pvr-hdhomerun ++ optional (config.kodi.enablePVRHDHomeRun or false) pvr-hdhomerun
@ -16584,9 +16590,7 @@ with pkgs;
}; };
xbmcPlain = kodiPlain; xbmcPlain = kodiPlain;
kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix { kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix {});
kodi = kodiPlain;
});
xbmcPlugins = kodiPlugins; xbmcPlugins = kodiPlugins;
kodi = wrapKodi { kodi = wrapKodi {

View file

@ -17486,29 +17486,7 @@ in {
}; };
pathpy = buildPythonPackage rec { pathpy = callPackage ../development/python-modules/path.py { };
version = "10.1";
name = "path.py-${version}";
src = pkgs.fetchurl {
url = "mirror://pypi/p/path.py/${name}.tar.gz";
sha256 = "8b0ee56f6c1421a9038823926ee8da354ce70933424b408558bc6b48496587f3";
};
buildInputs = with self; [setuptools_scm pytestrunner pytest pkgs.glibcLocales ];
LC_ALL="en_US.UTF-8";
meta = {
description = "A module wrapper for os.path";
homepage = http://github.com/jaraco/path.py;
license = licenses.mit;
};
checkPhase = ''
py.test test_path.py
'';
};
paypalrestsdk = buildPythonPackage rec { paypalrestsdk = buildPythonPackage rec {
name = "paypalrestsdk-0.7.0"; name = "paypalrestsdk-0.7.0";
@ -18663,13 +18641,24 @@ in {
}; };
pygit2 = buildPythonPackage rec { pygit2 = buildPythonPackage rec {
name = "pygit2-0.25.0"; name = "pygit2-0.25.1";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/p/pygit2/${name}.tar.gz"; url = "mirror://pypi/p/pygit2/${name}.tar.gz";
sha256 = "0wf5rp0fvrw7j3j18dvwjq6xqlbm611wd55aphrfpps0v1gxh3ny"; sha256 = "0sja3g9mqwp5bnhdc313b2gc4z3p70nn6zzf2h8j581g0lrn0sg8";
}; };
# Fixes a bug which can cause test failed when cffi==1.10
prePatch = let
cffiVersionPatch = pkgs.fetchurl {
url = "https://github.com/libgit2/pygit2/commit/b88dc868423af2f760f649960112efd0e37e5335.patch";
sha256 = "14cfrz56y2dnwlxrrss9pjhxfnyyg5856gbabzjzyx674k0qcid4";
};
in ''
# we need to delete part of the patch because the missing .travis.yml causes problem
sed -e '1,36d' ${cffiVersionPatch} | patch -p1
'';
preConfigure = ( if stdenv.isDarwin then '' preConfigure = ( if stdenv.isDarwin then ''
export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib" export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib"
'' else "" ); '' else "" );
@ -18680,6 +18669,7 @@ in {
# disable tests that require networking # disable tests that require networking
rm test/test_repository.py rm test/test_repository.py
rm test/test_credentials.py rm test/test_credentials.py
rm test/test_submodule.py
''; '';
meta = { meta = {
@ -22177,32 +22167,8 @@ in {
}; };
}; };
scikitlearn = callPackage ../development/python-modules/scikitlearn {
scikitlearn = buildPythonPackage rec { inherit (pkgs) gfortran glibcLocales;
name = "scikit-learn-${version}";
version = "0.18.1";
disabled = stdenv.isi686; # https://github.com/scikit-learn/scikit-learn/issues/5534
src = pkgs.fetchurl {
url = "mirror://pypi/s/scikit-learn/${name}.tar.gz";
sha256 = "1eddfc27bb37597a5d514de1299981758e660e0af56981c0bfdf462c9568a60c";
};
buildInputs = with self; [ nose pillow pkgs.gfortran pkgs.glibcLocales ];
propagatedBuildInputs = with self; [ numpy scipy numpy.blas ];
LC_ALL="en_US.UTF-8";
checkPhase = ''
HOME=$TMPDIR OMP_NUM_THREADS=1 nosetests $out/${python.sitePackages}/sklearn/
'';
meta = {
description = "A set of python modules for machine learning and data mining";
homepage = http://scikit-learn.org;
license = licenses.bsd3;
maintainers = with maintainers; [ fridh ];
};
}; };
scripttest = buildPythonPackage rec { scripttest = buildPythonPackage rec {
@ -24042,25 +24008,8 @@ in {
}; };
}; };
systemd = buildPythonPackage rec { systemd = callPackage ../development/python-modules/systemd {
version = "233"; inherit (pkgs) pkgconfig systemd;
name = "python-systemd-${version}";
src = pkgs.fetchurl {
url = "https://github.com/systemd/python-systemd/archive/v${version}.tar.gz";
sha256 = "1ryzv0d5y448mxpf2cx97rk0403w2w44bha8rqgww1fasx0c9dgg";
};
buildInputs = with pkgs; [ systemd pkgconfig ];
# Certain tests only run successfully on a machine w/ systemd.
doCheck = false;
meta = {
description = "Python module for native access to the systemd facilities";
homepage = http://www.freedesktop.org/software/systemd/python-systemd/;
license = licenses.lgpl21;
};
}; };
tabulate = buildPythonPackage rec { tabulate = buildPythonPackage rec {