Merge remote-tracking branch 'upstream/master' into HEAD
This commit is contained in:
commit
7e0251698b
@ -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()
|
@ -15,7 +15,7 @@ in
|
||||
services.xserver.windowManager.session = [{
|
||||
name = "qtile";
|
||||
start = ''
|
||||
${pkgs.qtile}/bin/qtile
|
||||
${pkgs.qtile}/bin/qtile &
|
||||
waitPID=$!
|
||||
'';
|
||||
}];
|
||||
|
@ -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 {};
|
||||
|
47
nixos/tests/cloud-init.nix
Normal file
47
nixos/tests/cloud-init.nix
Normal 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!'");
|
||||
'';
|
||||
}
|
@ -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"];
|
||||
|
@ -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";
|
||||
|
@ -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 = ''
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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" ];
|
||||
|
84
pkgs/applications/video/kodi/commons.nix
Normal file
84
pkgs/applications/video/kodi/commons.nix
Normal 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
|
||||
'';
|
||||
|
||||
};
|
||||
}
|
@ -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
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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" ];
|
||||
|
@ -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";
|
||||
|
@ -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 = {
|
||||
|
@ -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 ]
|
||||
|
@ -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
|
||||
'';
|
||||
|
@ -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.
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
|
34
pkgs/development/python-modules/path.py/default.nix
Normal file
34
pkgs/development/python-modules/path.py/default.nix
Normal 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
|
||||
'';
|
||||
}
|
@ -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
|
||||
|
41
pkgs/development/python-modules/scikitlearn/default.nix
Normal file
41
pkgs/development/python-modules/scikitlearn/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
24
pkgs/development/python-modules/systemd/default.nix
Normal file
24
pkgs/development/python-modules/systemd/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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 ] ;
|
||||
|
@ -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 = ''
|
||||
|
@ -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 = ''
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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" ];
|
||||
|
@ -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}";
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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" ];
|
||||
|
@ -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; [
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ callPackage, ... }@args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "1.13.0";
|
||||
sha256 = "1mq56rl3rq3bhnrqsywxfrwh0y5m0n0q0sck8ca4x18ganv2mxbr";
|
||||
version = "1.13.1";
|
||||
sha256 = "0xk7gcsgwhz047h54adn8crnkrkr7g1z79w8ik34v6k0lrr6r1d5";
|
||||
})
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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; {
|
||||
|
@ -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; }; };
|
||||
|
@ -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 = ''
|
||||
|
@ -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; {
|
||||
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user