diff --git a/maintainers/scripts/update-python-libraries b/maintainers/scripts/update-python-libraries index 90f6c94233a..278c467b054 100755 --- a/maintainers/scripts/update-python-libraries +++ b/maintainers/scripts/update-python-libraries @@ -25,18 +25,33 @@ INDEX = "https://pypi.io/pypi" EXTENSIONS = ['tar.gz', 'tar.bz2', 'tar', 'zip', '.whl'] """Permitted file extensions. These are evaluated from left to right and the first occurance is returned.""" -def _get_value(attribute, text): - """Match attribute in text and return it.""" +import logging +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 = re.compile(regex) - value = regex.findall(text) - n = len(value) + values = regex.findall(text) + 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: - raise ValueError("Found too many values for {}".format(attribute)) + raise ValueError("found too many values for {}".format(attribute)) elif n == 1: - return value[0] + return values[0] else: - raise ValueError("No value found for {}".format(attribute)) + raise ValueError("no value found for {}".format(attribute)) def _get_line_and_value(attribute, text): """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) n = len(value) if n > 1: - raise ValueError("Found too many values for {}".format(attribute)) + raise ValueError("found too many values for {}".format(attribute)) elif n == 1: return value[0] else: - raise ValueError("No value found for {}".format(attribute)) + raise ValueError("no value found for {}".format(attribute)) def _replace_value(attribute, value, text): @@ -64,175 +79,151 @@ def _fetch_page(url): if r.status_code == requests.codes.ok: return r.json() else: - raise ValueError("Request for {} failed".format(url)) - -def _get_latest_version(package, extension): - + raise ValueError("request for {} failed".format(url)) +def _get_latest_version_pypi(package, extension): + """Get latest version and hash from PyPI.""" url = "{}/{}/json".format(INDEX, package) json = _fetch_page(url) - data = extract_relevant_nix_data(json, extension)[1] - - version = data['latest_version'] - if version in data['versions']: - sha256 = data['versions'][version]['sha256'] - else: - sha256 = None # Its possible that no file was uploaded to PyPI + version = json['info']['version'] + for release in json['releases'][version]: + if release['filename'].endswith(extension): + # TODO: In case of wheel we need to do further checks! + sha256 = release['digests']['sha256'] return version, sha256 -def extract_relevant_nix_data(json, extension): - """Extract relevant Nix data from the JSON of a package obtained from PyPI. +def _get_latest_version_github(package, extension): + 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): - """Extract license from JSON.""" - return json['info']['license'] + if fetcher == 'fetchPypi': + try: + format = _get_unique_value('format', text) + except ValueError as e: + format = None # format was not given - def _available_versions(json): - return json['releases'].keys() + try: + extension = _get_unique_value('extension', text) + except ValueError as e: + extension = None # extension was not given - def _extract_latest_version(json): - return json['info']['version'] + if extension is None: + if format is None: + format = 'setuptools' + extension = FORMATS[format] - def _get_src_and_hash(json, version, extensions): - """Obtain url and hash for a given version and list of allowable extensions.""" - if not json['releases']: - msg = "Package {}: No releases available.".format(json['info']['name']) - raise ValueError(msg) - 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) + elif fetcher == 'fetchurl': + url = _get_unique_value('url', text) + extension = os.path.splitext(url)[1] + if 'pypi' not in url: + raise ValueError('url does not point to PyPI.') - def _get_sources(json, extensions): - versions = _available_versions(json) - 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 + elif fetcher == 'fetchFromGitHub': + raise ValueError('updating from GitHub is not yet implemented.') - # Collect data) - 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 + return extension 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. if os.path.isdir(path): path = os.path.join(path, 'default.nix') + # If a default.nix does not exist, we quit. if not os.path.isfile(path): - logging.warning("Path does not exist: {}".format(path)) + logging.info("Path {}: does not exist.".format(path)) return False + # If file is not a Nix expression, we quit. if not path.endswith(".nix"): - logging.warning("Path does not end with `.nix`, skipping: {}".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))) + logging.info("Path {}: does not end with `.nix`.".format(path)) return False try: - version = _get_value('version', text) + return _update_package(path) except ValueError as e: - logging.warning("Path {}: {}".format(path, str(e))) + logging.warning("Path {}: {}".format(path, e)) 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(): parser = argparse.ArgumentParser() @@ -240,11 +231,11 @@ def main(): 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__': main() \ No newline at end of file diff --git a/nixos/modules/services/x11/window-managers/qtile.nix b/nixos/modules/services/x11/window-managers/qtile.nix index 37f84f0903c..ad3b65150b0 100644 --- a/nixos/modules/services/x11/window-managers/qtile.nix +++ b/nixos/modules/services/x11/window-managers/qtile.nix @@ -15,7 +15,7 @@ in services.xserver.windowManager.session = [{ name = "qtile"; start = '' - ${pkgs.qtile}/bin/qtile + ${pkgs.qtile}/bin/qtile & waitPID=$! ''; }]; diff --git a/nixos/release.nix b/nixos/release.nix index 54c2a963e69..467e3bb8cd6 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -222,6 +222,7 @@ in rec { tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; }); tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable; tests.cjdns = callTest tests/cjdns.nix {}; + tests.cloud-init = callTest tests/cloud-init.nix {}; tests.containers-ipv4 = callTest tests/containers-ipv4.nix {}; tests.containers-ipv6 = callTest tests/containers-ipv6.nix {}; tests.containers-bridge = callTest tests/containers-bridge.nix {}; diff --git a/nixos/tests/cloud-init.nix b/nixos/tests/cloud-init.nix new file mode 100644 index 00000000000..c0add7eff36 --- /dev/null +++ b/nixos/tests/cloud-init.nix @@ -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!'"); + ''; +} diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix index 1bb57538cd5..dc896e0b0d9 100644 --- a/pkgs/applications/graphics/unigine-valley/default.nix +++ b/pkgs/applications/graphics/unigine-valley/default.nix @@ -51,20 +51,30 @@ in ]; unpackPhase = '' + runHook preUnpack + cp $src extractor.run chmod +x extractor.run ./extractor.run --target $sourceRoot + + runHook postUnpack ''; patchPhase = '' + runHook prePatch + # Patch ELF files. elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1) for elf in $elfs; do patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true done + + runHook postPatch ''; installPhase = '' + runHook preInstall + instdir=$out/${instPath} # Install executables and libraries @@ -86,6 +96,8 @@ in wrapProgram $out/bin/valley \ --run "cd $instdir" \ --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath + + runHook postInstall ''; stripDebugList = ["${instPath}/bin"]; diff --git a/pkgs/applications/misc/far2l/default.nix b/pkgs/applications/misc/far2l/default.nix index de22e08c705..87709ec102b 100644 --- a/pkgs/applications/misc/far2l/default.nix +++ b/pkgs/applications/misc/far2l/default.nix @@ -1,19 +1,19 @@ { 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 { - rev = "c2f2b89db31b1c3cb9bed53267873f4cd7bc996d"; - build = "2017-03-18-${builtins.substring 0 10 rev}"; + rev = "ab240373f69824c56e9255d452b689cff3b1ecfb"; + build = "2017-05-09-${builtins.substring 0 10 rev}"; name = "far2l-2.1.${build}"; src = fetchFromGitHub { owner = "elfmz"; repo = "far2l"; rev = rev; - sha256 = "1172ajg4n8g4ag14b6nb9lclwh2r6v7ccndmvhnj066w35ixnqgb"; + sha256 = "1b6w6xhja3xkfzhrdy8a8qpbhxws75khm1zhwz8sc8la9ykd541q"; }; - nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper ]; + nativeBuildInputs = [ cmake pkgconfig m4 makeWrapper imagemagick ]; buildInputs = [ wxGTK30 glib pcre ]; @@ -23,8 +23,7 @@ stdenv.mkDerivation rec { substituteInPlace far2l/bootstrap/open.sh \ --replace 'gvfs-trash' '${gvfs}/bin/gvfs-trash' substituteInPlace far2l/bootstrap/open.sh \ - --replace 'xdg-open' '${xdg_utils}/bin/xdg-open' \ - --replace 'xterm' '${xterm}/bin/xterm' + --replace 'xdg-open' '${xdg_utils}/bin/xdg-open' substituteInPlace far2l/vtcompletor.cpp \ --replace '"/bin/bash"' '"${bash}/bin/bash"' substituteInPlace multiarc/src/formats/zip/zip.cpp \ @@ -41,12 +40,20 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -p $out/{bin,share} - rm install/{far2l_askpass,far2l_sudoapp} - mv install/far2l $out/bin/far2l - mv install $out/share/far2l - ln -s -r $out/bin/far2l $out/share/far2l/far2l_askpass - ln -s -r $out/bin/far2l $out/share/far2l/far2l_sudoapp + mkdir -p $out/bin $out/share/applications $out/share/icons/hicolor/scalable/apps + cp -dpR install $out/share/far2l + mv $out/share/far2l/far2l $out/bin/ + ln -s -r --force $out/bin/far2l $out/share/far2l/far2l_askpass + ln -s -r --force $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"; diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix index 287efc89812..2202dd8c4c4 100644 --- a/pkgs/applications/misc/hyper/default.nix +++ b/pkgs/applications/misc/hyper/default.nix @@ -11,11 +11,11 @@ let ]; in stdenv.mkDerivation rec { - version = "1.3.1"; + version = "1.3.3"; name = "hyper-${version}"; src = fetchurl { url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}.deb"; - sha256 = "1i1rnq10a9kid8lggrd1gp9g08v98la8idnyk4kx4vn0svqy7nvl"; + sha256 = "1i68n77yv1g4dfx4xfmcb06mfpwhf0gnb3wmldg2gxkhs0fn19zg"; }; buildInputs = [ dpkg ]; unpackPhase = '' diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix index 0afcbca4979..11ef001ef54 100644 --- a/pkgs/applications/misc/ipmiview/default.nix +++ b/pkgs/applications/misc/ipmiview/default.nix @@ -4,12 +4,13 @@ assert stdenv.isLinux; stdenv.mkDerivation rec { name = "IPMIView-${version}"; - version = "20151223"; + version = "2.12.0"; + buildVersion = "160804"; src = fetchurl { - url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_V2.11.0_bundleJRE_Linux_x64_${version}.tar.gz"; - sha256 = "1rv9j0id7i2ipm25n60bpfdm1gj44xg2aj8rnx4s6id3ln90q121"; - }; + url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz"; + sha256 = "787a060413451a4a5993c31805f55a221087b7199bbaf20e9fe1254e2a76db42"; + }; buildInputs = [ patchelf makeWrapper ]; @@ -23,12 +24,12 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp -R . $out/ - echo "$out/jre/bin/java -jar $out/IPMIView20.jar" > $out/bin/IPMIView - chmod +x $out/bin/IPMIView + makeWrapper $out/jre/bin/java $out/bin/IPMIView \ + --prefix PATH : "$out/jre/bin" \ + --add-flags "-jar $out/IPMIView20.jar" ''; meta = with stdenv.lib; { license = licenses.unfree; }; } - diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix new file mode 100644 index 00000000000..a9e3c1d74e2 --- /dev/null +++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix index f3212ea9b77..8f650e889f6 100644 --- a/pkgs/applications/networking/instant-messengers/rambox/default.nix +++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix @@ -6,7 +6,7 @@ let bits = if stdenv.system == "x86_64-linux" then "x64" else "ia32"; - version = "0.5.3"; + version = "0.5.9"; myIcon = fetchurl { url = "https://raw.githubusercontent.com/saenzramiro/rambox/9e4444e6297dd35743b79fe23f8d451a104028d5/resources/Icon.png"; @@ -25,8 +25,8 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/saenzramiro/rambox/releases/download/${version}/Rambox-${version}-${bits}.tar.gz"; sha256 = if bits == "x64" then - "14pp466l0fj98p5qsb7i11hd603gwsir26m3j4gljzcizb9hirqv" else - "13xmljsdahffdzndg30qxh8mj7bgd9jwkxknrvlh3l6w35pbj085"; + "0wx1cj3h1h28lhvl8ysmvr2wxq39lklk37361i598vph2pvnibi0" else + "1dqjd5rmml63h3y43n1r68il3pn8zwy0wwr0866cnpizsbis96fy"; }; # don't remove runtime deps @@ -34,7 +34,7 @@ in stdenv.mkDerivation rec { deps = (with xorg; [ 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 gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 568f7359697..87018c1e08e 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -1,14 +1,14 @@ { stdenv, lib, fetchFromGitHub, go, pkgs, removeReferencesTo }: stdenv.mkDerivation rec { - version = "0.14.28"; + version = "0.14.29"; name = "syncthing-${version}"; src = fetchFromGitHub { owner = "syncthing"; repo = "syncthing"; rev = "v${version}"; - sha256 = "0bb4ccyb5rjga651z633abiwlps5gy9hpalr5gi0wlrfxwbdivrb"; + sha256 = "01q0xlixjvmzs0acrg54b07fp68sa5axh1wb4lz25mmxfjl04v1d"; }; buildInputs = [ go removeReferencesTo ]; diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index eccd869ba56..bb00a22730b 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -11,7 +11,7 @@ }: let - version = "2.13.0"; + version = "2.13.1"; svn = subversionClient.override { perlBindings = true; }; in @@ -20,7 +20,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "0n0j36rapw31zb0sabap88ffncv8jg3nwc4miyim64ilyav2mgsb"; + sha256 = "1zl88rlga9nhgaqc9d04vp1l1g4x6qj1d02698asnxrzk36vxh9v"; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/video/kodi/commons.nix b/pkgs/applications/video/kodi/commons.nix new file mode 100644 index 00000000000..7e3446d51db --- /dev/null +++ b/pkgs/applications/video/kodi/commons.nix @@ -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 + ''; + + }; +} diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix index 495171b77ee..51ff8fece63 100644 --- a/pkgs/applications/video/kodi/plugins.nix +++ b/pkgs/applications/video/kodi/plugins.nix @@ -1,47 +1,9 @@ -{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, lib -, unzip, cmake, kodi, steam, libcec_platform, tinyxml -, jsoncpp, libhdhomerun }: +{ stdenv, lib, callPackage, fetchurl, fetchFromGitHub, unzip +, steam, libusb, pcre-cpp, jsoncpp, libhdhomerun }: -let +with (callPackage ./commons.nix {}); - 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 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 -{ +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 pname = "game-controller"; 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 { 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 { plugin = "steam-launcher"; @@ -234,7 +269,8 @@ in }; }; - pvr-hts = (mkKodiPlugin rec { + pvr-hts = mkKodiABIPlugin rec { + plugin = "pvr-hts"; namespace = "pvr.hts"; version = "3.4.16"; @@ -252,22 +288,11 @@ in platforms = platforms.all; 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"; namespace = "pvr.hdhomerun"; version = "2.4.7"; @@ -285,18 +310,8 @@ in platforms = platforms.all; maintainers = with maintainers; [ titanous ]; }; - }).override { - buildInputs = [ cmake jsoncpp libhdhomerun kodi libcec_platform kodi-platform ]; - # disables check ensuring install prefix is that of kodi - cmakeFlags = [ "-DOVERRIDE_PATHS=1" ]; + extraBuildInputs = [ jsoncpp libhdhomerun ]; - # 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 - ''; }; } diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index 766779b1299..dad16ffb0f0 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -44,6 +44,10 @@ python2Packages.buildPythonApplication rec { ${glib.dev}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas ''; + preFixup = '' + gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH") + ''; + # Failed tests doCheck = false; diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix index 31f5845cc86..72eaae99877 100644 --- a/pkgs/development/compilers/binaryen/default.nix +++ b/pkgs/development/compilers/binaryen/default.nix @@ -1,14 +1,14 @@ { stdenv, cmake, fetchFromGitHub }: stdenv.mkDerivation rec { - version = "32"; + version = "33"; rev = "version_${version}"; name = "binaryen-${version}"; src = fetchFromGitHub { owner = "WebAssembly"; repo = "binaryen"; - sha256 = "0zclw6pa2pkzrnp8ib9qwbjvq38r2h5ynfg8fjl99b5lcyz5m590"; + sha256 = "0zijs2mcgfv0iynwdb0l4zykm0891b1zccf6r8w35ipxvcdwbsbp"; inherit rev; }; diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix index 99e22215bc7..ae7a5ce87b2 100644 --- a/pkgs/development/compilers/emscripten-fastcomp/default.nix +++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake, python, ... }: let - rev = "1.37.10"; + rev = "1.37.13"; gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; in stdenv.mkDerivation rec { @@ -10,14 +10,14 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "kripken"; repo = "emscripten-fastcomp"; - sha256 = "0zl55jaas3cibjscr5q1q6rgw63wqwyc9iffhvs4xi9g1bk5cnx9"; + sha256 = "1r4f4d5dmhxqwmpf2psainx7sj1j26fdp5acifdwg4sbbpsv96az"; inherit rev; }; srcFL = fetchFromGitHub { owner = "kripken"; repo = "emscripten-fastcomp-clang"; - sha256 = "0cdvld0lfl3cl7m6yax7f87ip9iq4rmz8icr68l2g8bl2w8qd89j"; + sha256 = "1p0108iz77vmzm7i1aa29sk93g5vd95xiwmags18qkr7x3fmfqsw"; inherit rev; }; diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix index f118a11e419..b39198f30a4 100644 --- a/pkgs/development/compilers/emscripten/default.nix +++ b/pkgs/development/compilers/emscripten/default.nix @@ -3,7 +3,7 @@ }: let - rev = "1.37.10"; + rev = "1.37.13"; appdir = "share/emscripten"; in @@ -13,7 +13,7 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "kripken"; repo = "emscripten"; - sha256 = "08f3zagxzsj96i09gjg1djd1bmy1gr1ar8n96mzg3ykaygf82d0s"; + sha256 = "0xnr8nq431pksb346fwsbs5knqmcygb8mywzzl0c9nz3ims1vkx5"; inherit rev; }; diff --git a/pkgs/development/compilers/ghcjs/head.nix b/pkgs/development/compilers/ghcjs/head.nix index 591660f5c34..01b13262ef0 100644 --- a/pkgs/development/compilers/ghcjs/head.nix +++ b/pkgs/development/compilers/ghcjs/head.nix @@ -8,10 +8,10 @@ bootPkgs.callPackage ./base.nix { ghcjsSrc = fetchFromGitHub { # TODO: switch back to the regular ghcjs repo # when https://github.com/ghcjs/ghcjs/pull/573 is merged. - owner = "basvandijk"; + owner = "k0001"; repo = "ghcjs"; - rev = "e6cdc71964a1c2e4184416a493e9d384c408914c"; - sha256 = "00fk9qwyx4vpvr0h9jbqxwlrvl6w63l5sq8r357prsp6xyv5zniz"; + rev = "600015e085a28da601b65a41c513d4a458fcd184"; + sha256 = "01kirrg0fnfwhllvwgfqjiwzwj4yv4lyig87x61n9jp6y5shzjdx"; }; ghcjsBootSrc = fetchgit { # TODO: switch back to git://github.com/ghcjs/ghcjs-boot.git diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index f0257ed8a44..17950b383bb 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -17,11 +17,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "libinput-${version}"; - version = "1.5.1"; + version = "1.7.2"; src = fetchurl { url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "d4f63933b0967bd691735af5e3919e2d29c2121d4e05867cc4e10ff3ae8e2dd8"; + sha256 = "0b1e5a6c106ccc609ccececd9e33e6b27c8b01fc7457ddb4c1dd266e780d6bc2"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix index ec3e9997690..30703fc7e3e 100644 --- a/pkgs/development/libraries/lmdb/default.nix +++ b/pkgs/development/libraries/lmdb/default.nix @@ -3,13 +3,13 @@ let optional = stdenv.lib.optional; in stdenv.mkDerivation rec { name = "lmdb-${version}"; - version = "0.9.19"; + version = "0.9.21"; src = fetchFromGitHub { owner = "LMDB"; repo = "lmdb"; rev = "LMDB_${version}"; - sha256 = "04qx803jdmhkcam748fn0az3cyzvj91lw28kcvwfyq0al7pmjkfs"; + sha256 = "026a6himvg3y4ssnccdbgr3c2pq3w2d47nayn05v512875z4f2w3"; }; postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb"; diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix index 762c43d93c0..5ba7c0d0413 100644 --- a/pkgs/development/python-modules/Nikola/default.nix +++ b/pkgs/development/python-modules/Nikola/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "Nikola"; - version = "7.8.6"; + version = "7.8.7"; # 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 @@ -47,7 +47,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "48d3a00c3fc9c61bcd305653a531949bdd777d9211434172549498fd8136e036"; + sha256 = "d9c77ce9758cc0e848d4c99229a28314e8bd2a590c77c56540fa919fca4d779f"; }; meta = { diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix index 52f7fdf039c..fd742031d5a 100644 --- a/pkgs/development/python-modules/astroid/default.nix +++ b/pkgs/development/python-modules/astroid/default.nix @@ -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 , backports_functools_lru_cache }: @@ -6,11 +6,11 @@ buildPythonPackage rec { name = "${pname}-${version}"; pname = "astroid"; - version = "1.5.2"; + version = "1.5.3"; - src = fetchurl { - url = "mirror://pypi/a/${pname}/${name}.tar.gz"; - sha256 = "271f1c9ad6519a5dde2a7f0c9b62c2923b55e16569bdd888f9f9055cc5be37ed"; + src = fetchPypi { + inherit pname version; + sha256 = "492c2a2044adbf6a84a671b7522e9295ad2f6a7c781b899014308db25312dd35"; }; propagatedBuildInputs = [ logilab_common six lazy-object-proxy wrapt ] diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix index cdc77249cb8..0f8b6652c26 100644 --- a/pkgs/development/python-modules/bootstrapped-pip/default.nix +++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix @@ -13,11 +13,6 @@ let format = "wheel"; sha256 = "f2900e560efc479938a219433c48f15a4ff4ecfe575a65de385eeb44f2425587"; }; - argparse_source = fetchPypi { - pname = "argparse"; - version = "1.4.0"; - sha256 = "c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314"; - }; in stdenv.mkDerivation rec { pname = "pip"; version = "9.0.1"; @@ -34,11 +29,8 @@ in stdenv.mkDerivation rec { unzip -d $out/${python.sitePackages} $src unzip -d $out/${python.sitePackages} ${setuptools_source} unzip -d $out/${python.sitePackages} ${wheel_source} - '' + stdenv.lib.optionalString (python.isPy26 or false) '' - unzip -d $out/${python.sitePackages} ${argparse_source} ''; - patchPhase = '' mkdir -p $out/bin ''; diff --git a/pkgs/development/python-modules/guessit/default.nix b/pkgs/development/python-modules/guessit/default.nix index cc5c954b645..b0c0bb9496f 100644 --- a/pkgs/development/python-modules/guessit/default.nix +++ b/pkgs/development/python-modules/guessit/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "guessit"; - version = "2.1.3"; + version = "2.1.4"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "b2eebbb61e4d2b3764ce4462e0b27da0dccbb25b78e13493a2f913a402e1d0fb"; + sha256 = "90e6f9fb49246ad27f34f8b9984357e22562ccc3059241cbc08b4fac1d401c56"; }; # Tests require more packages. diff --git a/pkgs/development/python-modules/m2r/default.nix b/pkgs/development/python-modules/m2r/default.nix index 5a67d6a719b..74cc87d5d89 100644 --- a/pkgs/development/python-modules/m2r/default.nix +++ b/pkgs/development/python-modules/m2r/default.nix @@ -1,13 +1,13 @@ -{ stdenv, buildPythonPackage, fetchurl, +{ stdenv, buildPythonPackage, fetchPypi, mistune, docutils } : buildPythonPackage rec { pname = "m2r"; name = "${pname}-${version}"; - version = "0.1.5"; + version = "0.1.6"; - src = fetchurl { - url = "mirror://pypi/m/m2r/${name}.tar.gz"; - sha256 = "08rjn3x1qag60wawjnq95wmgijrn33apr4fhj01s2p6hmrqgfj1l"; + src = fetchPypi { + inherit pname version; + sha256 = "a26bc2e25e0ad3f8650385aea25cf734ac4fcd30e54faec92fd39675da75e527"; }; propagatedBuildInputs = [ mistune docutils ]; diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix index 0d3a2d2dd5c..ee75d211ad8 100644 --- a/pkgs/development/python-modules/pandas/default.nix +++ b/pkgs/development/python-modules/pandas/default.nix @@ -27,12 +27,12 @@ let inherit (stdenv) isDarwin; in buildPythonPackage rec { pname = "pandas"; - version = "0.20.1"; + version = "0.20.2"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "42707365577ef69f7c9c168ddcf045df2957595a9ee71bc13c7997eecb96b190"; + sha256 = "92173c976fcca70cb19a958eccdacf98af62ef7301bf786d0321cb8857cdfae6"; }; LC_ALL = "en_US.UTF-8"; diff --git a/pkgs/development/python-modules/path.py/default.nix b/pkgs/development/python-modules/path.py/default.nix new file mode 100644 index 00000000000..a40635b8d33 --- /dev/null +++ b/pkgs/development/python-modules/path.py/default.nix @@ -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 + ''; +} \ No newline at end of file diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix index 6b07df0b110..ddab1cde1e6 100644 --- a/pkgs/development/python-modules/pyopencl/default.nix +++ b/pkgs/development/python-modules/pyopencl/default.nix @@ -1,5 +1,5 @@ { stdenv -, fetchurl +, fetchPypi , buildPythonPackage , Mako , pytest @@ -15,16 +15,16 @@ buildPythonPackage rec { pname = "pyopencl"; - version = "2017.1"; + version = "2017.1.1"; name = "${pname}-${version}"; buildInputs = [ pytest opencl-headers ocl-icd ]; propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ]; - src = fetchurl { - url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz"; - sha256 = "b5085b6412e5a1037b893853e4e47ecb36dd04586b0f8e1809f50f7fe1437dae"; + src = fetchPypi { + inherit pname version; + sha256 = "928c458a463321c6c91e7fa54bf325bf71d7a8aa5ff750ec8fed2472f6aeb323"; }; # gcc: error: pygpu_language_opencl.cpp: No such file or directory diff --git a/pkgs/development/python-modules/scikitlearn/default.nix b/pkgs/development/python-modules/scikitlearn/default.nix new file mode 100644 index 00000000000..6ac787bc82b --- /dev/null +++ b/pkgs/development/python-modules/scikitlearn/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix index 983d1765521..4deac80fb06 100644 --- a/pkgs/development/python-modules/simplejson/default.nix +++ b/pkgs/development/python-modules/simplejson/default.nix @@ -1,12 +1,14 @@ { lib , buildPythonPackage , fetchPypi +, stdenv }: buildPythonPackage rec { pname = "simplejson"; version = "3.10.0"; name = "${pname}-${version}"; + doCheck = !stdenv.isDarwin; src = fetchPypi { inherit pname version; @@ -25,4 +27,4 @@ buildPythonPackage rec { homepage = http://code.google.com/p/simplejson/; license = lib.licenses.mit; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/systemd/default.nix b/pkgs/development/python-modules/systemd/default.nix new file mode 100644 index 00000000000..4786e7eb7e1 --- /dev/null +++ b/pkgs/development/python-modules/systemd/default.nix @@ -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; + }; +} diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix index 62a373f2c07..0843c37df06 100644 --- a/pkgs/development/tools/ammonite/default.nix +++ b/pkgs/development/tools/ammonite/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "ammonite-${version}"; - version = "0.9.6"; + version = "0.9.9"; scalaVersion = "2.12"; src = fetchurl { url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}"; - sha256 = "113h8i2i6mlm4f4r2wfj9bggg46lpvamdw3c112qji2y74iriljq"; + sha256 = "0qiqy681y1w21gjxw30kn44vxh9615j3825v06aq690p56w3rc63"; }; propagatedBuildInputs = [ jre ] ; diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index db7002d163e..2c80e9c8002 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "jenkins-${version}"; - version = "2.63"; + version = "2.64"; src = fetchurl { url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; - sha256 = "024bzbca2ikk3904df4f8ri37qjq7nzzmg58jax8cbvcbxcik699"; + sha256 = "0w0yz36kj4bw5lswyxqg6rfcvrqmkvidfrbbvdn8rq6sfrcpvjrg"; }; buildCommand = '' diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix index 6617117ef83..b792cfe8c99 100644 --- a/pkgs/development/tools/git-series/default.nix +++ b/pkgs/development/tools/git-series/default.nix @@ -18,6 +18,11 @@ buildRustPackage rec { nativeBuildInputs = [ cmake pkgconfig perl ]; buildInputs = [ openssl zlib ]; + postBuild = '' + mkdir -p "$out/man/man1" + cp "$src/git-series.1" "$out/man/man1" + ''; + meta = with stdenv.lib; { description = "A tool to help with formatting git patches for review on mailing lists"; longDescription = '' diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix index 5d58e50fd7b..7b800fe6f4f 100644 --- a/pkgs/os-specific/linux/batman-adv/alfred.nix +++ b/pkgs/os-specific/linux/batman-adv/alfred.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }: let - ver = "2017.0"; + ver = "2017.1"; in stdenv.mkDerivation rec { name = "alfred-${ver}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; - sha256 = "1a0gnl8v8l7zj01hca0srbsc11sk51rj1qac6lw242z35hyximpq"; + sha256 = "1c6zq8j0nb1wm9zzlzc2bn8a500pvqbn2vv9hrv6nvq7il2silzq"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix index e7c20a07b05..c34c7746b90 100644 --- a/pkgs/os-specific/linux/batman-adv/batctl.nix +++ b/pkgs/os-specific/linux/batman-adv/batctl.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, libnl }: let - ver = "2017.0"; + ver = "2017.1"; in stdenv.mkDerivation rec { name = "batctl-${ver}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; - sha256 = "11n66hcs4jdnfdl896kzz22zlw8d2p8n6sldxfmlc2q7sqki3fy0"; + sha256 = "1imb59iaaw50y76595z6zvqnbpjgqkkp79gq4s7w7nj8wikiqcgq"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix index a48909685d7..8a96279c66b 100644 --- a/pkgs/os-specific/linux/batman-adv/default.nix +++ b/pkgs/os-specific/linux/batman-adv/default.nix @@ -1,15 +1,13 @@ { stdenv, fetchurl, kernel }: -#assert stdenv.lib.versionOlder kernel.version "3.17"; - -let base = "batman-adv-2017.0.1"; in +let base = "batman-adv-2017.1"; in stdenv.mkDerivation rec { name = "${base}-${kernel.version}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz"; - sha256 = "0z640jgi9l9355s8v75yhrb9wjyc7cd4618pjpb17vy576bvrhjm"; + sha256 = "05cck0mlg8xsvbra69x6i25xclsq1xc49dggxq81gi086c14h67c"; }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix index ead0d41ab8d..5c0fae7bf4f 100644 --- a/pkgs/os-specific/linux/drbd/default.nix +++ b/pkgs/os-specific/linux/drbd/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { substituteInPlace user/legacy/Makefile.in \ --replace '$(DESTDIR)/lib/drbd' '$(DESTDIR)$(LIBDIR)' 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}"; diff --git a/pkgs/os-specific/linux/intel-ocl/default.nix b/pkgs/os-specific/linux/intel-ocl/default.nix index 688cfbb8df5..0d33954fd5d 100644 --- a/pkgs/os-specific/linux/intel-ocl/default.nix +++ b/pkgs/os-specific/linux/intel-ocl/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { ''; patchPhase = '' + runHook prePatch + # Remove libOpenCL.so, since we use ocl-icd's libOpenCL.so instead and this would cause a clash. rm opt/intel/opencl/libOpenCL.so* @@ -35,18 +37,28 @@ stdenv.mkDerivation rec { for lib in opt/intel/opencl/*.so; do patchelf --set-rpath "${libPath}:$out/lib/intel-ocl" $lib || true done + + runHook postPatch ''; buildPhase = '' + runHook preBuild + # Create ICD file, which just contains the path of the corresponding shared library. echo "$out/lib/intel-ocl/libintelocl.so" > intel.icd + + runHook postBuild ''; installPhase = '' + runHook preInstall + 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/{LICENSE,NOTICES} -t $out/share/doc/intel-ocl install -D -m 0644 intel.icd -t $out/etc/OpenCL/vendors + + runHook postInstall ''; dontStrip = true; diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 8c8da674f4d..c9dc44ba753 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.12-rc3"; - modDirVersion = "4.12.0-rc3"; + version = "4.12-rc4"; + modDirVersion = "4.12.0-rc4"; extraMeta.branch = "4.12"; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "0jwhsmw4igf5iwf4qndqbjzayag2wj2riypzl0v3yrh5zkhfl4dm"; + sha256 = "05sdyf9vs3cmcfpgn7bwmz59bpdpz65ly755lknxm5nms5vg7ph3"; }; features.iwlwifi = true; diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix index 97c0da86ec9..a719bdbff62 100644 --- a/pkgs/servers/dns/knot-dns/default.nix +++ b/pkgs/servers/dns/knot-dns/default.nix @@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in # Note: ATM only the libraries have been tested in nixpkgs. stdenv.mkDerivation rec { name = "knot-dns-${version}"; - version = "2.4.2"; + version = "2.5.0"; src = fetchurl { url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz"; - sha256 = "37da7fcf1f194bd6376c63d8c4fa28a21899b56a3f3b63dba7095740a5752c52"; + sha256 = "1x293cyp10c84hvcnaqpf2s6kyma08l380858l0isy19n074zaiw"; }; outputs = [ "bin" "out" "dev" ]; diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix index c3b68477808..1bf92b2247c 100644 --- a/pkgs/servers/emby/default.nix +++ b/pkgs/servers/emby/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "emby-${version}"; - version = "3.2.15.0"; + version = "3.2.19.0"; src = fetchurl { url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip"; - sha256 = "0xfjj899l7xmmiwwbfj4j9dwgrq10911nls06viz793bflmxw082"; + sha256 = "14gwkglngaf29zzjqyph8pqz8i8i9j2vha9g2m17slgdxif4ijzc"; }; buildInputs = with pkgs; [ diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix index 348aba5338c..a24eedce7c7 100644 --- a/pkgs/servers/http/nginx/mainline.nix +++ b/pkgs/servers/http/nginx/mainline.nix @@ -1,6 +1,6 @@ { callPackage, ... }@args: callPackage ./generic.nix (args // { - version = "1.13.0"; - sha256 = "1mq56rl3rq3bhnrqsywxfrwh0y5m0n0q0sck8ca4x18ganv2mxbr"; + version = "1.13.1"; + sha256 = "0xk7gcsgwhz047h54adn8crnkrkr7g1z79w8ik34v6k0lrr6r1d5"; }) diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index dbcebf84239..56d2f854654 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -1,7 +1,7 @@ { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }: buildGoPackage rec { - version = "4.2.0"; + version = "4.3.2"; name = "grafana-v${version}"; goPackagePath = "github.com/grafana/grafana"; @@ -9,12 +9,12 @@ buildGoPackage rec { rev = "v${version}"; owner = "grafana"; repo = "grafana"; - sha256 = "0zzvdzakswqidxbsss98nfa8rw80r36f45yviai12xsns9jzmj7z"; + sha256 = "0hz323favjm0gz4s2112rl8ygw7dy2pz808yhraplq8nljqh4h11"; }; srcStatic = fetchurl { - url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}.linux-x64.tar.gz"; - sha256 = "1cs7ghkp13znz9yxv108770xjfsp8vks6xkzpqqhsjis5h5y0g9w"; + url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-x64.tar.gz"; + sha256 = "0vk668ibayx0hqlam9jns5c7pggdh83yy54hnz5l7fnws4lm50qc"; }; preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace"; diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix index af6cea97d2f..861aaa71cde 100644 --- a/pkgs/servers/radarr/default.nix +++ b/pkgs/servers/radarr/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "radarr-${version}"; - version = "0.2.0.654"; + version = "0.2.0.696"; src = fetchurl { url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz"; - sha256 = "05sb3zk8gvydmkiy7g9ha5cmiqzqfwcydljm401zjndzwzhkz698"; + sha256 = "0rqxhzn8hmg6a8di1gaxlrfp5f7mykf2lxrzhri10zqs975i3a29"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix index de147e31da7..bd921df6e52 100644 --- a/pkgs/servers/sonarr/default.nix +++ b/pkgs/servers/sonarr/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sonarr-${version}"; - version = "2.0.0.4689"; + version = "2.0.0.4753"; src = fetchurl { url = "http://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz"; - sha256 = "056ndn98byn6gkiq46vn8pl0s715ni7wklxnmid2hk5xwyjy7bwk"; + sha256 = "1rhdnd37fd5a4wbnrd817bf7ln4095kzmv283kmm8fz93nmmc19c"; }; buildInputs = [ diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 99c9ffa14c2..09f75b436da 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -316,6 +316,11 @@ in }; 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 ]; installFlags = "sdkdir=\${out}/include/xorg"; }; diff --git a/pkgs/tools/misc/ckb/default.nix b/pkgs/tools/misc/ckb/default.nix index f2dc5150bbd..b90adfd5852 100644 --- a/pkgs/tools/misc/ckb/default.nix +++ b/pkgs/tools/misc/ckb/default.nix @@ -29,8 +29,12 @@ stdenv.mkDerivation rec { doCheck = false; installPhase = '' + runHook preInstall + 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/* + + runHook postInstall ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index a7624b095ba..40ef90fa2b2 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz , pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, readline , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl +, libseccomp, busybox , storeDir ? "/nix/store" , stateDir ? "/nix/var" , confDir ? "/etc" @@ -8,23 +9,38 @@ 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 { inherit name src; version = lib.getVersion name; + is112 = lib.versionAtLeast version "1.12pre"; + VERSION_SUFFIX = lib.optionalString fromGit suffix; outputs = [ "out" "dev" "man" "doc" ]; nativeBuildInputs = [ 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 ]; buildInputs = [ curl openssl sqlite xz ] ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium ++ 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 { apis = ["s3"]; customMemoryManagement = false; @@ -48,10 +64,12 @@ let "--disable-init-state" "--enable-gc" ] - ++ lib.optionals (!lib.versionAtLeast version "1.12pre") [ + ++ lib.optionals (!is112) [ "--with-dbi=${perlPackages.DBI}/${perl.libPrefix}" "--with-dbd-sqlite=${perlPackages.DBDSQLite}/${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"; @@ -139,12 +157,12 @@ in rec { nixUnstable = (lib.lowPrio (common rec { name = "nix-1.12${suffix}"; - suffix = "pre5350_7689181e"; + suffix = "pre5413_b4b1f452"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "7689181e4f5921d3356736996079ec0310e834c6"; - sha256 = "08daxcpj18dffsbqs3fckahq06gzs8kl6xr4b4jgijwdl5vqwiri"; + rev = "b4b1f4525f8dc8f320d666c208bff5cb36777580"; + sha256 = "0qb18k2rp6bbg8g50754srl95dq0lr96i297856yhrx1hh1ja37z"; }; fromGit = true; })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; }; diff --git a/pkgs/tools/security/hashcat/hashcat3/default.nix b/pkgs/tools/security/hashcat/hashcat3/default.nix index 810d9df9e2f..c8a8acf907d 100644 --- a/pkgs/tools/security/hashcat/hashcat3/default.nix +++ b/pkgs/tools/security/hashcat/hashcat3/default.nix @@ -18,7 +18,9 @@ stdenv.mkDerivation rec { # $out is not known until the build has started. configurePhase = '' + runHook preConfigure makeFlags="$makeFlags PREFIX=$out" + runHook postConfigure ''; postFixup = '' diff --git a/pkgs/tools/system/journalbeat/default.nix b/pkgs/tools/system/journalbeat/default.nix index 5a66fcf5299..4b8ea62219e 100644 --- a/pkgs/tools/system/journalbeat/default.nix +++ b/pkgs/tools/system/journalbeat/default.nix @@ -7,7 +7,7 @@ let in buildGoPackage rec { name = "journalbeat-${version}"; - version = "5.1.2"; + version = "5.4.1"; goPackagePath = "github.com/mheese/journalbeat"; @@ -22,7 +22,7 @@ in buildGoPackage rec { owner = "mheese"; repo = "journalbeat"; rev = "v${version}"; - sha256 = "179jayzvd5k4mwhn73yflbzl5md1fmv7a9hb8vz2ir76lvr33g3l"; + sha256 = "14mhx3gqg19ljcr07ahbry9k5hkbj2mjji4qsjrbc7jknis6frz4"; }; meta = with lib; { diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix index 94dae1e47fa..caea7c21c91 100644 --- a/pkgs/tools/virtualization/cloud-init/default.nix +++ b/pkgs/tools/virtualization/cloud-init/default.nix @@ -23,10 +23,13 @@ in pythonPackages.buildPythonApplication rec { substituteInPlace cloudinit/config/cc_growpart.py \ --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 - oauthlib pyserial configobj pyyaml argparse requests jsonpatch ]; + oauthlib pyserial configobj pyyaml requests jsonpatch ]; meta = { homepage = http://cloudinit.readthedocs.org; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5829d6abcac..762f6989dd4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15162,6 +15162,8 @@ with pkgs; polybar = callPackage ../applications/misc/polybar { }; + rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { }; + scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { }; shotcut = libsForQt5.callPackage ../applications/video/shotcut { }; @@ -16527,13 +16529,17 @@ with pkgs; plugins = let inherit (lib) optional optionals; in with kodiPlugins; ([] ++ optional (config.kodi.enableAdvancedLauncher or false) advanced-launcher + ++ optional (config.kodi.enableAdvancedEmulatorLauncher or false) + advanced-emulator-launcher ++ optionals (config.kodi.enableControllers or false) (with controllers; [ default dreamcast gba genesis mouse n64 nes ps snes ]) ++ optional (config.kodi.enableExodus or false) exodus ++ optionals (config.kodi.enableHyperLauncher or false) (with hyper-launcher; [ plugin service pdfreader ]) + ++ optional (config.kodi.enableJoystick or false) joystick ++ 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.enablePVRHTS or false) pvr-hts ++ optional (config.kodi.enablePVRHDHomeRun or false) pvr-hdhomerun @@ -16584,9 +16590,7 @@ with pkgs; }; xbmcPlain = kodiPlain; - kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix { - kodi = kodiPlain; - }); + kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix {}); xbmcPlugins = kodiPlugins; kodi = wrapKodi { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6a3b424780b..d2fa2c38ca3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17486,29 +17486,7 @@ in { }; - pathpy = buildPythonPackage rec { - 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 - ''; - }; + pathpy = callPackage ../development/python-modules/path.py { }; paypalrestsdk = buildPythonPackage rec { name = "paypalrestsdk-0.7.0"; @@ -18663,13 +18641,24 @@ in { }; pygit2 = buildPythonPackage rec { - name = "pygit2-0.25.0"; + name = "pygit2-0.25.1"; src = pkgs.fetchurl { 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 '' export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib" '' else "" ); @@ -18680,6 +18669,7 @@ in { # disable tests that require networking rm test/test_repository.py rm test/test_credentials.py + rm test/test_submodule.py ''; meta = { @@ -22177,32 +22167,8 @@ in { }; }; - - scikitlearn = buildPythonPackage rec { - 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 ]; - }; + scikitlearn = callPackage ../development/python-modules/scikitlearn { + inherit (pkgs) gfortran glibcLocales; }; scripttest = buildPythonPackage rec { @@ -24042,25 +24008,8 @@ in { }; }; - systemd = buildPythonPackage rec { - version = "233"; - 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; - }; + systemd = callPackage ../development/python-modules/systemd { + inherit (pkgs) pkgconfig systemd; }; tabulate = buildPythonPackage rec {