commit
d5ece1c5d8
@ -0,0 +1,24 @@ |
|||||||
|
storage_pools: |
||||||
|
- name: default |
||||||
|
driver: dir |
||||||
|
config: |
||||||
|
source: /var/lxd-pool |
||||||
|
|
||||||
|
networks: |
||||||
|
- name: lxdbr0 |
||||||
|
type: bridge |
||||||
|
config: |
||||||
|
ipv4.address: auto |
||||||
|
ipv6.address: none |
||||||
|
|
||||||
|
profiles: |
||||||
|
- name: default |
||||||
|
devices: |
||||||
|
eth0: |
||||||
|
name: eth0 |
||||||
|
network: lxdbr0 |
||||||
|
type: nic |
||||||
|
root: |
||||||
|
path: / |
||||||
|
pool: default |
||||||
|
type: disk |
@ -1,89 +0,0 @@ |
|||||||
# This test ensures that the nixOS lxd images builds and functions properly |
|
||||||
# It has been extracted from `lxd.nix` to seperate failures of just the image and the lxd software |
|
||||||
|
|
||||||
import ./make-test-python.nix ({ pkgs, ...} : let |
|
||||||
release = import ../release.nix { |
|
||||||
/* configuration = { |
|
||||||
environment.systemPackages = with pkgs; [ stdenv ]; # inject stdenv so rebuild test works |
|
||||||
}; */ |
|
||||||
}; |
|
||||||
|
|
||||||
metadata = release.lxdMeta.${pkgs.system}; |
|
||||||
image = release.lxdImage.${pkgs.system}; |
|
||||||
|
|
||||||
lxd-config = pkgs.writeText "config.yaml" '' |
|
||||||
storage_pools: |
|
||||||
- name: default |
|
||||||
driver: dir |
|
||||||
config: |
|
||||||
source: /var/lxd-pool |
|
||||||
|
|
||||||
networks: |
|
||||||
- name: lxdbr0 |
|
||||||
type: bridge |
|
||||||
config: |
|
||||||
ipv4.address: auto |
|
||||||
ipv6.address: none |
|
||||||
|
|
||||||
profiles: |
|
||||||
- name: default |
|
||||||
devices: |
|
||||||
eth0: |
|
||||||
name: eth0 |
|
||||||
network: lxdbr0 |
|
||||||
type: nic |
|
||||||
root: |
|
||||||
path: / |
|
||||||
pool: default |
|
||||||
type: disk |
|
||||||
''; |
|
||||||
in { |
|
||||||
name = "lxd-image"; |
|
||||||
|
|
||||||
meta = with pkgs.lib.maintainers; { |
|
||||||
maintainers = [ mkg20001 ]; |
|
||||||
}; |
|
||||||
|
|
||||||
nodes.machine = { lib, ... }: { |
|
||||||
virtualisation = { |
|
||||||
# disk full otherwise |
|
||||||
diskSize = 2048; |
|
||||||
|
|
||||||
lxc.lxcfs.enable = true; |
|
||||||
lxd.enable = true; |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
testScript = '' |
|
||||||
machine.wait_for_unit("sockets.target") |
|
||||||
machine.wait_for_unit("lxd.service") |
|
||||||
machine.wait_for_file("/var/lib/lxd/unix.socket") |
|
||||||
|
|
||||||
# It takes additional second for lxd to settle |
|
||||||
machine.sleep(1) |
|
||||||
|
|
||||||
# lxd expects the pool's directory to already exist |
|
||||||
machine.succeed("mkdir /var/lxd-pool") |
|
||||||
|
|
||||||
machine.succeed( |
|
||||||
"cat ${lxd-config} | lxd init --preseed" |
|
||||||
) |
|
||||||
|
|
||||||
# TODO: test custom built container aswell |
|
||||||
|
|
||||||
with subtest("importing container works"): |
|
||||||
machine.succeed("lxc image import ${metadata}/*/*.tar.xz ${image}/*/*.tar.xz --alias nixos") |
|
||||||
|
|
||||||
with subtest("launching container works"): |
|
||||||
machine.succeed("lxc launch nixos machine -c security.nesting=true") |
|
||||||
# make sure machine boots up properly |
|
||||||
machine.sleep(5) |
|
||||||
|
|
||||||
with subtest("container shell works"): |
|
||||||
machine.succeed("echo true | lxc exec machine /run/current-system/sw/bin/bash -") |
|
||||||
machine.succeed("lxc exec machine /run/current-system/sw/bin/true") |
|
||||||
|
|
||||||
# with subtest("rebuilding works"): |
|
||||||
# machine.succeed("lxc exec machine /run/current-system/sw/bin/nixos-rebuild switch") |
|
||||||
''; |
|
||||||
}) |
|
@ -1,20 +1,20 @@ |
|||||||
{ |
{ |
||||||
beta = import ./browser.nix { |
beta = import ./browser.nix { |
||||||
channel = "beta"; |
channel = "beta"; |
||||||
version = "99.0.1150.16"; |
version = "101.0.1210.19"; |
||||||
revision = "1"; |
revision = "1"; |
||||||
sha256 = "sha256:0qsgs889d6qwxz9qf42psmjqfhmrqgp07srq5r38npl5pncr137h"; |
sha256 = "sha256:1kgc19ryw69xiqppz90d6sa45g99hzkh7x5yk9d3xlh1gc1xn54p"; |
||||||
}; |
}; |
||||||
dev = import ./browser.nix { |
dev = import ./browser.nix { |
||||||
channel = "dev"; |
channel = "dev"; |
||||||
version = "100.0.1163.1"; |
version = "102.0.1227.0"; |
||||||
revision = "1"; |
revision = "1"; |
||||||
sha256 = "sha256:153faqxyw5f5b6cqnvd71dl7941znkzci8dwbcgaxway0b6882jq"; |
sha256 = "sha256:0dnyandri7yg7c9812pnsxqszxyqcssxf87yskjg2vw95hawf11x"; |
||||||
}; |
}; |
||||||
stable = import ./browser.nix { |
stable = import ./browser.nix { |
||||||
channel = "stable"; |
channel = "stable"; |
||||||
version = "98.0.1108.56"; |
version = "100.0.1185.44"; |
||||||
revision = "1"; |
revision = "1"; |
||||||
sha256 = "sha256:03jbj2s2fs60fzfgsmyb284q7nckji87qgb86mvl5g0hbl19aza7"; |
sha256 = "sha256:0zv1zyijh620xz36a6nmhv7rbv4ln5f245hyh0w1sngynsl1rz89"; |
||||||
}; |
}; |
||||||
} |
} |
||||||
|
@ -1,151 +0,0 @@ |
|||||||
{ stdenv, lib, config, fetchFromGitHub |
|
||||||
, cmake |
|
||||||
, glog, gflags, gtest |
|
||||||
, protobuf, snappy |
|
||||||
, python, future, six, python-protobuf, numpy, pydot |
|
||||||
, eigen |
|
||||||
, doxygen |
|
||||||
, useCuda ? (config.cudaSupport or false), cudaPackages ? {} |
|
||||||
, useCudnn ? (config.cudnnSupport or false) |
|
||||||
, useOpenmp ? false, openmp ? null |
|
||||||
, useOpencv3 ? true, opencv3 ? null |
|
||||||
, useLeveldb ? false, leveldb ? null |
|
||||||
, useLmdb ? true, lmdb ? null |
|
||||||
, useRocksdb ? false, rocksdb ? null |
|
||||||
, useZeromq ? false, zeromq ? null |
|
||||||
, useMpi ? false, mpi ? null |
|
||||||
# TODO: distributed computations |
|
||||||
#, useGloo ? false |
|
||||||
#, useNccl ? false |
|
||||||
#, useNnpack ? false |
|
||||||
}: |
|
||||||
|
|
||||||
let |
|
||||||
inherit (cudaPackages) cudatoolkit cudnn; |
|
||||||
in |
|
||||||
|
|
||||||
assert useCuda -> cudatoolkit != null; |
|
||||||
assert useCudnn -> (useCuda && cudnn != null); |
|
||||||
assert useOpencv3 -> opencv3 != null; |
|
||||||
assert useLeveldb -> leveldb != null; |
|
||||||
assert useLmdb -> lmdb != null; |
|
||||||
assert useRocksdb -> rocksdb != null; |
|
||||||
assert useZeromq -> zeromq != null; |
|
||||||
assert useMpi -> mpi != null; |
|
||||||
|
|
||||||
let |
|
||||||
# Third party modules that caffe2 holds as git submodules. |
|
||||||
# Download them and create symlinks from caffe2/third_party. |
|
||||||
installExtraSrc = extra: '' |
|
||||||
rmdir "third_party/${extra.dst}" |
|
||||||
ln -s "${extra.src}" "third_party/${extra.dst}" |
|
||||||
''; |
|
||||||
|
|
||||||
cub = { |
|
||||||
src = fetchFromGitHub { |
|
||||||
owner = "NVlabs"; |
|
||||||
repo = "cub"; |
|
||||||
rev = "v1.7.4"; |
|
||||||
sha256 = "0ksd5n1lxqhm5l5cd2lps4cszhjkf6gmzahaycs7nxb06qci8c66"; |
|
||||||
}; |
|
||||||
dst = "cub"; |
|
||||||
}; |
|
||||||
|
|
||||||
pybind11 = { |
|
||||||
src = fetchFromGitHub { |
|
||||||
owner = "pybind"; |
|
||||||
repo = "pybind11"; |
|
||||||
rev = "86e2ad4f77442c3350f9a2476650da6bee253c52"; |
|
||||||
sha256 = "05gi58dirvc8fgm0avpydvidzsbh2zrzgfaq671ym09f6dz0bcgz"; |
|
||||||
}; |
|
||||||
dst = "pybind11"; |
|
||||||
}; |
|
||||||
|
|
||||||
ccVersion = lib.getVersion stdenv.cc; |
|
||||||
in |
|
||||||
|
|
||||||
stdenv.mkDerivation rec { |
|
||||||
pname = "caffe2"; |
|
||||||
version = "0.8.1"; |
|
||||||
src = fetchFromGitHub { |
|
||||||
owner = "caffe2"; |
|
||||||
repo = "caffe2"; |
|
||||||
rev = "v${version}"; |
|
||||||
sha256 = "18y7zjc69j6n5642l9caddl641b0djf3pjn4wacdsc1wk1jiyqk8"; |
|
||||||
}; |
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake doxygen gtest ]; |
|
||||||
outputs = [ "bin" "out" ]; |
|
||||||
propagatedBuildOutputs = [ ]; # otherwise propagates out -> bin cycle |
|
||||||
|
|
||||||
buildInputs = [ glog gflags protobuf snappy eigen ] |
|
||||||
++ lib.optional useCuda cudatoolkit |
|
||||||
++ lib.optional useCudnn cudnn |
|
||||||
++ lib.optional useOpenmp openmp |
|
||||||
++ lib.optional useOpencv3 opencv3 |
|
||||||
++ lib.optional useLeveldb leveldb |
|
||||||
++ lib.optional useLmdb lmdb |
|
||||||
++ lib.optional useRocksdb rocksdb |
|
||||||
++ lib.optional useZeromq zeromq |
|
||||||
; |
|
||||||
propagatedBuildInputs = [ numpy future six python-protobuf pydot ]; |
|
||||||
|
|
||||||
patches = lib.optional (stdenv.cc.isGNU && lib.versionAtLeast ccVersion "7.0.0") [ |
|
||||||
./fix_compilation_on_gcc7.patch |
|
||||||
] ++ lib.optional stdenv.cc.isClang [ ./update_clang_cvtsh_bugfix.patch ]; |
|
||||||
|
|
||||||
cmakeFlags = [ "-DBUILD_TEST=OFF" |
|
||||||
"-DBUILD_PYTHON=ON" |
|
||||||
''-DUSE_CUDA=${if useCuda then "ON"else "OFF"}'' |
|
||||||
''-DUSE_OPENMP=${if useOpenmp then "ON"else "OFF"}'' |
|
||||||
''-DUSE_OPENCV=${if useOpencv3 then "ON"else "OFF"}'' |
|
||||||
''-DUSE_MPI=${if useMpi then "ON"else "OFF"}'' |
|
||||||
''-DUSE_LEVELDB=${if useLeveldb then "ON"else "OFF"}'' |
|
||||||
''-DUSE_LMDB=${if useLmdb then "ON"else "OFF"}'' |
|
||||||
''-DUSE_ROCKSDB=${if useRocksdb then "ON"else "OFF"}'' |
|
||||||
''-DUSE_ZMQ=${if useZeromq then "ON"else "OFF"}'' |
|
||||||
"-DUSE_GLOO=OFF" |
|
||||||
"-DUSE_NNPACK=OFF" |
|
||||||
"-DUSE_NCCL=OFF" |
|
||||||
"-DUSE_REDIS=OFF" |
|
||||||
"-DUSE_FFMPEG=OFF" |
|
||||||
] |
|
||||||
++ lib.optional useCuda [ |
|
||||||
"-DCUDA_TOOLKIT_ROOT_DIR=${cudatoolkit}" |
|
||||||
"-DCUDA_FAST_MATH=ON" |
|
||||||
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc" |
|
||||||
]; |
|
||||||
|
|
||||||
preConfigure = '' |
|
||||||
${installExtraSrc cub} |
|
||||||
${installExtraSrc pybind11} |
|
||||||
# XXX hack |
|
||||||
export NIX_CFLAGS_COMPILE="-I ${eigen}/include/eigen3/ $NIX_CFLAGS_COMPILE" |
|
||||||
''; |
|
||||||
|
|
||||||
postInstall = '' |
|
||||||
moveToOutput "bin" "$bin" |
|
||||||
mkdir -p $out/lib/${python.libPrefix} |
|
||||||
ln -s $out/ $out/${python.sitePackages} |
|
||||||
''; |
|
||||||
|
|
||||||
doCheck = false; |
|
||||||
|
|
||||||
meta = { |
|
||||||
homepage = "https://caffe2.ai/"; |
|
||||||
description = "A new lightweight, modular, and scalable deep learning framework"; |
|
||||||
longDescription = '' |
|
||||||
Caffe2 aims to provide an easy and straightforward way for you to experiment |
|
||||||
with deep learning and leverage community contributions of new models and |
|
||||||
algorithms. You can bring your creations to scale using the power of GPUs in the |
|
||||||
cloud or to the masses on mobile with Caffe2's cross-platform libraries. |
|
||||||
''; |
|
||||||
platforms = with lib.platforms; linux; |
|
||||||
license = lib.licenses.asl20; |
|
||||||
maintainers = with lib.maintainers; [ yuriaisaka ]; |
|
||||||
# fails to compile with |
|
||||||
# error: invalid conversion from 'const char*' to 'char*' |
|
||||||
# TODO: Remove usage of python2, protobuf overwrite |
|
||||||
broken = true; |
|
||||||
}; |
|
||||||
} |
|
@ -1,46 +0,0 @@ |
|||||||
diff --git a/caffe2/operators/recurrent_network_op.cc b/caffe2/operators/recurrent_network_op.cc
|
|
||||||
index dd4fded..5995e8a 100644
|
|
||||||
--- a/caffe2/operators/recurrent_network_op.cc
|
|
||||||
+++ b/caffe2/operators/recurrent_network_op.cc
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-#include "recurrent_network_op.h"
|
|
||||||
+#include "caffe2/operators/recurrent_network_op.h"
|
|
||||||
#include "caffe2/core/workspace.h"
|
|
||||||
|
|
||||||
namespace caffe2 {
|
|
||||||
diff --git a/caffe2/operators/recurrent_network_op.h b/caffe2/operators/recurrent_network_op.h
|
|
||||||
index 55328e5..ea898bc 100644
|
|
||||||
--- a/caffe2/operators/recurrent_network_op.h
|
|
||||||
+++ b/caffe2/operators/recurrent_network_op.h
|
|
||||||
@@ -762,8 +762,8 @@ class AccumulateInputGradientOp : public Operator<Context> {
|
|
||||||
USE_OPERATOR_CONTEXT_FUNCTIONS;
|
|
||||||
|
|
||||||
bool RunOnDevice() override {
|
|
||||||
- const auto t =
|
|
||||||
- OperatorBase::Input<Tensor<CPUContext>>(0).template data<int32_t>()[0];
|
|
||||||
+ const auto& t0 = OperatorBase::Input<Tensor<CPUContext>>(0);
|
|
||||||
+ const auto t = t0.template data<int32_t>()[0];
|
|
||||||
auto& og = Input(1);
|
|
||||||
auto* g = Output(0);
|
|
||||||
|
|
||||||
diff --git a/caffe2/queue/queue_ops.h b/caffe2/queue/queue_ops.h
|
|
||||||
index f2c0a33..642343f 100644
|
|
||||||
--- a/caffe2/queue/queue_ops.h
|
|
||||||
+++ b/caffe2/queue/queue_ops.h
|
|
||||||
@@ -17,13 +17,10 @@ class CreateBlobsQueueOp final : public Operator<Context> {
|
|
||||||
name(operator_def.output().Get(0)) {}
|
|
||||||
|
|
||||||
bool RunOnDevice() override {
|
|
||||||
- const auto capacity =
|
|
||||||
- OperatorBase::template GetSingleArgument<int>("capacity", 1);
|
|
||||||
- const auto numBlobs =
|
|
||||||
- OperatorBase::template GetSingleArgument<int>("num_blobs", 1);
|
|
||||||
+ const auto capacity = GetSingleArgument("capacity", 1);
|
|
||||||
+ const auto numBlobs = GetSingleArgument("num_blobs", 1);
|
|
||||||
const auto enforceUniqueName =
|
|
||||||
- OperatorBase::template GetSingleArgument<int>(
|
|
||||||
- "enforce_unique_name", false);
|
|
||||||
+ GetSingleArgument("enforce_unique_name", false);
|
|
||||||
const auto fieldNames =
|
|
||||||
OperatorBase::template GetRepeatedArgument<std::string>("field_names");
|
|
||||||
CAFFE_ENFORCE_EQ(this->OutputSize(), 1);
|
|
@ -1,55 +0,0 @@ |
|||||||
diff --git a/caffe2/perfkernels/cvtsh_ss_bugfix.h b/caffe2/perfkernels/cvtsh_ss_bugfix.h
|
|
||||||
index bd06681..00172b7 100644
|
|
||||||
--- a/caffe2/perfkernels/cvtsh_ss_bugfix.h
|
|
||||||
+++ b/caffe2/perfkernels/cvtsh_ss_bugfix.h
|
|
||||||
@@ -1,10 +1,36 @@
|
|
||||||
+/**
|
|
||||||
+ * Copyright (c) 2016-present, Facebook, Inc.
|
|
||||||
+ *
|
|
||||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
+ * you may not use this file except in compliance with the License.
|
|
||||||
+ * You may obtain a copy of the License at
|
|
||||||
+ *
|
|
||||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
+ *
|
|
||||||
+ * Unless required by applicable law or agreed to in writing, software
|
|
||||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
+ * See the License for the specific language governing permissions and
|
|
||||||
+ * limitations under the License.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
-#if defined(__APPLE__) && (__clang_major__ < 8)
|
|
||||||
+// Apple clang was fixed in 8.1
|
|
||||||
+#if defined(__apple_build_version__) && ((__clang_major__ < 8) || ((__clang_major__ == 8) && (__clang_minor__ < 1)))
|
|
||||||
+#define __APPLE_NEED_FIX 1
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+// Regular clang was fixed in 3.9
|
|
||||||
+#if defined(__clang__) && (__clang_major__ < 4) && (__clang_minor__ < 9)
|
|
||||||
+#define __CLANG_NEED_FIX 1
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if __APPLE_NEED_FIX || __CLANG_NEED_FIX
|
|
||||||
|
|
||||||
#include <emmintrin.h>
|
|
||||||
|
|
||||||
-// This version of apple clang has a bug that _cvtsh_ss is not defined, see
|
|
||||||
+// This version of clang has a bug that _cvtsh_ss is not defined, see
|
|
||||||
// https://reviews.llvm.org/D16177
|
|
||||||
static __inline float
|
|
||||||
__attribute__((__always_inline__, __nodebug__, __target__("f16c")))
|
|
||||||
@@ -15,7 +41,10 @@ _cvtsh_ss(unsigned short a)
|
|
||||||
return r[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
-#endif // defined(__APPLE__) && (__clang_major__ < 8)
|
|
||||||
+#endif // __APPLE_NEED_FIX || __CLANG_NEED_FIX
|
|
||||||
+
|
|
||||||
+#undef __APPLE_NEED_FIX
|
|
||||||
+#undef __CLANG_NEED_FIX
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
|
|
@ -0,0 +1,46 @@ |
|||||||
|
{ lib |
||||||
|
, buildPythonPackage |
||||||
|
, pythonOlder |
||||||
|
, fetchFromGitHub |
||||||
|
, aiohttp |
||||||
|
, pydantic |
||||||
|
, freezegun |
||||||
|
, pytest-aiohttp |
||||||
|
, pytest-asyncio |
||||||
|
, pytestCheckHook |
||||||
|
}: |
||||||
|
|
||||||
|
buildPythonPackage rec { |
||||||
|
pname = "gcal-sync"; |
||||||
|
version = "0.7.1"; |
||||||
|
|
||||||
|
disabled = pythonOlder "3.9"; |
||||||
|
|
||||||
|
src = fetchFromGitHub { |
||||||
|
owner = "allenporter"; |
||||||
|
repo = "gcal_sync"; |
||||||
|
rev = version; |
||||||
|
hash = "sha256-NOB74P+5i63FEeHJsPXRdRgY6iyIUEn7BogbVKm8P5M="; |
||||||
|
}; |
||||||
|
|
||||||
|
propagatedBuildInputs = [ |
||||||
|
aiohttp |
||||||
|
pydantic |
||||||
|
]; |
||||||
|
|
||||||
|
checkInputs = [ |
||||||
|
freezegun |
||||||
|
pytest-aiohttp |
||||||
|
pytest-asyncio |
||||||
|
pytestCheckHook |
||||||
|
]; |
||||||
|
|
||||||
|
pythonImportsCheck = [ "gcal_sync" ]; |
||||||
|
|
||||||
|
meta = { |
||||||
|
description = "Python library for syncing Google Calendar to local storage"; |
||||||
|
homepage = "https://github.com/allenporter/gcal_sync"; |
||||||
|
license = lib.licenses.asl20; |
||||||
|
maintainers = with lib.maintainers; [ dotlambda ]; |
||||||
|
}; |
||||||
|
} |
@ -0,0 +1,26 @@ |
|||||||
|
{ lib |
||||||
|
, buildPythonPackage |
||||||
|
, fetchPypi |
||||||
|
}: |
||||||
|
|
||||||
|
buildPythonPackage rec { |
||||||
|
pname = "insteon-frontend-home-assistant"; |
||||||
|
version = "0.1.0"; |
||||||
|
|
||||||
|
src = fetchPypi { |
||||||
|
inherit pname version; |
||||||
|
sha256 = "70ee413cae8717416f5add1be7647158d8ff4303942dafccac0792ef44336cdf"; |
||||||
|
}; |
||||||
|
|
||||||
|
# upstream has no tests |
||||||
|
doCheck = false; |
||||||
|
|
||||||
|
pythonImportsCheck = [ "insteon_frontend" ]; |
||||||
|
|
||||||
|
meta = { |
||||||
|
description = "The Insteon frontend for Home Assistant"; |
||||||
|
homepage = "https://github.com/teharris1/insteon-panel"; |
||||||
|
license = lib.licenses.mit; |
||||||
|
maintainers = with lib.maintainers; [ dotlambda ]; |
||||||
|
}; |
||||||
|
} |
@ -1,67 +0,0 @@ |
|||||||
{ lib, python3, fetchFromGitHub }: |
|
||||||
|
|
||||||
let |
|
||||||
py = python3.override { |
|
||||||
packageOverrides = self: super: { |
|
||||||
self = py; |
|
||||||
# use click 7 |
|
||||||
click = self.callPackage ../../../development/python2-modules/click/default.nix { }; |
|
||||||
# needs pyyaml 5 |
|
||||||
pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec { |
|
||||||
name = "${oldAttrs.pname}-${version}"; |
|
||||||
version = "5.4.1"; |
|
||||||
src = fetchFromGitHub { |
|
||||||
owner = "yaml"; |
|
||||||
repo = "pyyaml"; |
|
||||||
rev = version; |
|
||||||
sha256 = "sha256-VUqnlOF/8zSOqh6JoEYOsfQ0P4g+eYqxyFTywgCS7gM="; |
|
||||||
}; |
|
||||||
checkPhase = '' |
|
||||||
runHook preCheck |
|
||||||
PYTHONPATH="tests/lib3:$PYTHONPATH" ${self.python.interpreter} -m test_all |
|
||||||
runHook postCheck |
|
||||||
''; |
|
||||||
}); |
|
||||||
}; |
|
||||||
}; |
|
||||||
in |
|
||||||
with py.pkgs; |
|
||||||
|
|
||||||
buildPythonApplication rec { |
|
||||||
pname = "lookatme"; |
|
||||||
version = "2.3.2"; |
|
||||||
format = "setuptools"; |
|
||||||
|
|
||||||
src = fetchPypi { |
|
||||||
inherit pname version; |
|
||||||
sha256 = "sha256-qIZMkgOm5jXmxTFLTqMBhpLBhfCL8xvUxxqpS6NjcVw="; |
|
||||||
}; |
|
||||||
|
|
||||||
checkInputs = [ |
|
||||||
pytest-mock |
|
||||||
pytestCheckHook |
|
||||||
six |
|
||||||
]; |
|
||||||
|
|
||||||
disabledTests = [ |
|
||||||
# https://github.com/d0c-s4vage/lookatme/issues/126 |
|
||||||
"test_sanity_check_that_errors_are_detected" |
|
||||||
"test_styles_defaults" |
|
||||||
]; |
|
||||||
|
|
||||||
propagatedBuildInputs = [ |
|
||||||
click |
|
||||||
pyyaml |
|
||||||
pygments |
|
||||||
marshmallow |
|
||||||
mistune |
|
||||||
urwid |
|
||||||
]; |
|
||||||
|
|
||||||
meta = with lib; { |
|
||||||
description = "An interactive, terminal-based markdown presenter"; |
|
||||||
homepage = "https://github.com/d0c-s4vage/lookatme"; |
|
||||||
license = licenses.mit; |
|
||||||
maintainers = with maintainers; [ ameer ]; |
|
||||||
}; |
|
||||||
} |
|
Loading…
Reference in new issue