commit
6b23d26afc
@ -1,21 +1,36 @@ |
||||
{ lib, buildPythonPackage, fetchFromGitHub |
||||
{ lib |
||||
, buildPythonPackage |
||||
, fetchFromGitHub |
||||
, pytestCheckHook |
||||
, pythonOlder |
||||
}: |
||||
|
||||
buildPythonPackage rec { |
||||
pname = "boolean.py"; |
||||
version = "3.8"; |
||||
pname = "boolean-py"; |
||||
version = "4.0"; |
||||
format = "setuptools"; |
||||
|
||||
disabled = pythonOlder "3.7"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "bastikr"; |
||||
repo = "boolean.py"; |
||||
rev = "v${version}"; |
||||
sha256 = "02jznrfrihhk69ai1vnh26s3rshl4kfc2id7li6xccavc2ws5y3b"; |
||||
hash = "sha256-i6aNzGDhZip9YHXLiuh9crGm2qT2toBU2xze4PDLleg="; |
||||
}; |
||||
|
||||
checkInputs = [ |
||||
pytestCheckHook |
||||
]; |
||||
|
||||
pythonImportsCheck = [ |
||||
"boolean" |
||||
]; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://github.com/bastikr/boolean.py"; |
||||
description = "Implements boolean algebra in one module"; |
||||
homepage = "https://github.com/bastikr/boolean.py"; |
||||
license = licenses.bsd2; |
||||
maintainers = with maintainers; [ ]; |
||||
}; |
||||
|
||||
} |
||||
|
@ -0,0 +1,30 @@ |
||||
{ lib, buildPythonPackage, fetchFromGitLab, pythonOlder, pytestCheckHook, pybind11, numpy }: |
||||
|
||||
buildPythonPackage rec { |
||||
pname = "ducc0"; |
||||
version = "0.23.0"; |
||||
|
||||
disabled = pythonOlder "3.7"; |
||||
|
||||
src = fetchFromGitLab { |
||||
domain = "gitlab.mpcdf.mpg.de"; |
||||
owner = "mtr"; |
||||
repo = "ducc"; |
||||
rev = "ducc0_${lib.replaceStrings ["."] ["_"] version}"; |
||||
sha256 = "dOc3TihtoRuLfniC9zQ1MEbnvGJHzFZfZ8+J8Dnw6Lk="; |
||||
}; |
||||
|
||||
buildInputs = [ pybind11 ]; |
||||
propagatedBuildInputs = [ numpy ]; |
||||
|
||||
checkInputs = [ pytestCheckHook ]; |
||||
pytestFlagsArray = [ "python/test" ]; |
||||
pythonImportsCheck = [ "ducc0" ]; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://gitlab.mpcdf.mpg.de/mtr/ducc"; |
||||
description = "Efficient algorithms for Fast Fourier transforms and more"; |
||||
license = licenses.gpl2Plus; |
||||
maintainers = with maintainers; [ parras ]; |
||||
}; |
||||
} |
@ -0,0 +1,31 @@ |
||||
{ lib |
||||
, buildPythonPackage |
||||
, fetchPypi |
||||
, httpie |
||||
, requests_ntlm |
||||
}: |
||||
|
||||
buildPythonPackage rec { |
||||
pname = "httpie-ntlm"; |
||||
version = "1.0.2"; |
||||
format = "setuptools"; |
||||
|
||||
src = fetchPypi { |
||||
inherit pname version; |
||||
sha256 = "b1f757180c0bd60741ea16cf91fc53d47df402a5c287c4a61a14b335ea0552b3"; |
||||
}; |
||||
|
||||
propagatedBuildInputs = [ httpie requests_ntlm ]; |
||||
|
||||
# Package have no tests |
||||
doCheck = false; |
||||
|
||||
pythonImportsCheck = [ "httpie_ntlm" ]; |
||||
|
||||
meta = with lib; { |
||||
description = "NTLM auth plugin for HTTPie"; |
||||
homepage = "https://github.com/httpie/httpie-ntlm"; |
||||
license = licenses.bsdOriginal; |
||||
maintainers = with maintainers; [ kfollesdal ]; |
||||
}; |
||||
} |
@ -1,201 +1,31 @@ |
||||
diff --git a/shapely/geos.py b/shapely/geos.py
|
||||
index 13ab835..1abdb5e 100644
|
||||
index 88c5f53..1ccd6e4 100644
|
||||
--- a/shapely/geos.py
|
||||
+++ b/shapely/geos.py
|
||||
@@ -55,174 +55,21 @@ def load_dll(libname, fallbacks=None, mode=DEFAULT_MODE):
|
||||
"Could not find lib {} or load any of its variants {}.".format(
|
||||
libname, fallbacks or []))
|
||||
@@ -96,6 +96,7 @@ if sys.platform.startswith('linux'):
|
||||
alt_paths = [
|
||||
'libgeos_c.so.1',
|
||||
'libgeos_c.so',
|
||||
+ '@libgeos_c@',
|
||||
]
|
||||
_lgeos = load_dll('geos_c', fallbacks=alt_paths)
|
||||
|
||||
-_lgeos = None
|
||||
def exists_conda_env():
|
||||
"""Does this module exist in a conda environment?"""
|
||||
return os.path.exists(os.path.join(sys.prefix, 'conda-meta'))
|
||||
@@ -160,6 +161,7 @@ elif sys.platform == 'darwin':
|
||||
"/usr/local/lib/libgeos_c.dylib",
|
||||
# homebrew Apple Silicon
|
||||
"/opt/homebrew/lib/libgeos_c.dylib",
|
||||
+ "@libgeos_c@",
|
||||
]
|
||||
_lgeos = load_dll('geos_c', fallbacks=alt_paths)
|
||||
|
||||
-
|
||||
-if sys.platform.startswith('linux'):
|
||||
- # Test to see if we have a wheel repaired by auditwheel which contains its
|
||||
- # own libgeos_c. Note: auditwheel 3.1 changed the location of libs.
|
||||
- geos_whl_so = glob.glob(
|
||||
- os.path.abspath(os.path.join(os.path.dirname(__file__), ".libs/libgeos*.so*"))
|
||||
- ) or glob.glob(
|
||||
- os.path.abspath(
|
||||
- os.path.join(
|
||||
- os.path.dirname(__file__), "..", "Shapely.libs", "libgeos*.so*"
|
||||
- )
|
||||
- )
|
||||
- )
|
||||
-
|
||||
- if len(geos_whl_so) > 0:
|
||||
- # We have observed problems with CDLL of libgeos_c not automatically
|
||||
- # loading the sibling c++ library since the change made by auditwheel
|
||||
- # 3.1, so we explicitly load them both.
|
||||
- geos_whl_so = sorted(geos_whl_so)
|
||||
- CDLL(geos_whl_so[0])
|
||||
- _lgeos = CDLL(geos_whl_so[-1])
|
||||
- LOG.debug("Found GEOS DLL: %r, using it.", _lgeos)
|
||||
-
|
||||
- elif hasattr(sys, 'frozen'):
|
||||
- geos_pyinstaller_so = glob.glob(os.path.join(sys.prefix, 'libgeos_c-*.so.*'))
|
||||
- if len(geos_pyinstaller_so) >= 1:
|
||||
- _lgeos = CDLL(geos_pyinstaller_so[0])
|
||||
- LOG.debug("Found GEOS DLL: %r, using it.", _lgeos)
|
||||
- elif exists_conda_env():
|
||||
- # conda package.
|
||||
- _lgeos = CDLL(os.path.join(sys.prefix, 'lib', 'libgeos_c.so'))
|
||||
- else:
|
||||
- alt_paths = [
|
||||
- 'libgeos_c.so.1',
|
||||
- 'libgeos_c.so',
|
||||
- ]
|
||||
- _lgeos = load_dll('geos_c', fallbacks=alt_paths)
|
||||
-
|
||||
+_lgeos = CDLL('@libgeos_c@')
|
||||
+if sys.platform == 'darwin':
|
||||
# ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen
|
||||
# manpage says, "If filename is NULL, then the returned handle is for the
|
||||
# main program". This way we can let the linker do the work to figure out
|
||||
# which libc Python is actually using.
|
||||
free = CDLL(None).free
|
||||
- free.argtypes = [c_void_p]
|
||||
- free.restype = None
|
||||
-
|
||||
-elif sys.platform == 'darwin':
|
||||
- # Test to see if we have a delocated wheel with a GEOS dylib.
|
||||
- dylib_path = os.path.abspath(
|
||||
- os.path.join(os.path.dirname(__file__), ".dylibs/*.dylib")
|
||||
- )
|
||||
- LOG.debug("Formed path for globbing: dylib_path=%r", dylib_path)
|
||||
-
|
||||
- geos_whl_dylib = glob.glob(dylib_path)
|
||||
- LOG.debug("Globbed: geos_whl_dylib=%r", geos_whl_dylib)
|
||||
-
|
||||
- if len(geos_whl_dylib) > 0:
|
||||
- handle = CDLL(None)
|
||||
- if hasattr(handle, "initGEOS_r"):
|
||||
- LOG.debug("GEOS already loaded")
|
||||
- _lgeos = handle
|
||||
- else:
|
||||
- geos_whl_dylib = sorted(geos_whl_dylib)
|
||||
- CDLL(geos_whl_dylib[0])
|
||||
- _lgeos = CDLL(geos_whl_dylib[-1])
|
||||
- LOG.debug("Found GEOS DLL: %r, using it.", _lgeos)
|
||||
-
|
||||
- elif exists_conda_env():
|
||||
- # conda package.
|
||||
- _lgeos = CDLL(os.path.join(sys.prefix, 'lib', 'libgeos_c.dylib'))
|
||||
- else:
|
||||
- if hasattr(sys, 'frozen'):
|
||||
- try:
|
||||
- # .app file from py2app
|
||||
- alt_paths = [os.path.join(
|
||||
- os.environ['RESOURCEPATH'], '..', 'Frameworks',
|
||||
- 'libgeos_c.dylib')]
|
||||
- except KeyError:
|
||||
- alt_paths = [
|
||||
- # binary from pyinstaller
|
||||
- os.path.join(sys.executable, 'libgeos_c.dylib'),
|
||||
- # .app from cx_Freeze
|
||||
- os.path.join(os.path.dirname(sys.executable), 'libgeos_c.1.dylib')]
|
||||
- if hasattr(sys, '_MEIPASS'):
|
||||
- alt_paths.append(
|
||||
- os.path.join(sys._MEIPASS, 'libgeos_c.1.dylib'))
|
||||
- else:
|
||||
- alt_paths = [
|
||||
- # The Framework build from Kyng Chaos
|
||||
- "/Library/Frameworks/GEOS.framework/Versions/Current/GEOS",
|
||||
- # macports
|
||||
- '/opt/local/lib/libgeos_c.dylib',
|
||||
- # homebrew Intel
|
||||
- '/usr/local/lib/libgeos_c.dylib',
|
||||
- # homebrew Apple Silicon
|
||||
- '/opt/homebrew/lib/libgeos_c.dylib',
|
||||
- ]
|
||||
- _lgeos = load_dll('geos_c', fallbacks=alt_paths)
|
||||
-
|
||||
- free = CDLL(None).free
|
||||
- free.argtypes = [c_void_p]
|
||||
- free.restype = None
|
||||
-
|
||||
-elif sys.platform == 'win32':
|
||||
- _conda_dll_path = os.path.join(sys.prefix, 'Library', 'bin', 'geos_c.dll')
|
||||
- if exists_conda_env() and os.path.exists(_conda_dll_path):
|
||||
- _lgeos = CDLL(_conda_dll_path)
|
||||
- else:
|
||||
- geos_whl_dll = glob.glob(
|
||||
- os.path.abspath(
|
||||
- os.path.join(
|
||||
- os.path.dirname(__file__), "..", "Shapely.libs", "geos*.dll"
|
||||
- )
|
||||
- )
|
||||
- )
|
||||
-
|
||||
- if len(geos_whl_dll) > 0:
|
||||
- geos_whl_dll = sorted(geos_whl_dll)
|
||||
- # CDLL(geos_whl_so[0])
|
||||
- _lgeos = CDLL(geos_whl_dll[-1])
|
||||
- LOG.debug("Found GEOS DLL: %r, using it.", _lgeos)
|
||||
- else:
|
||||
- try:
|
||||
- egg_dlls = os.path.abspath(
|
||||
- os.path.join(os.path.dirname(__file__), "DLLs")
|
||||
- )
|
||||
- if hasattr(sys, "_MEIPASS"):
|
||||
- wininst_dlls = sys._MEIPASS
|
||||
- elif hasattr(sys, "frozen"):
|
||||
- wininst_dlls = os.path.normpath(
|
||||
- os.path.abspath(sys.executable + "../../DLLS")
|
||||
- )
|
||||
- else:
|
||||
- wininst_dlls = os.path.abspath(os.__file__ + "../../../DLLs")
|
||||
- original_path = os.environ["PATH"]
|
||||
- os.environ["PATH"] = "%s;%s;%s" % (
|
||||
- egg_dlls,
|
||||
- wininst_dlls,
|
||||
- original_path,
|
||||
- )
|
||||
- _lgeos = load_dll("geos_c.dll")
|
||||
-
|
||||
- except (ImportError, WindowsError, OSError):
|
||||
- raise
|
||||
-
|
||||
- def free(m):
|
||||
- try:
|
||||
- cdll.msvcrt.free(m)
|
||||
- except WindowsError:
|
||||
- # XXX: See http://trac.gispython.org/projects/PCL/ticket/149
|
||||
- pass
|
||||
-
|
||||
-elif sys.platform == 'sunos5':
|
||||
- _lgeos = load_dll('geos_c', fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
|
||||
- free.restype = None
|
||||
- free.argtypes = [c_void_p]
|
||||
- free.restype = None
|
||||
-
|
||||
-else: # other *nix systems
|
||||
- _lgeos = load_dll('geos_c', fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
|
||||
- free = CDLL(None).free
|
||||
- free.argtypes = [c_void_p]
|
||||
- free.restype = None
|
||||
+else:
|
||||
+ free = CDLL('@libc@').free
|
||||
+free.argtypes = [c_void_p]
|
||||
+free.restype = None
|
||||
|
||||
|
||||
def _geos_version():
|
||||
diff --git a/tests/test_dlls.py b/tests/test_dlls.py
|
||||
index c71da8e..fae9da6 100644
|
||||
index c71da8e..c36262c 100644
|
||||
--- a/tests/test_dlls.py
|
||||
+++ b/tests/test_dlls.py
|
||||
@@ -12,10 +12,4 @@ class LoadingTestCase(unittest.TestCase):
|
||||
@unittest.skipIf(sys.platform == "win32", "FIXME: adapt test for win32")
|
||||
def test_fallbacks(self):
|
||||
load_dll('geos_c', fallbacks=[
|
||||
- os.path.join(sys.prefix, "lib", "libgeos_c.dylib"), # anaconda (Mac OS X)
|
||||
- '/opt/local/lib/libgeos_c.dylib', # MacPorts
|
||||
- '/usr/local/lib/libgeos_c.dylib', # homebrew (Mac OS X)
|
||||
- '/opt/homebrew/lib/libgeos_c.dylib', # homebrew (macOS)
|
||||
- os.path.join(sys.prefix, "lib", "libgeos_c.so"), # anaconda (Linux)
|
||||
- 'libgeos_c.so.1',
|
||||
@@ -18,4 +18,5 @@ class LoadingTestCase(unittest.TestCase):
|
||||
'/opt/homebrew/lib/libgeos_c.dylib', # homebrew (macOS)
|
||||
os.path.join(sys.prefix, "lib", "libgeos_c.so"), # anaconda (Linux)
|
||||
'libgeos_c.so.1',
|
||||
- 'libgeos_c.so'])
|
||||
+ 'libgeos_c.so',
|
||||
+ '@libgeos_c@'])
|
||||
|
@ -0,0 +1,38 @@ |
||||
From 0a763a13ef55964395dff60283ececc16f957792 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Kulinski <d@kulinski.us>
|
||||
Date: Sun, 8 May 2022 01:30:39 -0700
|
||||
Subject: [PATCH] Fix Jinja2 3.1.0
|
||||
|
||||
---
|
||||
salt/utils/jinja.py | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
|
||||
index 0cb70bf64a..322c2f7f46 100644
|
||||
--- a/salt/utils/jinja.py
|
||||
+++ b/salt/utils/jinja.py
|
||||
@@ -25,10 +25,11 @@ import salt.utils.json
|
||||
import salt.utils.stringutils
|
||||
import salt.utils.url
|
||||
import salt.utils.yaml
|
||||
-from jinja2 import BaseLoader, Markup, TemplateNotFound, nodes
|
||||
+from jinja2 import BaseLoader, TemplateNotFound, nodes
|
||||
from jinja2.environment import TemplateModule
|
||||
from jinja2.exceptions import TemplateRuntimeError
|
||||
from jinja2.ext import Extension
|
||||
+from markupsafe import Markup
|
||||
from salt.exceptions import TemplateError
|
||||
from salt.utils.decorators.jinja import jinja_filter, jinja_global, jinja_test
|
||||
from salt.utils.odict import OrderedDict
|
||||
@@ -706,7 +707,7 @@ def method_call(obj, f_name, *f_args, **f_kwargs):
|
||||
return getattr(obj, f_name, lambda *args, **kwargs: None)(*f_args, **f_kwargs)
|
||||
|
||||
|
||||
-@jinja2.contextfunction
|
||||
+@jinja2.pass_context
|
||||
def show_full_context(ctx):
|
||||
return salt.utils.data.simple_types_filter(
|
||||
{key: value for key, value in ctx.items()}
|
||||
--
|
||||
2.35.1
|
||||
|
@ -0,0 +1,67 @@ |
||||
{ stdenv, lib, fetchFromGitHub, installShellFiles }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "nb"; |
||||
version = "6.10.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "xwmx"; |
||||
repo = "nb"; |
||||
rev = version; |
||||
sha256 = "00c0k12yc2vqx0am1mhcjbn7fh3dab2zixslyh1smzcww275rk59"; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ installShellFiles ]; |
||||
|
||||
dontBuild = true; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/bin/ |
||||
mv nb $out/bin/ |
||||
runHook postInstall |
||||
''; |
||||
|
||||
postInstall = '' |
||||
installShellCompletion etc/nb-completion.{bash,zsh} |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
description = "A command line note-taking, bookmarking, archiving, and knowledge base application"; |
||||
longDescription = '' |
||||
`nb` creates notes in text-based formats like Markdown, Emacs Org mode, |
||||
and LaTeX, can work with files in any format, can import and export notes |
||||
to many document formats, and can create private, password-protected |
||||
encrypted notes and bookmarks. With `nb`, you can write notes using Vim, |
||||
Emacs, VS Code, Sublime Text, and any other text editor you like. `nb` |
||||
works in any standard Linux / Unix environment, including macOS and |
||||
Windows via WSL. Optional dependencies can be installed to enhance |
||||
functionality, but `nb` works great without them. |
||||
|
||||
`nb` is also a powerful text-based CLI bookmarking system. Page |
||||
information is automatically downloaded, compiled, and saved into normal |
||||
Markdown documents made for humans, so bookmarks are easy to edit just |
||||
like any other note. |
||||
|
||||
`nb` uses Git in the background to automatically record changes and sync |
||||
notebooks with remote repositories. `nb` can also be configured to sync |
||||
notebooks using a general purpose syncing utility like Dropbox so notes |
||||
can be edited in other apps on any device. |
||||
|
||||
`nb` is designed to be portable, future-focused, and vendor independent, |
||||
providing a full-featured and intuitive experience within a highly |
||||
composable user-centric text interface. The entire program is a single |
||||
well-tested shell script that can be installed, copied, or curled almost |
||||
anywhere and just work, using progressive enhancement for various |
||||
experience improvements in more capable environments. `nb` works great |
||||
whether you have one notebook with just a few notes or dozens of |
||||
notebooks containing thousands of notes, bookmarks, and other items. `nb` |
||||
makes it easy to incorporate other tools, writing apps, and workflows. |
||||
`nb` can be used a little, a lot, once in a while, or for just a subset |
||||
of features. `nb` is flexible. |
||||
''; |
||||
homepage = "https://xwmx.github.io/nb/"; |
||||
license = licenses.agpl3Plus; |
||||
maintainers = [ maintainers.toonn ]; |
||||
platforms = platforms.all; |
||||
}; |
||||
} |
@ -1,22 +0,0 @@ |
||||
diff --git a/tests/test_docs.py b/tests/test_docs.py
|
||||
index 340e64d..a6b4dc9 100644
|
||||
--- a/tests/test_docs.py
|
||||
+++ b/tests/test_docs.py
|
||||
@@ -42,15 +42,10 @@ assert filenames
|
||||
# HACK: hardcoded paths, venv should be irrelevant, etc.
|
||||
# TODO: simplify by using the Python API instead of a subprocess
|
||||
# then we wont’t need the paths.
|
||||
-VENV_BIN = Path(__file__).parent.parent / 'venv/bin'
|
||||
-VENV_PYTHON = VENV_BIN / 'python'
|
||||
-VENV_RST2PSEUDOXML = VENV_BIN / 'rst2pseudoxml.py'
|
||||
+VENV_PYTHON = 'python'
|
||||
+VENV_RST2PSEUDOXML = 'rst2pseudoxml.py'
|
||||
|
||||
|
||||
-@pytest.mark.skipif(
|
||||
- not VENV_RST2PSEUDOXML.exists(),
|
||||
- reason='docutils not installed',
|
||||
-)
|
||||
@pytest.mark.parametrize('filename', filenames)
|
||||
def test_rst_file_syntax(filename):
|
||||
p = subprocess.Popen(
|
@ -0,0 +1,40 @@ |
||||
{ lib, libusb1, buildGoModule, fetchFromGitHub, pkg-config }: |
||||
|
||||
buildGoModule rec { |
||||
pname = "yubihsm-connector"; |
||||
version = "3.0.2"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "Yubico"; |
||||
repo = "yubihsm-connector"; |
||||
rev = version; |
||||
sha256 = "FQ64tSZN55QpXjMZITzlWOPTKSgnoCpkRngQUQHVavc="; |
||||
}; |
||||
|
||||
vendorSha256 = "kVBzdJk/1LvjdUtLqHAw9ZxDfCo3mBWVMYG/nQXpDrk="; |
||||
|
||||
patches = [ |
||||
# Awaiting a new release to fix the upstream lockfile |
||||
# https://github.com/Yubico/yubihsm-connector/issues/36 |
||||
./lockfile-fix.patch |
||||
]; |
||||
|
||||
nativeBuildInputs = [ |
||||
pkg-config |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
libusb1 |
||||
]; |
||||
|
||||
preBuild = '' |
||||
go generate |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
description = "yubihsm-connector performs the communication between the YubiHSM 2 and applications that use it"; |
||||
homepage = "https://developers.yubico.com/yubihsm-connector/"; |
||||
maintainers = with maintainers; [ matthewcroughan ]; |
||||
license = licenses.asl20; |
||||
}; |
||||
} |
@ -0,0 +1,115 @@ |
||||
diff --git a/go.mod b/go.mod
|
||||
index ac22dc6..0ef56b2 100644
|
||||
--- a/go.mod
|
||||
+++ b/go.mod
|
||||
@@ -1,21 +1,32 @@
|
||||
module github.com/Yubico/yubihsm-connector
|
||||
|
||||
+go 1.17
|
||||
+
|
||||
require (
|
||||
github.com/google/gousb v1.1.0
|
||||
github.com/google/uuid v1.1.1
|
||||
github.com/kardianos/service v1.0.0
|
||||
+ github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb
|
||||
+ github.com/sirupsen/logrus v1.4.2
|
||||
+ github.com/spf13/cobra v0.0.5
|
||||
+ github.com/spf13/viper v1.4.0
|
||||
+ gopkg.in/yaml.v2 v2.2.2
|
||||
+)
|
||||
+
|
||||
+require (
|
||||
+ github.com/fsnotify/fsnotify v1.4.7 // indirect
|
||||
+ github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
+ github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
|
||||
github.com/magiconair/properties v1.8.1 // indirect
|
||||
- github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb
|
||||
+ github.com/mitchellh/mapstructure v1.1.2 // indirect
|
||||
github.com/pelletier/go-toml v1.4.0 // indirect
|
||||
- github.com/sirupsen/logrus v1.4.2
|
||||
github.com/spf13/afero v1.2.2 // indirect
|
||||
- github.com/spf13/cobra v0.0.5
|
||||
+ github.com/spf13/cast v1.3.0 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
- github.com/spf13/viper v1.4.0
|
||||
+ github.com/spf13/pflag v1.0.3 // indirect
|
||||
github.com/stretchr/testify v1.4.0 // indirect
|
||||
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 // indirect
|
||||
golang.org/x/text v0.3.2 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
|
||||
- gopkg.in/yaml.v2 v2.2.2
|
||||
)
|
||||
diff --git a/go.sum b/go.sum
|
||||
index 71df42d..8d977ff 100644
|
||||
--- a/go.sum
|
||||
+++ b/go.sum
|
||||
@@ -1,4 +1,5 @@
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
+github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
@@ -16,6 +17,7 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
|
||||
@@ -45,6 +47,7 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
|
||||
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||
+github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
@@ -53,10 +56,13 @@ github.com/kardianos/service v1.0.0/go.mod h1:8CzDhVuCuugtsHyZoTvsOBuvonN/UDBvl0
|
||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
+github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
|
||||
@@ -66,12 +72,14 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
|
||||
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
+github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb h1:GFmMJZvdCkRfbfo07+lUKrB+jh2cJ+a2l6qD/3hxZ6M=
|
||||
github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb/go.mod h1:ukoRZyzBppMQypxM7KqEvHc4DB5uNW6NXFp1sVeXamM=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||
github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg=
|
||||
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
|
||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
||||
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
|
||||
@@ -107,6 +115,7 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
+github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
||||
@@ -156,6 +165,7 @@ google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
+gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
||||
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
|
||||
|
||||
|
@ -0,0 +1,59 @@ |
||||
{ lib |
||||
, stdenv |
||||
, fetchFromGitHub |
||||
, cmake |
||||
, openssl |
||||
, libusb1 |
||||
, libedit |
||||
, curl |
||||
, gengetopt |
||||
, pkg-config |
||||
, pcsclite |
||||
, help2man |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "yubihsm-shell"; |
||||
version = "2.3.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "Yubico"; |
||||
repo = "yubihsm-shell"; |
||||
rev = version; |
||||
sha256 = "D0kXiwc+i6mKA4oHuHjgXUmLMsmY5o/VI+1aCWtNjC0="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ |
||||
pkg-config |
||||
cmake |
||||
help2man |
||||
gengetopt |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
libusb1 |
||||
libedit |
||||
curl |
||||
pcsclite |
||||
openssl |
||||
]; |
||||
|
||||
cmakeFlags = [ |
||||
# help2man fails without this |
||||
"-DCMAKE_SKIP_BUILD_RPATH=OFF" |
||||
]; |
||||
|
||||
postPatch = '' |
||||
# Can't find libyubihsm at runtime because of dlopen() in C code |
||||
substituteInPlace lib/yubihsm.c \ |
||||
--replace "libyubihsm_usb.so" "$out/lib/libyubihsm_usb.so" \ |
||||
--replace "libyubihsm_http.so" "$out/lib/libyubihsm_http.so" |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
description = "yubihsm-shell and libyubihsm"; |
||||
homepage = "https://github.com/Yubico/yubihsm-shell"; |
||||
maintainers = with maintainers; [ matthewcroughan ]; |
||||
license = licenses.asl20; |
||||
}; |
||||
} |
Loading…
Reference in new issue