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']
"""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()

View File

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

View File

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

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 = ''
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"];

View File

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

View File

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

View File

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

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

View File

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

View File

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

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
, 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
'';
};
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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
, 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 ]

View File

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

View File

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

View File

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

View File

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

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

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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