From d3b0f178ef74b3d69c48c72d7d03509b06746a2a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 14 Dec 2018 04:50:21 +0100 Subject: [PATCH 01/35] crosvm: init at 77.12371.0.0-rc1 Co-Authored-By: hyperfekt --- .../crosvm/default-seccomp-policy-dir.patch | 15 ++++ .../virtualization/crosvm/default.nix | 83 ++++++++++++++++++ .../virtualization/crosvm/update.py | 85 +++++++++++++++++++ .../virtualization/crosvm/upstream-info.json | 19 +++++ pkgs/top-level/all-packages.nix | 2 + 5 files changed, 204 insertions(+) create mode 100644 pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch create mode 100644 pkgs/applications/virtualization/crosvm/default.nix create mode 100755 pkgs/applications/virtualization/crosvm/update.py create mode 100644 pkgs/applications/virtualization/crosvm/upstream-info.json diff --git a/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch new file mode 100644 index 000000000000..46b091b3a353 --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch @@ -0,0 +1,15 @@ +diff --git a/src/main.rs b/src/main.rs +index 81f20a7..481ebd7 100644 +--- a/src/main.rs ++++ b/src/main.rs +@@ -158,7 +158,9 @@ impl Default for Config { + wayland_dmabuf: false, + shared_dirs: Vec::new(), + sandbox: !cfg!(feature = "default-no-sandbox"), +- seccomp_policy_dir: PathBuf::from(SECCOMP_POLICY_DIR), ++ seccomp_policy_dir: PathBuf::from( ++ option_env!("DEFAULT_SECCOMP_POLICY_DIR").unwrap_or(SECCOMP_POLICY_DIR), ++ ), + seccomp_log_failures: false, + cras_audio: false, + cras_capture: false, diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix new file mode 100644 index 000000000000..106b39b03366 --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -0,0 +1,83 @@ +{ stdenv, rustPlatform, fetchgit, runCommand, symlinkJoin +, pkgconfig, minijail, dtc, libusb1, libcap +}: + +let + + upstreamInfo = with builtins; fromJSON (readFile ./upstream-info.json); + + arch = with stdenv.hostPlatform; + if isAarch64 then "arm" + else if isx86_64 then "x86_64" + else throw "no seccomp policy files available for host platform"; + + # used to turn symlinks into real files because write permissions are necessary for the vendoring process + delink = src: runCommand "${src.name}-delinked" { + preferLocalBuild = true; + allowSubstitutes = false; + } '' + cp -prL --reflink=auto ${src} $out + ''; + + # used to place subtrees into the location they have in the Chromium monorepo + move = src: target: runCommand "moved-${src.name}" { + preferLocalBuild = true; + allowSubstitutes = false; + } '' + mkdir -p $(dirname $out/${target}) + ln -s ${src} $out/${target} + ''; + + # used to check out subtrees from the Chromium monorepo + chromiumSource = name: subtrees: delink (symlinkJoin { + inherit name; + paths = stdenv.lib.mapAttrsToList ( + location: { url, rev, sha256, fetchSubmodules, ... }: + move (fetchgit { + inherit url rev sha256 fetchSubmodules; + }) location) subtrees; + }); + +in + + rustPlatform.buildRustPackage rec { + pname = "crosvm"; + inherit (upstreamInfo) version; + + src = chromiumSource "${pname}-sources" upstreamInfo.components; + + sourceRoot = "${src.name}/chromiumos/platform/crosvm"; + + patches = [ + ./default-seccomp-policy-dir.patch + ]; + + cargoSha256 = "16cfp79c13ng5jjcrvz00h3cg7cc9ywhjiq02vsm757knn9jgr1v"; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ dtc libcap libusb1 minijail ]; + + postPatch = '' + sed -i "s|/usr/share/policy/crosvm/|$out/share/policy/|g" \ + seccomp/*/*.policy + ''; + + preBuild = '' + export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy + ''; + + postInstall = '' + mkdir -p $out/share/policy/ + cp seccomp/${arch}/* $out/share/policy/ + ''; + + passthru.updateScript = ./update.py; + + meta = with stdenv.lib; { + description = "A secure virtual machine monitor for KVM"; + homepage = "https://chromium.googlesource.com/chromiumos/platform/crosvm/"; + license = licenses.bsd3; + platforms = [ "aarch64-linux" "x86_64-linux" ]; + }; + } diff --git a/pkgs/applications/virtualization/crosvm/update.py b/pkgs/applications/virtualization/crosvm/update.py new file mode 100755 index 000000000000..d00bffce3b8f --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/update.py @@ -0,0 +1,85 @@ +#! /usr/bin/env nix-shell +#! nix-shell -p python3 -p nix-prefetch-git -i python + +import base64 +import csv +import json +import re +import subprocess +import xml.etree.ElementTree as ElementTree +from codecs import iterdecode +from operator import itemgetter +from os.path import dirname, splitext +from urllib.request import urlopen + +# ChromiumOS components required to build crosvm. +components = ['chromiumos/platform/crosvm', 'chromiumos/third_party/adhd'] + +git_root = 'https://chromium.googlesource.com/' +manifest_versions = f'{git_root}chromiumos/manifest-versions' +buildspecs_url = f'{manifest_versions}/+/refs/heads/master/paladin/buildspecs/' + +# CrOS version numbers look like this: +# [.].. +# +# As far as I can tell, branches are where internal Google +# modifications are added to turn Chromium OS into Chrome OS, and +# branch branches are used for fixes for specific devices. So for +# Chromium OS they will always be 0. This is a best guess, and is not +# documented. +with urlopen('https://cros-omahaproxy.appspot.com/all') as resp: + versions = csv.DictReader(iterdecode(resp, 'utf-8')) + stables = filter(lambda v: v['track'] == 'stable-channel', versions) + stable = sorted(stables, key=itemgetter('chrome_version'), reverse=True)[0] + +chrome_major_version = re.match(r'\d+', stable['chrome_version'])[0] +chromeos_tip_build = re.match(r'\d+', stable['chromeos_version'])[0] + +# Find the most recent buildspec for the stable Chrome version and +# Chromium OS build number. Its branch build and branch branch build +# numbers will (almost?) certainly be 0. It will then end with an rc +# number -- presumably these are release candidates, one of which +# becomes the final release. Presumably the one with the highest rc +# number. +with urlopen(f'{buildspecs_url}{chrome_major_version}/?format=TEXT') as resp: + listing = base64.decodebytes(resp.read()).decode('utf-8') + buildspecs = [(line.split('\t', 1)[1]) for line in listing.splitlines()] + buildspecs = [s for s in buildspecs if s.startswith(chromeos_tip_build)] + buildspecs.sort(reverse=True) + buildspec = splitext(buildspecs[0])[0] + +revisions = {} + +# Read the buildspec, and extract the git revisions for each component. +with urlopen(f'{buildspecs_url}{chrome_major_version}/{buildspec}.xml?format=TEXT') as resp: + xml = base64.decodebytes(resp.read()).decode('utf-8') + root = ElementTree.fromstring(xml) + for project in root.findall('project'): + revisions[project.get('name')] = project.get('revision') + +# Initialize the data that will be output from this script. Leave the +# rc number in buildspec so nobody else is subject to the same level +# of confusion I have been. +data = {'version': f'{chrome_major_version}.{buildspec}', 'components': {}} + +# Fill in the 'components' dictionary with the output from +# nix-prefetch-git, which can be passed straight to fetchGit when +# imported by Nix. +for component in components: + argv = ['nix-prefetch-git', + '--url', git_root + component, + '--rev', revisions[component]] + + output = subprocess.check_output(argv) + data['components'][component] = json.loads(output.decode('utf-8')) + +# Find the path to crosvm's default.nix, so the srcs data can be +# written into the same directory. +argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position'] +position = json.loads(subprocess.check_output(argv).decode('utf-8')) +filename = re.match(r'[^:]*', position)[0] + +# Finally, write the output. +with open(dirname(filename) + '/upstream-info.json', 'w') as out: + json.dump(data, out, indent=2) + out.write('\n') diff --git a/pkgs/applications/virtualization/crosvm/upstream-info.json b/pkgs/applications/virtualization/crosvm/upstream-info.json new file mode 100644 index 000000000000..01921f9460a0 --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/upstream-info.json @@ -0,0 +1,19 @@ +{ + "version": "77.12371.0.0-rc1", + "components": { + "chromiumos/platform/crosvm": { + "url": "https://chromium.googlesource.com/chromiumos/platform/crosvm", + "rev": "f5285c647acacb4f25ef8cf9334254b976e71686", + "date": "2019-07-25T22:15:48+00:00", + "sha256": "1ccjd540xmpad082w9ri13q78wkg95xxmq38b8ybcrj4f7lsxm6w", + "fetchSubmodules": false + }, + "chromiumos/third_party/adhd": { + "url": "https://chromium.googlesource.com/chromiumos/third_party/adhd", + "rev": "a1c0d93d991daffb042b979ac807bbe9c1f9a3ee", + "date": "2019-07-25T20:38:50-07:00", + "sha256": "11bijqd876adarq96syywn6znfbiflqssgb2j4w032iw2vfnnsyy", + "fetchSubmodules": false + } + } +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 292f35962136..e51c7b9ff569 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1319,6 +1319,8 @@ in crip = callPackage ../applications/audio/crip { }; + crosvm = callPackage ../applications/virtualization/crosvm { }; + crunch = callPackage ../tools/security/crunch { }; crudini = callPackage ../tools/misc/crudini { }; From 59a5ba4cbee8d98438fbb4b5f22b0e359e9057b1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 2 Nov 2019 14:03:09 +0100 Subject: [PATCH 02/35] minijail: android-9.0.0_r3 -> android-10.0.0-r9 --- pkgs/tools/system/minijail/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index 74f0a84716a1..af9e06e9d1a5 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -1,14 +1,13 @@ { stdenv, fetchgit, libcap }: stdenv.mkDerivation rec { - shortname = "minijail"; - name = "${shortname}-${version}"; - version = "android-9.0.0_r3"; + pname = "minijail"; + version = "android-10.0.0_r9"; src = fetchgit { url = "https://android.googlesource.com/platform/external/minijail"; rev = version; - sha256 = "1g1g52s3q61amcnx8cv1332sbixpck1bmjzgsrjiw5ix7chrzkp2"; + sha256 = "0gcfsyim1krrddcklydqfxl8mamaxgail2xl5qp9yclq60km8f22"; }; buildInputs = [ libcap ]; From fe16f7d7f91317e087e96089c2a2b9bfe0ab50d0 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 24 Nov 2019 19:58:19 +0000 Subject: [PATCH 03/35] fetchFromGitiles: init This has the same motivation as fetchFromGitHub/fetchFromGitLab -- it's cheaper to download a tarball of a single revision than it is to download a whole history. I could have gone with domain/group/repo, like fetchFromGitLab, but it would have made implementation more difficult, and this syntax means it's a drop-in replacement for fetchgit, so I decided it wasn't worth it. --- doc/builders/fetchers.xml | 11 +++++++++++ pkgs/build-support/fetchgitiles/default.nix | 10 ++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 pkgs/build-support/fetchgitiles/default.nix diff --git a/doc/builders/fetchers.xml b/doc/builders/fetchers.xml index ff3988334916..f07c310dcdf1 100644 --- a/doc/builders/fetchers.xml +++ b/doc/builders/fetchers.xml @@ -105,6 +105,17 @@ stdenv.mkDerivation { + + + fetchFromGitiles + + + + This is used with Gitiles repositories. The arguments expected + are similar to fetchgit. + + + fetchFromBitbucket diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix new file mode 100644 index 000000000000..827680992d69 --- /dev/null +++ b/pkgs/build-support/fetchgitiles/default.nix @@ -0,0 +1,10 @@ +{ fetchzip, lib }: + +{ url, rev, name ? "source", ... } @ args: + +fetchzip ({ + inherit name; + url = "${url}/+archive/${rev}.tar.gz"; + stripRoot = false; + meta.homepage = url; +} // removeAttrs args [ "url" "rev" ]) // { inherit rev; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1730e1436cc4..856b4a85b734 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -358,6 +358,8 @@ in fetchFromGitLab = callPackage ../build-support/fetchgitlab {}; + fetchFromGitiles = callPackage ../build-support/fetchgitiles {}; + fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz {}; fetchNuGet = callPackage ../build-support/fetchnuget { }; From a8e63e4f74bfd96ec7a840c6d4d7be098a1ea1d8 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Dec 2019 22:29:40 +0000 Subject: [PATCH 04/35] treewide: fetchgit -> fetchFromGitiles This is only the easy cases -- some fetchgit uses that point to Gitiles instances are in generated code, where the generating code would have to know in advance if it was fetching from Gitiles or not. I don't think this is worth it. --- .../misc/redis-desktop-manager/default.nix | 11 ++++++----- pkgs/development/python-modules/gyp/default.nix | 6 +++--- .../linux/chromium-xorg-conf/default.nix | 4 ++-- pkgs/tools/security/chaps/default.nix | 16 +++++++++------- pkgs/tools/system/minijail/default.nix | 4 ++-- pkgs/tools/system/vboot_reference/default.nix | 6 +++--- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix index 25f9c6ed4c7a..71d79b88f440 100644 --- a/pkgs/applications/misc/redis-desktop-manager/default.nix +++ b/pkgs/applications/misc/redis-desktop-manager/default.nix @@ -1,11 +1,11 @@ -{ stdenv, lib, fetchgit, pkgconfig, libssh2 +{ stdenv, lib, fetchFromGitHub, fetchFromGitiles, pkgconfig, libssh2 , qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols , qtsvg, qttools, qtquick1, qtcharts , qmake }: let - breakpad_lss = fetchgit { + breakpad_lss = fetchFromGitiles { url = "https://chromium.googlesource.com/linux-syscall-support"; rev = "08056836f2b4a5747daff75435d10d649bed22f6"; sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz"; @@ -17,10 +17,11 @@ stdenv.mkDerivation rec { pname = "redis-desktop-manager"; version = "0.9.1"; - src = fetchgit { - url = "https://github.com/uglide/RedisDesktopManager.git"; + src = fetchFromGitHub { + owner = "uglide"; + repo = "RedisDesktopManager"; fetchSubmodules = true; - rev = "refs/tags/${version}"; + rev = version; sha256 = "0yd4i944d4blw8jky0nxl7sfkkj975q4d328rdcbhizwvf6dx81f"; }; diff --git a/pkgs/development/python-modules/gyp/default.nix b/pkgs/development/python-modules/gyp/default.nix index 3cd89a7d0e1e..db828eb222dd 100644 --- a/pkgs/development/python-modules/gyp/default.nix +++ b/pkgs/development/python-modules/gyp/default.nix @@ -1,6 +1,6 @@ { stdenv , buildPythonPackage -, fetchgit +, fetchFromGitiles , isPy3k }: @@ -9,8 +9,8 @@ buildPythonPackage { version = "2015-06-11"; disabled = isPy3k; - src = fetchgit { - url = "https://chromium.googlesource.com/external/gyp.git"; + src = fetchFromGitiles { + url = "https://chromium.googlesource.com/external/gyp"; rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043"; sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz"; }; diff --git a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix index 58038923890b..d9608650ed9d 100644 --- a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix +++ b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix @@ -1,6 +1,6 @@ -{fetchgit }: +{ fetchFromGitiles }: -fetchgit { +fetchFromGitiles { name = "chromium-xorg-conf"; url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf"; rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514"; diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix index e81567c3ed87..c8ee95069682 100644 --- a/pkgs/tools/security/chaps/default.nix +++ b/pkgs/tools/security/chaps/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchgit, fetchurl, trousers, leveldb, unzip, scons, pkgconfig -, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam }: +{ stdenv, fetchFromGitiles, fetchFromGitHub, fetchurl, trousers, leveldb, unzip +, scons, pkgconfig, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam +}: let - src_chromebase = fetchgit { - url = "https://chromium.googlesource.com/chromium/src/base.git"; + src_chromebase = fetchFromGitiles { + url = "https://chromium.googlesource.com/chromium/src/base"; rev = "2dfe404711e15e24e79799516400c61b2719d7af"; sha256 = "2bd93a3ace4b6767db2c1bd1e16f426c97b8d2133a9cb15f8372b2516cfa65c5"; }; @@ -13,7 +14,7 @@ let sha256 = "0nq98cpnv2jsx2byp4ilam6kydcnziflkc16ikydajmp4mcvpz16"; }; - src_platform2 = fetchgit { + src_platform2 = fetchFromGitiles { url = "https://chromium.googlesource.com/chromiumos/platform2"; rev = "e999e989eaa71c3db7314fc7b4e20829b2b5473b"; sha256 = "15n1bsv6r7cny7arx0hdb223xzzbk7vkxg2r7xajhl4nsj39adjh"; @@ -25,8 +26,9 @@ stdenv.mkDerivation rec { name = "chaps-0.42-6812"; version = "0.42-6812"; - src = fetchgit { - url = "https://github.com/google/chaps-linux"; + src = fetchFromGitHub { + owner = "google"; + repo = "chaps-linux"; rev = "989aadc45cdb216ca35b0c97d13fc691576fa1d7"; sha256 = "0chk6pnn365d5kcz6vfqx1d0383ksk97icc0lzg0vvb0kvyj0ff1"; }; diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index 74f0a84716a1..3291efa96183 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchgit, libcap }: +{ stdenv, fetchFromGitiles, libcap }: stdenv.mkDerivation rec { shortname = "minijail"; name = "${shortname}-${version}"; version = "android-9.0.0_r3"; - src = fetchgit { + src = fetchFromGitiles { url = "https://android.googlesource.com/platform/external/minijail"; rev = version; sha256 = "1g1g52s3q61amcnx8cv1332sbixpck1bmjzgsrjiw5ix7chrzkp2"; diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix index 0bf8a7e85dce..bce6d0c4185f 100644 --- a/pkgs/tools/system/vboot_reference/default.nix +++ b/pkgs/tools/system/vboot_reference/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, pkgconfig, libuuid, openssl, libyaml, lzma }: +{ stdenv, fetchFromGitiles, pkgconfig, libuuid, openssl, libyaml, lzma }: stdenv.mkDerivation rec { version = "20180311"; @@ -6,8 +6,8 @@ stdenv.mkDerivation rec { pname = "vboot_reference"; - src = fetchgit { - url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference; + src = fetchFromGitiles { + url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference"; rev = checkout; sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj"; }; From 09f5d77faa3b8a01eed80c49ba3b716dc08fef88 Mon Sep 17 00:00:00 2001 From: gnidorah Date: Fri, 6 Dec 2019 23:43:40 +0300 Subject: [PATCH 05/35] mame: 0.215 -> 0.216 --- pkgs/misc/emulators/mame/default.nix | 39 ++++++++++++++++++-------- pkgs/misc/emulators/mame/emuopts.patch | 29 +++++++++++++++++++ 2 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 pkgs/misc/emulators/mame/emuopts.patch diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/misc/emulators/mame/default.nix index 499d7dd6c4a2..d98232b10588 100644 --- a/pkgs/misc/emulators/mame/default.nix +++ b/pkgs/misc/emulators/mame/default.nix @@ -1,9 +1,9 @@ -{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem +{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem, makeWrapper , python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama }: let majorVersion = "0"; - minorVersion = "215"; + minorVersion = "216"; desktopItem = makeDesktopItem { name = "MAME"; @@ -12,6 +12,8 @@ let genericName = "MAME is a multi-purpose emulation framework"; categories = "System;Emulator;"; }; + + dest = "$out/opt/mame"; in mkDerivation { pname = "mame"; version = "${majorVersion}.${minorVersion}"; @@ -20,7 +22,7 @@ in mkDerivation { owner = "mamedev"; repo = "mame"; rev = "mame${majorVersion}${minorVersion}"; - sha256 = "1phz846p3zzgzrbfiq2vn79iqar2dbf7iv6wfkrp32sdkkvp7l3h"; + sha256 = "0dmmw08pxxznvadrc51zg27jc9fjh688355w8kxkmi7k8qa367r0"; }; hardeningDisable = [ "fortify" ]; @@ -28,22 +30,35 @@ in mkDerivation { makeFlags = [ "TOOLS=1" ]; + dontWrapQtApps = true; + buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ]; - nativeBuildInputs = [ python pkgconfig which ]; + nativeBuildInputs = [ python pkgconfig which makeWrapper ]; + + # by default MAME assumes that paths with stock resources + # are relative and that you run MAME changing to + # install directory, so we add absolute paths here + patches = [ ./emuopts.patch ]; + + postPatch = '' + substituteInPlace src/emu/emuopts.cpp \ + --subst-var-by mame ${dest} + ''; installPhase = '' - dest=$out/opt/mame - - make -f dist.mak PTR64=${if stdenv.is64bit then "1" else "0"} - mkdir -p $dest - mv build/release/${if stdenv.is64bit then "x64" else "x32"}/Release/mame/* $dest + make -f dist.mak PTR64=${stdenv.lib.optionalString stdenv.is64bit "1"} + mkdir -p ${dest} + mv build/release/*/Release/mame/* ${dest} mkdir -p $out/bin - find $dest -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \; + find ${dest} -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \; + install -Dm755 src/osd/sdl/taputil.sh $out/bin/taputil.sh mkdir -p $out/share/man/man{1,6} - mv $dest/docs/man/*.1 $out/share/man/man1 - mv $dest/docs/man/*.6 $out/share/man/man6 + mv ${dest}/docs/man/*.1 $out/share/man/man1 + mv ${dest}/docs/man/*.6 $out/share/man/man6 + + mv artwork plugins samples ${dest} mkdir -p $out/share ln -s ${desktopItem}/share/applications $out/share diff --git a/pkgs/misc/emulators/mame/emuopts.patch b/pkgs/misc/emulators/mame/emuopts.patch new file mode 100644 index 000000000000..b85291f52f74 --- /dev/null +++ b/pkgs/misc/emulators/mame/emuopts.patch @@ -0,0 +1,29 @@ +diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp +index c42fcef848..d1bddae060 100644 +--- a/src/emu/emuopts.cpp ++++ b/src/emu/emuopts.cpp +@@ -36,16 +36,16 @@ const options_entry emu_options::s_option_entries[] = + { nullptr, nullptr, OPTION_HEADER, "CORE SEARCH PATH OPTIONS" }, + { OPTION_HOMEPATH, ".", OPTION_STRING, "path to base folder for plugin data (read/write)" }, + { OPTION_MEDIAPATH ";rp;biospath;bp", "roms", OPTION_STRING, "path to ROM sets and hard disk images" }, +- { OPTION_HASHPATH ";hash_directory;hash", "hash", OPTION_STRING, "path to software definition files" }, +- { OPTION_SAMPLEPATH ";sp", "samples", OPTION_STRING, "path to audio sample sets" }, +- { OPTION_ARTPATH, "artwork", OPTION_STRING, "path to artwork files" }, +- { OPTION_CTRLRPATH, "ctrlr", OPTION_STRING, "path to controller definitions" }, +- { OPTION_INIPATH, ".;ini;ini/presets", OPTION_STRING, "path to ini files" }, +- { OPTION_FONTPATH, ".", OPTION_STRING, "path to font files" }, ++ { OPTION_HASHPATH ";hash_directory;hash", "hash;@mame@/hash", OPTION_STRING, "path to software definition files" }, ++ { OPTION_SAMPLEPATH ";sp", "samples;@mame@/samples", OPTION_STRING, "path to audio sample sets" }, ++ { OPTION_ARTPATH, "artwork;@mame@/artwork", OPTION_STRING, "path to artwork files" }, ++ { OPTION_CTRLRPATH, "ctrlr;@mame@/ctrlr", OPTION_STRING, "path to controller definitions" }, ++ { OPTION_INIPATH, ".;ini;ini/presets;@mame@/ini/presets", OPTION_STRING, "path to ini files" }, ++ { OPTION_FONTPATH, ".;@mame@", OPTION_STRING, "path to font files" }, + { OPTION_CHEATPATH, "cheat", OPTION_STRING, "path to cheat files" }, + { OPTION_CROSSHAIRPATH, "crosshair", OPTION_STRING, "path to crosshair files" }, +- { OPTION_PLUGINSPATH, "plugins", OPTION_STRING, "path to plugin files" }, +- { OPTION_LANGUAGEPATH, "language", OPTION_STRING, "path to UI translation files" }, ++ { OPTION_PLUGINSPATH, "plugins;@mame@/plugins", OPTION_STRING, "path to plugin files" }, ++ { OPTION_LANGUAGEPATH, "language;@mame@/language", OPTION_STRING, "path to UI translation files" }, + { OPTION_SWPATH, "software", OPTION_STRING, "path to loose software" }, + + // output directory options From 1e97dbb405282f07f2c46ab108b7ec238f39ceb0 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Dec 2019 14:35:18 -0800 Subject: [PATCH 06/35] gnomeExtensions.workspace-matrix: Init at 3.0.0 --- .../extensions/workspace-matrix/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 35 insertions(+) create mode 100644 pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix diff --git a/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix new file mode 100644 index 000000000000..ca4b72111c6c --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, findutils, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-workspace-matrix"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "mzur"; + repo = "gnome-shell-wsmatrix"; + rev = "v${version}"; + sha256 = "1fgyzmd16kklcca7600bwg8w8pbb4klmapqsvmahlwa99vmkhfkn"; + }; + + uuid = "wsmatrix@martin.zurowietz.de"; + + nativeBuildInputs = [ + findutils + glib + ]; + + buildFlags = "schemas"; + + installPhase = '' + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + ''; + + meta = with stdenv.lib; { + description = "Arrange workspaces in a two dimensional grid with workspace thumbnails"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chkno ]; + homepage = https://github.com/mzur/gnome-shell-wsmatrix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 48b2c6ddbb1f..263ddc7a0912 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23395,6 +23395,7 @@ in timepp = callPackage ../desktops/gnome-3/extensions/timepp { }; topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { }; window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { }; + workspace-matrix = callPackage ../desktops/gnome-3/extensions/workspace-matrix { }; nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks."; mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md"; From 492de5c32e6a5c8a348c05659665dd70a288d533 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 6 Dec 2019 14:41:45 -0800 Subject: [PATCH 07/35] gnomeExtensions.workspace-grid: Remove workspace-matrix largely replaces workspace-grid [1]. Also, workspace-grid.nix was accidentally dropped from top-level/all-packages.nix in the Gnome 3.18 -> 3.20 bump in 5a245c24b0188c6fff933497545f6e84d9b024c0, so this file has been unreferenced for three years. [1] https://github.com/zakkak/workspace-grid/issues/120#issuecomment-488802454 --- .../gnome-3/extensions/workspace-grid.nix | 30 ------------------- 1 file changed, 30 deletions(-) delete mode 100644 pkgs/desktops/gnome-3/extensions/workspace-grid.nix diff --git a/pkgs/desktops/gnome-3/extensions/workspace-grid.nix b/pkgs/desktops/gnome-3/extensions/workspace-grid.nix deleted file mode 100644 index 811e9911f628..000000000000 --- a/pkgs/desktops/gnome-3/extensions/workspace-grid.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchFromGitHub, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-workspace-grid"; - version = "0f3a430e7d04bb5465a17c1225aab0f574426d6b"; - - src = fetchFromGitHub { - owner = "zakkak"; - repo = "workspace-grid-gnome-shell-extension"; - rev = version; - sha256 = "0503b7lmydrbblfvf9b56pv5hpmykzgyc6v8y99rckg58h2jhs69"; - }; - - buildInputs = [ - glib - ]; - - installPhase = '' - cp -r ${uuid} $out - ''; - - uuid = "workspace-grid@mathematical.coffee.gmail.com"; - - meta = with stdenv.lib; { - description = "Arranges workspaces in a configurable grid"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ aneeshusa ]; - homepage = https://github.com/zakkak/workspace-grid-gnome-shell-extension; - }; -} From 0a05392468b925b50051edc0d1d4b755fb4188e3 Mon Sep 17 00:00:00 2001 From: pacien Date: Mon, 9 Dec 2019 18:07:41 +0100 Subject: [PATCH 08/35] riot-web: 1.5.5 -> 1.5.6 --- .../networking/instant-messengers/riot/riot-web.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix index 93c3d837b050..917a363ef1a7 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "riot-web"; - version = "1.5.5"; + version = "1.5.6"; src = fetchurl { url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; - sha256 = "0isln25sl5jvvlqvh822w73a4i82x75g1ywf3p9n5m1a5sr9f537"; + sha256 = "063ynbil038y201skyldj2ysr0hwgwq981w1iw104xd17x31zmn0"; }; installPhase = let From f98d4960d83b782c5d83fc28c34b2da75bf5b1f9 Mon Sep 17 00:00:00 2001 From: pacien Date: Mon, 9 Dec 2019 18:07:50 +0100 Subject: [PATCH 09/35] riot-desktop: 1.5.5 -> 1.5.6 --- .../instant-messengers/riot/riot-desktop-package.json | 2 +- .../networking/instant-messengers/riot/riot-desktop.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json index 3338f6159d92..c49934b96f77 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json +++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json @@ -2,7 +2,7 @@ "name": "riot-web", "productName": "Riot", "main": "src/electron-main.js", - "version": "1.5.5", + "version": "1.5.6", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "dependencies": { diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix index c3fe4b9dd331..9b6f591bd42d 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix @@ -6,12 +6,12 @@ let executableName = "riot-desktop"; - version = "1.5.5"; + version = "1.5.6"; riot-web-src = fetchFromGitHub { owner = "vector-im"; repo = "riot-web"; rev = "v${version}"; - sha256 = "18xhqniwxp1sv49qcd9ah8nyy2n2yliy3wg613raxjl16qvvzxmc"; + sha256 = "148rg6wc84xy53bj16v5riw78s999ridid59x6v9jas827l0bdpk"; }; in mkYarnPackage rec { From 258c1a4d5f51c12172e6545d95deab2d5c730c19 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 9 Dec 2019 09:31:37 -0800 Subject: [PATCH 10/35] randomx: 1.1.6 -> 1.1.7 --- pkgs/development/libraries/randomx/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/randomx/default.nix b/pkgs/development/libraries/randomx/default.nix index 79ce9e413248..9e6cdfecb954 100644 --- a/pkgs/development/libraries/randomx/default.nix +++ b/pkgs/development/libraries/randomx/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "randomX"; - version = "1.1.6"; + version = "1.1.7"; nativeBuildInputs = [ cmake ]; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "tevador"; repo = pname; rev = "v${version}"; - sha256 = "1qd0rbzgxdy87wwy0n6ca29bcq25j5ndnfgmx8iyf225m4rcwngf"; + sha256 = "1d42dw4zrd7mzfqs6gwk27jj6lsh6pwv85p1ckx9dxy8mw3m52ah"; }; meta = with stdenv.lib; { From 735fc5b773b4969712d3ed512cdc765d6cec37b6 Mon Sep 17 00:00:00 2001 From: pacien Date: Mon, 9 Dec 2019 19:17:06 +0100 Subject: [PATCH 11/35] gscan2pdf: 2.5.6 -> 2.6.2 --- pkgs/applications/graphics/gscan2pdf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix index b0e76d23dacb..fc867fed7c21 100644 --- a/pkgs/applications/graphics/gscan2pdf/default.nix +++ b/pkgs/applications/graphics/gscan2pdf/default.nix @@ -10,11 +10,11 @@ with stdenv.lib; perlPackages.buildPerlPackage rec { pname = "gscan2pdf"; - version = "2.5.6"; + version = "2.6.2"; src = fetchurl { url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz"; - sha256 = "0wp81nsi5jfypabwmjqiamxr739jq5ij79n5fzn5pbw1hg5gcmfz"; + sha256 = "0z35lglf4anfczizynjp8sd1jpix5mkmm1nh39n1v94l7ahjxsww"; }; nativeBuildInputs = [ wrapGAppsHook ]; From 52d15ab28b3044ac7adf9acb222a5455b8b0158d Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Mon, 9 Dec 2019 14:19:15 -0500 Subject: [PATCH 12/35] libminc: 2018-01-17 -> 2.4.03 and disable broken checkPhase on OSX --- pkgs/development/libraries/libminc/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/libminc/default.nix b/pkgs/development/libraries/libminc/default.nix index aea7a5959fac..53b6af40b512 100644 --- a/pkgs/development/libraries/libminc/default.nix +++ b/pkgs/development/libraries/libminc/default.nix @@ -1,17 +1,16 @@ { stdenv, fetchFromGitHub, cmake, zlib, netcdf, nifticlib, hdf5 }: stdenv.mkDerivation rec { - pname = "libminc"; - name = "${pname}-2018-01-17"; + pname = "libminc"; + version = "2.4.03"; owner = "BIC-MNI"; - # current master is significantly ahead of most recent release, so use Git version: src = fetchFromGitHub { inherit owner; repo = pname; - rev = "a9cbe1353eae9791b7d5b03af16e0f86922ce40b"; - sha256 = "0mn4n3ihzcr1jw2g1vy6c8p4lkc88jwljk04argmj7k4djrgpxpa"; + rev = "release-${version}"; + sha256 = "0kpmqs9df836ywsqj749qbsfavf5bnldblxrmnmxqq9pywc8yfrm"; }; postPatch = '' @@ -27,7 +26,7 @@ stdenv.mkDerivation rec { "-DLIBMINC_USE_SYSTEM_NIFTI=ON" ]; - doCheck = true; + doCheck = !stdenv.isDarwin; checkPhase = '' export LD_LIBRARY_PATH="$(pwd)" # see #22060 ctest -E 'ezminc_rw_test|minc_conversion' --output-on-failure From f167ab402a913dbbe732be6546e90ba7aafeb31e Mon Sep 17 00:00:00 2001 From: Jason Felice Date: Mon, 9 Dec 2019 14:47:12 -0500 Subject: [PATCH 13/35] tmuxPlugins.ctrlw: 0.1.0 -> 0.1.1 --- pkgs/misc/tmux-plugins/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix index 4b93ec8dff9d..0d10b44ab1e1 100644 --- a/pkgs/misc/tmux-plugins/default.nix +++ b/pkgs/misc/tmux-plugins/default.nix @@ -95,8 +95,8 @@ in rec { pluginName = "ctrlw"; src = fetchgit { url = "https://github.com/eraserhd/tmux-ctrlw"; - rev = "2354b5d56828813d0f7a4b228ca74b6134c2695f"; - sha256 = "00hy1axmki8h2285mivsj923z327xkq89wfl2x4dxc71xjhdl216"; + rev = "b456977125c640cd587b786c6a79cb5c7b0f900d"; + sha256 = "1kv5pqfjczd6z7i9jf6j5xmcai50l9bn5p2p1w1l5fi6cj8cz1k1"; }; }; From f5d56c4053311b98d023d7bcc8a17947ee101a85 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 9 Dec 2019 15:27:53 -0800 Subject: [PATCH 14/35] usb-modeswitch: 2.5.2 -> 2.6.0 --- pkgs/development/tools/misc/usb-modeswitch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix index 7c119c929431..a0e1b8eb8ceb 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/default.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "usb-modeswitch"; - version = "2.5.2"; + version = "2.6.0"; src = fetchurl { url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2"; - sha256 = "19ifi80g9ns5dmspchjvfj4ykxssq9yrci8m227dgb3yr04srzxb"; + sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2"; }; makeFlags = [ From 088885d416ca7fe5ee9205b86e05325313b84215 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 9 Dec 2019 15:30:38 -0800 Subject: [PATCH 15/35] usb-modeswitch-data: 20170806 -> 20191128 --- pkgs/development/tools/misc/usb-modeswitch/data.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix index fb43ff61a81c..d2b80011dea0 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/data.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "usb-modeswitch-data"; - version = "20170806"; + version = "20191128"; src = fetchurl { url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2"; - sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff"; + sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz"; }; inherit (usb-modeswitch) makeFlags; From 9299ee088c50fb77e7996bd0380b1b7ecfcd3e0c Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Tue, 10 Dec 2019 01:20:47 +0200 Subject: [PATCH 16/35] fusuma: 0.10.2 -> 1.3.0 --- pkgs/tools/inputmethods/fusuma/Gemfile.lock | 4 ++-- pkgs/tools/inputmethods/fusuma/default.nix | 6 +++--- pkgs/tools/inputmethods/fusuma/gemset.nix | 6 ++++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/inputmethods/fusuma/Gemfile.lock b/pkgs/tools/inputmethods/fusuma/Gemfile.lock index 4038b50b44fe..c35e7658d635 100644 --- a/pkgs/tools/inputmethods/fusuma/Gemfile.lock +++ b/pkgs/tools/inputmethods/fusuma/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - fusuma (0.10.2) + fusuma (1.3.0) PLATFORMS ruby @@ -10,4 +10,4 @@ DEPENDENCIES fusuma BUNDLED WITH - 1.16.3 + 1.17.3 diff --git a/pkgs/tools/inputmethods/fusuma/default.nix b/pkgs/tools/inputmethods/fusuma/default.nix index b410a21cd6ba..53a249687501 100644 --- a/pkgs/tools/inputmethods/fusuma/default.nix +++ b/pkgs/tools/inputmethods/fusuma/default.nix @@ -16,9 +16,9 @@ bundlerApp { meta = with lib; { description = "Multitouch gestures with libinput driver on X11, Linux"; - homepage = https://github.com/iberianpig/fusuma; - license = licenses.mit; + homepage = "https://github.com/iberianpig/fusuma"; + license = licenses.mit; maintainers = with maintainers; [ jfrankenau nicknovitski ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/inputmethods/fusuma/gemset.nix b/pkgs/tools/inputmethods/fusuma/gemset.nix index 2edf9c0886f0..2dd9af421ba9 100644 --- a/pkgs/tools/inputmethods/fusuma/gemset.nix +++ b/pkgs/tools/inputmethods/fusuma/gemset.nix @@ -1,10 +1,12 @@ { fusuma = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hj64kafxj29gk53vj2syhs3vdywl3h9cpiknaqqm4srjx9g04a0"; + sha256 = "150jc8jyqj3w4k13lf1ihqmm2sld1yawp4jwnf43jixnc9rmzx6f"; type = "gem"; }; - version = "0.10.2"; + version = "1.3.0"; }; } \ No newline at end of file From af4f2e366f4826f9d19c1360d35d30d427194fb0 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Tue, 10 Dec 2019 01:48:54 +0200 Subject: [PATCH 17/35] fusuma: add filalex77 to maintainers --- pkgs/tools/inputmethods/fusuma/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/inputmethods/fusuma/default.nix b/pkgs/tools/inputmethods/fusuma/default.nix index 53a249687501..a8901dfb0e43 100644 --- a/pkgs/tools/inputmethods/fusuma/default.nix +++ b/pkgs/tools/inputmethods/fusuma/default.nix @@ -18,7 +18,7 @@ bundlerApp { description = "Multitouch gestures with libinput driver on X11, Linux"; homepage = "https://github.com/iberianpig/fusuma"; license = licenses.mit; - maintainers = with maintainers; [ jfrankenau nicknovitski ]; + maintainers = with maintainers; [ jfrankenau nicknovitski filalex77 ]; platforms = platforms.linux; }; } From cc54e5a6850d60e76a205093c0e171e41837a2b0 Mon Sep 17 00:00:00 2001 From: gnidorah Date: Tue, 10 Dec 2019 19:53:31 +0300 Subject: [PATCH 18/35] nixos/mame: init --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/mame.nix | 67 ++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 nixos/modules/services/misc/mame.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 076e1654818a..453acfa05810 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -445,6 +445,7 @@ ./services/misc/logkeys.nix ./services/misc/leaps.nix ./services/misc/lidarr.nix + ./services/misc/mame.nix ./services/misc/mathics.nix ./services/misc/matrix-synapse.nix ./services/misc/mbpfan.nix diff --git a/nixos/modules/services/misc/mame.nix b/nixos/modules/services/misc/mame.nix new file mode 100644 index 000000000000..c5d5e9e48371 --- /dev/null +++ b/nixos/modules/services/misc/mame.nix @@ -0,0 +1,67 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.mame; + mame = "mame${lib.optionalString pkgs.stdenv.is64bit "64"}"; +in +{ + options = { + services.mame = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to setup TUN/TAP Ethernet interface for MAME emulator. + ''; + }; + user = mkOption { + type = types.str; + description = '' + User from which you run MAME binary. + ''; + }; + hostAddr = mkOption { + type = types.str; + description = '' + IP address of the host system. Usually an address of the main network + adapter or the adapter through which you get an internet connection. + ''; + example = "192.168.31.156"; + }; + emuAddr = mkOption { + type = types.str; + description = '' + IP address of the guest system. The same you set inside guest OS under + MAME. Should be on the same subnet as . + ''; + example = "192.168.31.155"; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.mame ]; + + security.wrappers."${mame}" = { + source = "${pkgs.mame}/bin/${mame}"; + capabilities = "cap_net_admin,cap_net_raw+eip"; + }; + + systemd.services.mame = { + description = "MAME TUN/TAP Ethernet interface"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.iproute ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${pkgs.mame}/bin/taputil.sh -c ${cfg.user} ${cfg.emuAddr} ${cfg.hostAddr} -"; + ExecStop = "${pkgs.mame}/bin/taputil.sh -d ${cfg.user}"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ gnidorah ]; +} From b3fd4fc029d682f29ea4f0ebe104b5f3010a999a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 12 Dec 2019 05:59:46 -0500 Subject: [PATCH 19/35] libgpod: drop pygobject2 Multi-output as well. --- pkgs/development/libraries/libgpod/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix index c41f0a60d06e..063588e9f1e5 100644 --- a/pkgs/development/libraries/libgpod/default.nix +++ b/pkgs/development/libraries/libgpod/default.nix @@ -1,18 +1,20 @@ -{stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib, +{ stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib, libxml2, sqlite, zlib, sg3_utils, gdk-pixbuf, taglib, - libimobiledevice, python3Packages, mutagen, + libimobiledevice, mutagen, monoSupport ? false, mono, gtk-sharp-2_0 }: -let - inherit (python3Packages) python pygobject2; -in stdenv.mkDerivation rec { + +stdenv.mkDerivation rec { name = "libgpod-0.8.3"; + src = fetchurl { url = "mirror://sourceforge/gtkpod/${name}.tar.bz2"; sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3"; }; + outputs = [ "out" "dev" ]; + preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )"; configureFlags = [ @@ -23,7 +25,7 @@ in stdenv.mkDerivation rec { dontStrip = true; propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils - gdk-pixbuf taglib libimobiledevice python pygobject2 mutagen ]; + gdk-pixbuf taglib libimobiledevice mutagen ]; nativeBuildInputs = [ gettext intltool pkgconfig ] ++ (with perlPackages; [ perl XMLParser ]) From d206f319081d4f8113802c6b65f60ed64904908a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 12 Dec 2019 06:02:24 -0500 Subject: [PATCH 20/35] gpodder: drop ipod support Upstream claims it doesn't work https://github.com/gpodder/gpodder/issues/706. --- pkgs/applications/audio/gpodder/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index 246cba590f45..b972aae7de80 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, python3, python3Packages, intltool , glibcLocales, gnome3, gtk3, wrapGAppsHook -, ipodSupport ? false, libgpod, gobject-introspection +, gobject-introspection }: python3Packages.buildPythonApplication rec { @@ -50,7 +50,7 @@ python3Packages.buildPythonApplication rec { podcastparser html5lib gtk3 - ] ++ stdenv.lib.optional ipodSupport libgpod; + ]; makeFlags = [ "PREFIX=$(out)" From 727f2e9a3e1da1e6f63aaabd607c66d9adf82ce3 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Thu, 12 Dec 2019 23:14:20 +0100 Subject: [PATCH 21/35] nixos/oxidized: specify PID file in service --- nixos/modules/services/admin/oxidized.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix index da81be3f23e8..885eaed1de6f 100644 --- a/nixos/modules/services/admin/oxidized.nix +++ b/nixos/modules/services/admin/oxidized.nix @@ -111,6 +111,7 @@ in Restart = "always"; WorkingDirectory = cfg.dataDir; KillSignal = "SIGKILL"; + PIDFile = "${cfg.dataDir}.config/oxidized/pid"; }; }; }; From 03aa4ac48fdf0da89090ae1a11c1b2f67c412808 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Mon, 16 Dec 2019 14:05:23 +0200 Subject: [PATCH 22/35] coredns: 1.3.1 -> 1.6.6 --- pkgs/servers/dns/coredns/default.nix | 14 ++--- pkgs/servers/dns/coredns/deps.nix | 84 ---------------------------- 2 files changed, 7 insertions(+), 91 deletions(-) delete mode 100644 pkgs/servers/dns/coredns/deps.nix diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix index def78223f127..2c8506ac9d28 100644 --- a/pkgs/servers/dns/coredns/default.nix +++ b/pkgs/servers/dns/coredns/default.nix @@ -1,8 +1,8 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { +buildGoModule rec { pname = "coredns"; - version = "1.3.1"; + version = "1.6.6"; goPackagePath = "github.com/coredns/coredns"; @@ -10,15 +10,15 @@ buildGoPackage rec { owner = "coredns"; repo = "coredns"; rev = "v${version}"; - sha256 = "0aflm0c3qcjcq4dy7yx9f5xlvdm4k0b2awsp3qvbfgyp74by0584"; + sha256 = "1x8sgchp0kkk5xdharjrq29qxgv1mdzrw3f12s2kchgqf1m6r0sx"; }; - goDeps = ./deps.nix; + modSha256 = "10ljggg1g5x00gpgzc5m29n1k5akf0s0g3hkdh8adcbrcz0pgr5c"; meta = with stdenv.lib; { - homepage = https://coredns.io; + homepage = "https://coredns.io"; description = "A DNS server that runs middleware"; license = licenses.asl20; - maintainers = [ maintainers.rushmorem maintainers.rtreffer maintainers.deltaevo ]; + maintainers = with maintainers; [ rushmorem rtreffer deltaevo ]; }; } diff --git a/pkgs/servers/dns/coredns/deps.nix b/pkgs/servers/dns/coredns/deps.nix deleted file mode 100644 index 4dd8228c8a6a..000000000000 --- a/pkgs/servers/dns/coredns/deps.nix +++ /dev/null @@ -1,84 +0,0 @@ -[ - { - goPackagePath = "github.com/mholt/caddy"; - fetch = { - type = "git"; - url = "https://github.com/mholt/caddy"; - rev = "v0.11.1"; - sha256 = "0v35d3dy0f88wgk1vzznbx7p15vjjf7xm3qfi2c3192rsxgzvy0l"; - }; - } - { - goPackagePath = "github.com/miekg/dns"; - fetch = { - type = "git"; - url = "https://github.com/miekg/dns"; - rev = "v1.1.3"; - sha256 = "1xs1k9jm9f04y8callww9x4s0jrxmsn7882iyy4br8sbpl3wzkw4"; - }; - } - { - goPackagePath = "github.com/prometheus/client_golang"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/client_golang"; - rev = "v0.9.1"; - sha256 = "01gnylazia30pcp069xcng482gwmm3xcx5zgrlwdkhic1lyb6i9l"; - }; - } - # client_golang dependencies - { - goPackagePath = "github.com/beorn7/perks"; - fetch = { - type = "git"; - url = "https://github.com/beorn7/perks"; - rev = "3a771d992973f24aa725d07868b467d1ddfceafb"; - sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3"; - }; - } - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "347cf4a86c1cb8d262994d8ef5924d4576c5b331"; - sha256 = "0c5j5c2dnj1452653c8nnpx4jwijwafi1p8685g7ddm6kng9q1wz"; - }; - } - { - goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; - fetch = { - type = "git"; - url = "https://github.com/matttproud/golang_protobuf_extensions"; - rev = "c182affec369e30f25d3eb8cd8a478dee585ae7d"; - sha256 = "1xqsf9vpcrd4hp95rl6kgmjvkv1df4aicfw4l5vfcxcwxknfx2xs"; - }; - } - { - goPackagePath = "github.com/prometheus/client_model"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/client_model"; - rev = "56726106282f1985ea77d5305743db7231b0c0a8"; - sha256 = "19y4qs9mkxiiab5sh3b7cccjpl3xbp6sy8812ig9f1zg8vzkzj7j"; - }; - } - { - goPackagePath = "github.com/prometheus/common"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/common"; - rev = "2998b132700a7d019ff618c06a234b47c1f3f681"; - sha256 = "131qmx0rs1nz0ci3qzkks4i6fdmr5c69i48h5cngjizlb9xxwir2"; - }; - } - { - goPackagePath = "github.com/prometheus/procfs"; - fetch = { - type = "git"; - url = "https://github.com/prometheus/procfs"; - rev = "bf6a532e95b1f7a62adf0ab5050a5bb2237ad2f4"; - sha256 = "0k65i2ikf3jp6863mpc1raf928i78r8jd7zn9djx6f4izls6l6j1"; - }; - } -] From 2318f7fc44918b79b233eccd9a8edb72d26e5604 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Mon, 16 Dec 2019 18:22:31 +0200 Subject: [PATCH 23/35] hydroxide: init at 0.2.11 --- .../networking/hydroxide/default.nix | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/applications/networking/hydroxide/default.nix diff --git a/pkgs/applications/networking/hydroxide/default.nix b/pkgs/applications/networking/hydroxide/default.nix new file mode 100644 index 000000000000..75c1cdaece96 --- /dev/null +++ b/pkgs/applications/networking/hydroxide/default.nix @@ -0,0 +1,33 @@ +{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: + +buildGoModule rec { + pname = "hydroxide"; + version = "0.2.11"; + + src = fetchFromGitHub { + owner = "emersion"; + repo = pname; + rev = "v${version}"; + sha256 = "0rn35iyli80kgj3yn93lrx0ybgc8fhvmkvx1d18ill7r4cmavand"; + }; + + modSha256 = "0b19rcif8yiyvhrsjd3q5nsvr580lklamlphx4dk47n456ckcqfp"; + + # FIXME: remove with next release + patches = [ + (fetchpatch { + url = "https://github.com/emersion/hydroxide/commit/80e0fa6f3e0154338fb0af8a82ca32ae6281dd15.patch"; + sha256 = "1xi0clzgz14a7sxnwr0li7sz9p05sfh3zh5iqg2qz5f415k9jknj"; + }) + ]; + + subPackages = [ "cmd/hydroxide" ]; + + meta = with lib; { + description = "A third-party, open-source ProtonMail bridge"; + homepage = "https://github.com/emersion/hydroxide"; + license = licenses.mit; + maintainers = with maintainers; [ filalex77 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f6b16b1ef32f..689147f068ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19274,6 +19274,8 @@ in hydrogen = callPackage ../applications/audio/hydrogen { }; + hydroxide = callPackage ../applications/networking/hydroxide { }; + hyper = callPackage ../applications/misc/hyper { }; hyper-haskell-server-with-packages = callPackage ../development/tools/haskell/hyper-haskell/server.nix { From 93a51b8d1e870b72cf33af90c01f21b54c183d87 Mon Sep 17 00:00:00 2001 From: Eduardo Quiros Date: Mon, 16 Dec 2019 11:29:24 -0600 Subject: [PATCH 24/35] croc: 6.4.6 -> 6.4.7 --- pkgs/tools/networking/croc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix index 828d61ca43c9..0a7541407062 100644 --- a/pkgs/tools/networking/croc/default.nix +++ b/pkgs/tools/networking/croc/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "croc"; - version = "6.4.6"; + version = "6.4.7"; goPackagePath = "github.com/schollz/croc"; @@ -10,7 +10,7 @@ buildGoModule rec { owner = "schollz"; repo = pname; rev = "v${version}"; - sha256 = "13sgjyrabr34a6sz8lzc21zvv5wc5lkgwbx0ar8afmikkrpdypln"; + sha256 = "1i8g90sr5rk7flfxvmxca6z5vp9wh8zraf2lfz618s5axds3kb50"; }; modSha256 = "1w84xqnn9fnkakak6j069app4ybbxpwq79g8qypwvmqg5bhvzywg"; From c68dad170f32ae1a4bbb33812d7ae8ab54002623 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 16 Dec 2019 15:25:06 -0500 Subject: [PATCH 25/35] python3Packages.aiokafka: init at 0.5.2 --- .../python-modules/aiokafka/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/aiokafka/default.nix diff --git a/pkgs/development/python-modules/aiokafka/default.nix b/pkgs/development/python-modules/aiokafka/default.nix new file mode 100644 index 000000000000..b31f83dc136d --- /dev/null +++ b/pkgs/development/python-modules/aiokafka/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy27 +, kafka-python +, cython +, zlib +}: + +buildPythonPackage rec { + pname = "aiokafka"; + version = "0.5.2"; + + disabled = isPy27; + + src = fetchFromGitHub { + owner = "aio-libs"; + repo = "aiokafka"; + rev = "v${version}"; + sha256 = "062kqsq75fi5pbpqf2a8nxm43pxpr6bwplg6bp4nv2a68r850pki"; + }; + + nativeBuildInputs = [ + cython + ]; + + buildInputs = [ + zlib + ]; + + propagatedBuildInputs = [ + kafka-python + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace "kafka-python==1.4.6" "kafka-python" + ''; + + # checks require running kafka server + doCheck = false; + + meta = with lib; { + description = "Kafka integration with asyncio"; + homepage = https://aiokafka.readthedocs.org; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index aa361904eb30..032fe94d7739 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4338,6 +4338,8 @@ in { aioeventlet = callPackage ../development/python-modules/aioeventlet { }; + aiokafka = callPackage ../development/python-modules/aiokafka { }; + olefile = callPackage ../development/python-modules/olefile { }; requests-mock = callPackage ../development/python-modules/requests-mock { }; From b443abf91494fa416ac1af7c8a751a44349d6253 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 21:11:45 -0800 Subject: [PATCH 26/35] python3Packages.starfish: disable due to incompatible dependencies isn't compatible with latest python-dateutil or scikit-image --- pkgs/development/python-modules/starfish/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/starfish/default.nix b/pkgs/development/python-modules/starfish/default.nix index 25ce5a0f6515..38934d9497ad 100644 --- a/pkgs/development/python-modules/starfish/default.nix +++ b/pkgs/development/python-modules/starfish/default.nix @@ -85,5 +85,6 @@ buildPythonPackage rec { homepage = https://spacetx-starfish.readthedocs.io/en/latest/; license = licenses.mit; maintainers = [ maintainers.costrouc ]; + broken = true; # incompatible with latest python-dateutil, scikit-image }; } From 00c3761322ec4d2aa85e66f1c55452ded3f9e681 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Mon, 16 Dec 2019 23:02:26 +0100 Subject: [PATCH 27/35] ecl: fix build with libffi 3.3 The build was broken by the recent libffi update (53a04a2df0c0812fd983364184d519dc3356e7d2) because of this upstream change: https://github.com/libffi/libffi/commit/ef76205647bca77796882d31f6ab5e889f461f07 I have changed the usage of FFI_SYSV as gentoo suggests: https://wiki.gentoo.org/wiki/Libffi_3.3_porting_notes/FFI_SYSV I'm not entirely sure if that is the right call here, but I haven't noticed any regressions in my testing and its definitely better than a broken build. Upstream: https://gitlab.com/embeddable-common-lisp/ecl/issues/302 --- pkgs/development/compilers/ecl/16.1.2.nix | 1 + pkgs/development/compilers/ecl/default.nix | 4 ++++ .../compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch | 15 +++++++++++++++ .../compilers/ecl/libffi-3.3-abi.patch | 15 +++++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch create mode 100644 pkgs/development/compilers/ecl/libffi-3.3-abi.patch diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix index bede9fa4aa68..a7b2aa6be748 100644 --- a/pkgs/development/compilers/ecl/16.1.2.nix +++ b/pkgs/development/compilers/ecl/16.1.2.nix @@ -61,6 +61,7 @@ stdenv.mkDerivation { url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/16.1.2-getcwd.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; sha256 = "1fbi8gn7rv8nqff5mpaijsrch3k3z7qc5cn4h1vl8qrr8xwqlqhb"; }) + ./ecl-1.16.2-libffi-3.3-abi.patch ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix index 33ed690772ea..375b38f1dc68 100644 --- a/pkgs/development/compilers/ecl/default.nix +++ b/pkgs/development/compilers/ecl/default.nix @@ -35,6 +35,10 @@ stdenv.mkDerivation { inherit (s) url sha256; }; + patches = [ + ./libffi-3.3-abi.patch + ]; + configureFlags = [ (if threadSupport then "--enable-threads" else "--disable-threads") "--with-gmp-prefix=${gmp.dev}" diff --git a/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch new file mode 100644 index 000000000000..28dd7d0805b3 --- /dev/null +++ b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch @@ -0,0 +1,15 @@ +diff --git a/src/c/ffi.d b/src/c/ffi.d +index 8861303e..8a959c23 100644 +--- a/src/c/ffi.d ++++ b/src/c/ffi.d +@@ -145,8 +145,8 @@ static struct { + #elif defined(X86_WIN64) + {@':win64', FFI_WIN64}, + #elif defined(X86_ANY) || defined(X86) || defined(X86_64) +- {@':cdecl', FFI_SYSV}, +- {@':sysv', FFI_SYSV}, ++ {@':cdecl', FFI_UNIX64}, ++ {@':sysv', FFI_UNIX64}, + {@':unix64', FFI_UNIX64}, + #endif + }; diff --git a/pkgs/development/compilers/ecl/libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch new file mode 100644 index 000000000000..0a2b5f4dd568 --- /dev/null +++ b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch @@ -0,0 +1,15 @@ +diff --git a/src/c/ffi.d b/src/c/ffi.d +index 8174977a..caa69f39 100644 +--- a/src/c/ffi.d ++++ b/src/c/ffi.d +@@ -133,8 +133,8 @@ static struct { + #elif defined(X86_WIN64) + {@':win64', FFI_WIN64}, + #elif defined(X86_ANY) || defined(X86) || defined(X86_64) +- {@':cdecl', FFI_SYSV}, +- {@':sysv', FFI_SYSV}, ++ {@':cdecl', FFI_UNIX64}, ++ {@':sysv', FFI_UNIX64}, + {@':unix64', FFI_UNIX64}, + #endif + }; From 21770f817cf3e755ebc8427a70ec9406b83fb801 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 16 Dec 2019 16:25:06 -0500 Subject: [PATCH 28/35] python3Packages.aiorun: init at 2019.11.1 --- .../python-modules/aiorun/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/python-modules/aiorun/default.nix diff --git a/pkgs/development/python-modules/aiorun/default.nix b/pkgs/development/python-modules/aiorun/default.nix new file mode 100644 index 000000000000..7e38bb76873a --- /dev/null +++ b/pkgs/development/python-modules/aiorun/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy27 +, pytest +, pytestcov +, uvloop +}: + +buildPythonPackage rec { + pname = "aiorun"; + version = "2019.11.1"; + format = "flit"; + + disabled = isPy27; + + src = fetchFromGitHub { + owner = "cjrh"; + repo = pname; + rev = "v${version}"; + sha256 = "04p3sci6af6qqfkcqamsqhmqqrigcwvl4bmx8yv5ppvkyq39pxi7"; + }; + + checkInputs = [ + pytest + pytestcov + uvloop + ]; + + # allow for writable directory for darwin + preBuild = '' + export HOME=$TMPDIR + ''; + + checkPhase = '' + pytest + ''; + + meta = with lib; { + description = "Boilerplate for asyncio applications"; + homepage = https://github.com/cjrh/aiorun; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 032fe94d7739..84490c93fdf9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -165,6 +165,8 @@ in { aioredis = callPackage ../development/python-modules/aioredis { }; + aiorun = callPackage ../development/python-modules/aiorun { }; + ansicolor = callPackage ../development/python-modules/ansicolor { }; ansiwrap = callPackage ../development/python-modules/ansiwrap { }; From ab9bdca0912da6b3c990b3f5e9333e9c40b59251 Mon Sep 17 00:00:00 2001 From: Lily Ballard Date: Mon, 16 Dec 2019 16:15:34 -0800 Subject: [PATCH 29/35] cocoapods-beta: 1.8.4 -> 1.9.0.beta.1 --- .../mobile/cocoapods/Gemfile-beta.lock | 27 +++++--- .../mobile/cocoapods/gemset-beta.nix | 62 ++++++++++++++----- 2 files changed, 64 insertions(+), 25 deletions(-) diff --git a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock index 5b7288ad4f79..c077132a9f3d 100644 --- a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock +++ b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.1) + CFPropertyList (3.0.2) activesupport (4.2.11.1) i18n (~> 0.7) minitest (~> 5.1) @@ -12,10 +12,10 @@ GEM json (>= 1.5.1) atomos (0.1.3) claide (1.0.3) - cocoapods (1.8.4) + cocoapods (1.9.0.beta.1) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.8.4) + cocoapods-core (= 1.9.0.beta.1) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -30,15 +30,17 @@ GEM molinillo (~> 0.6.6) nap (~> 1.0) ruby-macho (~> 1.4) - xcodeproj (>= 1.11.1, < 2.0) - cocoapods-core (1.8.4) + xcodeproj (>= 1.14.0, < 2.0) + cocoapods-core (1.9.0.beta.1) activesupport (>= 4.0.2, < 6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) fuzzy_match (~> 2.0.4) nap (~> 1.0) + netrc (~> 0.11) + typhoeus (~> 1.0) cocoapods-deintegrate (1.0.4) - cocoapods-downloader (1.2.2) + cocoapods-downloader (1.3.0) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.0) @@ -50,23 +52,28 @@ GEM colored2 (3.1.2) concurrent-ruby (1.1.5) escape (0.0.4) + ethon (0.12.0) + ffi (>= 1.3.0) + ffi (1.11.3) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) - json (2.2.0) - minitest (5.12.2) + json (2.3.0) + minitest (5.13.0) molinillo (0.6.6) nanaimo (0.2.6) nap (1.1.0) netrc (0.11.0) ruby-macho (1.4.0) thread_safe (0.3.6) + typhoeus (1.3.1) + ethon (>= 0.9.0) tzinfo (1.2.5) thread_safe (~> 0.1) - xcodeproj (1.13.0) + xcodeproj (1.14.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -80,4 +87,4 @@ DEPENDENCIES cocoapods (>= 1.7.0.beta.1)! BUNDLED WITH - 1.17.2 + 1.17.3 diff --git a/pkgs/development/mobile/cocoapods/gemset-beta.nix b/pkgs/development/mobile/cocoapods/gemset-beta.nix index b94bc461944e..120680f658dd 100644 --- a/pkgs/development/mobile/cocoapods/gemset-beta.nix +++ b/pkgs/development/mobile/cocoapods/gemset-beta.nix @@ -36,10 +36,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8"; + sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf"; type = "gem"; }; - version = "3.0.1"; + version = "3.0.2"; }; claide = { groups = ["default"]; @@ -57,21 +57,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc"; + sha256 = "14447zrbg90gvjhfpwmjsfh4n7i9f0p1zd0jj3m2cx4y8102djiy"; type = "gem"; }; - version = "1.8.4"; + version = "1.9.0.beta.1"; }; cocoapods-core = { - dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"]; + dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "typhoeus"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad"; + sha256 = "0nhrqwrvblpgf4k3cy0nyxfphyzw46zql1pdv1x7y42h4cn5z8qp"; type = "gem"; }; - version = "1.8.4"; + version = "1.9.0.beta.1"; }; cocoapods-deintegrate = { groups = ["default"]; @@ -88,10 +88,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3"; + sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54"; type = "gem"; }; - version = "1.2.2"; + version = "1.3.0"; }; cocoapods-plugins = { dependencies = ["nap"]; @@ -175,6 +175,27 @@ }; version = "0.0.4"; }; + ethon = { + dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9"; + type = "gem"; + }; + version = "0.12.0"; + }; + ffi = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd"; + type = "gem"; + }; + version = "1.11.3"; + }; fourflusher = { groups = ["default"]; platforms = []; @@ -231,20 +252,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; + sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn"; type = "gem"; }; - version = "2.2.0"; + version = "2.3.0"; }; minitest = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zjm24aiz42i9n37mcw8lydd7n0y7wfk27by06jx77ypcld3qvkw"; + sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi"; type = "gem"; }; - version = "5.12.2"; + version = "5.13.0"; }; molinillo = { groups = ["default"]; @@ -306,6 +327,17 @@ }; version = "0.3.6"; }; + typhoeus = { + dependencies = ["ethon"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5"; + type = "gem"; + }; + version = "1.3.1"; + }; tzinfo = { dependencies = ["thread_safe"]; groups = ["default"]; @@ -323,9 +355,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c69yrhqd92q6nnpyhvnqyw9l7axnc91gnbd2gai8f5njdisd8wx"; + sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb"; type = "gem"; }; - version = "1.13.0"; + version = "1.14.0"; }; } \ No newline at end of file From c3f09c33ebb773a03efbf0f042340c318aebfbb8 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Tue, 17 Dec 2019 11:20:32 +1100 Subject: [PATCH 30/35] strelka: fix broken build --- pkgs/applications/science/biology/strelka/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/biology/strelka/default.nix b/pkgs/applications/science/biology/strelka/default.nix index c791e8ef89bb..cb83b19269bd 100644 --- a/pkgs/applications/science/biology/strelka/default.nix +++ b/pkgs/applications/science/biology/strelka/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ zlib python2 ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ]; + preConfigure = '' sed -i 's|/usr/bin/env python|${python2}/bin/python|' src/python/lib/makeRunScript.py patchShebangs . @@ -33,7 +35,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/Illumina/strelka; maintainers = with maintainers; [ jbedo ]; platforms = [ "x86_64-linux" ]; - broken = true; }; } From 62e680cdcf40da86b1f47e7f59a2716820ff1e3c Mon Sep 17 00:00:00 2001 From: Burke Libbey Date: Mon, 16 Dec 2019 17:50:56 -0500 Subject: [PATCH 31/35] ruby-modules: parse build_flags correctly: In building a gem whose native extension is a Rakefile, the previous version of this code will call essentially `rake ""`, when it means to call `rake`. This change converts `""` into `[]` rather than `[""]`. --- pkgs/development/ruby-modules/gem/nix-bundle-install.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ruby-modules/gem/nix-bundle-install.rb b/pkgs/development/ruby-modules/gem/nix-bundle-install.rb index 142d2da9bee2..0d501bd9add7 100644 --- a/pkgs/development/ruby-modules/gem/nix-bundle-install.rb +++ b/pkgs/development/ruby-modules/gem/nix-bundle-install.rb @@ -5,6 +5,7 @@ require 'rubygems/command' require 'fileutils' require 'pathname' require 'tmpdir' +require 'shellwords' if defined?(Encoding.default_internal) Encoding.default_internal = Encoding::UTF_8 @@ -31,7 +32,7 @@ bin_dir = File.join(ENV["out"], "bin") type = ARGV[0] name = ARGV[1] version = ARGV[2] -build_flags = ARGV[3] +build_flags = Shellwords.split(ARGV[3]) if type == "git" uri = ARGV[4] REPO = ARGV[5] @@ -117,7 +118,7 @@ else source = Bundler::Source::Path.new(options) end spec = source.specs.search_all(name).first -Bundler.rubygems.with_build_args [build_flags] do +Bundler.rubygems.with_build_args build_flags do source.install(spec) end From 56a206efe92d6885962d4cbfc5dc3f46cf980d5b Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Mon, 16 Dec 2019 20:20:20 -0500 Subject: [PATCH 32/35] gauche: 0.9.8 -> 0.9.9 Release notes: https://practical-scheme.net/gauche/gmemo/?Release%200.9.9 --- pkgs/development/interpreters/gauche/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/gauche/default.nix b/pkgs/development/interpreters/gauche/default.nix index 71542046af91..9b38d1e4ad54 100644 --- a/pkgs/development/interpreters/gauche/default.nix +++ b/pkgs/development/interpreters/gauche/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "gauche"; - version = "0.9.8"; + version = "0.9.9"; src = fetchurl { url = "mirror://sourceforge/gauche/Gauche-${version}.tgz"; - sha256 = "0jxp1ladpy8kvfvk561c64spf1c3d6giqla6zscqkd6qa480vcry"; + sha256 = "1yzpszhw52vkpr65r5d4khf3489mnnvnw58dd2wsvvx7499k5aac"; }; nativeBuildInputs = [ pkgconfig texinfo ]; From 9b372dcf2a3757fae754ef69ca2949d53528e389 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Mon, 16 Dec 2019 13:24:22 -0500 Subject: [PATCH 33/35] pythonPackages.casbin: init at 0.8.3 --- .../python-modules/casbin/default.nix | 40 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/python-modules/casbin/default.nix diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix new file mode 100644 index 000000000000..114625c397ce --- /dev/null +++ b/pkgs/development/python-modules/casbin/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, simpleeval +, isPy27 +, coveralls +}: + +buildPythonPackage rec { + pname = "casbin"; + version = "0.8.3"; + + disabled = isPy27; + + src = fetchFromGitHub { + owner = pname; + repo = "pycasbin"; + rev = "v${version}"; + sha256 = "1s89m62933m4wprsknwhabgg7irykrcimv80hh2zkyyslz5vbq71"; + }; + + propagatedBuildInputs = [ + simpleeval + ]; + + checkInputs = [ + coveralls + ]; + + checkPhase = '' + coverage run -m unittest discover -s tests -t tests + ''; + + meta = with lib; { + description = "An authorization library that supports access control models like ACL, RBAC, ABAC in Python"; + homepage = https://github.com/casbin/pycasbin; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 84490c93fdf9..dba6218ec5a0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1908,6 +1908,8 @@ in { cartopy = callPackage ../development/python-modules/cartopy {}; + casbin = callPackage ../development/python-modules/casbin { }; + case = callPackage ../development/python-modules/case {}; cbor = callPackage ../development/python-modules/cbor {}; From ef3756ff1b33cbde63f852e5e9a7c12b5acdc071 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Mon, 16 Dec 2019 13:44:46 -0800 Subject: [PATCH 34/35] Revert "python: gym: 0.15.3 -> 0.15.4" 0.15.4 requires python-opencv, which isn't packaged yet, and is not trival to package This reverts commit 8ee4062480e78f17f47c0e9893c6e16fdff35b73. --- pkgs/development/python-modules/gym/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix index d90ded1fb5fa..52171470c271 100644 --- a/pkgs/development/python-modules/gym/default.nix +++ b/pkgs/development/python-modules/gym/default.nix @@ -5,11 +5,11 @@ buildPythonPackage rec { pname = "gym"; - version = "0.15.4"; + version = "0.15.3"; src = fetchPypi { inherit pname version; - sha256 = "3b930cbe1c76bbd30455b5e82ba723dea94159a5f988e927f443324bf7cc7ddd"; + sha256 = "18381e13bbd1e2f206a1b88a2af4fb87affd7d06ee7955a6e5e6a79478a9adfc"; }; postPatch = '' From 67d1525945c0d14aaef11be7433f442f8edf6e76 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 17 Dec 2019 01:54:08 -0500 Subject: [PATCH 35/35] pantheon.granite: 5.2.5 -> 5.3.0 https://github.com/elementary/granite/releases/tag/5.3.0 --- pkgs/desktops/pantheon/granite/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index ab673832857d..1b73ac88df59 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "granite"; - version = "5.2.5"; + version = "5.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0z40vhcp2w8s8rnc56pzvjc4s77bln8k84rwwypivjmk3lhpw1vi"; + sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa"; }; passthru = {