Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2022-08-25 00:03:34 +00:00 committed by GitHub
commit 5aa24ca693
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
53 changed files with 1416 additions and 482 deletions

View file

@ -744,6 +744,53 @@ with the exception of `other` (see `format` in
unittestFlags = [ "-s" "tests" "-v" ];
```
##### Using sphinxHook {#using-sphinxhook}
The `sphinxHook` is a helpful tool to build documentation and manpages
using the popular Sphinx documentation generator.
It is setup to automatically find common documentation source paths and
render them using the default `html` style.
```
outputs = [
"out"
"doc"
];
nativeBuildInputs = [
sphinxHook
];
```
The hook will automatically build and install the artifact into the
`doc` output, if it exists. It also provides an automatic diversion
for the artifacts of the `man` builder into the `man` target.
```
outputs = [
"out"
"doc"
"man"
];
# Use multiple builders
sphinxBuilders = [
"singlehtml"
"man"
];
```
Overwrite `sphinxRoot` when the hook is unable to find your
documentation source root.
```
# Configure sphinxRoot for uncommon paths
sphinxRoot = "weird/docs/path";
```
The hook is also available to packages outside the python ecosystem by
referencing it using `python3.pkgs.sphinxHook`.
### Develop local package {#develop-local-package}
As a Python developer you're likely aware of [development mode](http://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode)
@ -1270,16 +1317,17 @@ are used in `buildPythonPackage`.
- `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
- `pythonCatchConflictsHook` to check whether a Python package is not already existing.
- `pythonImportsCheckHook` to check whether importing the listed modules works.
- `pythonRelaxDepsHook` will relax Python dependencies restrictions for the package.
See [example usage](#using-pythonrelaxdepshook).
- `pythonRemoveBinBytecode` to remove bytecode from the `/bin` folder.
- `setuptoolsBuildHook` to build a wheel using `setuptools`.
- `setuptoolsCheckHook` to run tests with `python setup.py test`.
- `sphinxHook` to build documentation and manpages using Sphinx.
- `venvShellHook` to source a Python 3 `venv` at the `venvDir` location. A
`venv` is created if it does not yet exist. `postVenvCreation` can be used to
to run commands only after venv is first created.
- `wheelUnpackHook` to move a wheel to the correct folder so it can be installed
with the `pipInstallHook`.
- `pythonRelaxDepsHook` will relax Python dependencies restrictions for the package.
See [example usage](#using-pythonrelaxdepshook).
- `unittestCheckHook` will run tests with `python -m unittest discover`. See [example usage](#using-unittestcheckhook).
### Development mode {#development-mode}

View file

@ -130,8 +130,8 @@ in
type = types.attrsOf (types.submodule ({ config, options, ... }: {
freeformType = datasetSettingsType;
options = commonOptions // datasetOptions;
config.use_template = mkAliasDefinitions (mkDefault options.useTemplate or { });
config.process_children_only = mkAliasDefinitions (mkDefault options.processChildrenOnly or { });
config.use_template = modules.mkAliasAndWrapDefsWithPriority id (options.useTemplate or { });
config.process_children_only = modules.mkAliasAndWrapDefsWithPriority id (options.processChildrenOnly or { });
}));
default = { };
description = lib.mdDoc "Datasets to snapshot.";

View file

@ -34,6 +34,7 @@ in {
autosnap = true;
};
datasets."pool/sanoid".use_template = [ "test" ];
datasets."pool/compat".useTemplate = [ "test" ];
extraArgs = [ "--verbose" ];
};
@ -51,6 +52,12 @@ in {
# Test pool without parent (regression test for https://github.com/NixOS/nixpkgs/pull/180111)
"pool".target = "root@target:pool/full-pool";
# Test backward compatible options (regression test for https://github.com/NixOS/nixpkgs/issues/181561)
"pool/compat" = {
target = "root@target:pool/compat";
extraArgs = [ "--no-sync-snap" ];
};
};
};
};
@ -70,6 +77,7 @@ in {
"udevadm settle",
"zpool create pool -R /mnt /dev/vdb1",
"zfs create pool/sanoid",
"zfs create pool/compat",
"zfs create pool/syncoid",
"udevadm settle",
)
@ -94,6 +102,7 @@ in {
# Take snapshot with sanoid
source.succeed("touch /mnt/pool/sanoid/test.txt")
source.succeed("touch /mnt/pool/compat/test.txt")
source.systemctl("start --wait sanoid.service")
assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after snapshotting"
@ -111,6 +120,9 @@ in {
source.systemctl("start --wait syncoid-pool.service")
target.succeed("[[ -d /mnt/pool/full-pool/syncoid ]]")
source.systemctl("start --wait syncoid-pool-compat.service")
target.succeed("cat /mnt/pool/compat/test.txt")
assert len(source.succeed("zfs allow pool")) == 0, "Pool shouldn't have delegated permissions set after syncing snapshots"
assert len(source.succeed("zfs allow pool/sanoid")) == 0, "Sanoid dataset shouldn't have delegated permissions set after syncing snapshots"
assert len(source.succeed("zfs allow pool/syncoid")) == 0, "Syncoid dataset shouldn't have delegated permissions set after syncing snapshots"

View file

@ -106,6 +106,8 @@ stdenv.mkDerivation rec {
makeWrapper $out/opt/tidal-hifi/tidal-hifi $out/bin/tidal-hifi \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
"''${gappsWrapperArgs[@]}"
substituteInPlace $out/share/applications/tidal-hifi.desktop --replace \
"/opt/tidal-hifi/tidal-hifi" "tidal-hifi"
'';
meta = with lib; {

View file

@ -25,14 +25,14 @@
stdenv.mkDerivation rec {
pname = "foxotron";
version = "2022-03-06";
version = "2022-08-06";
src = fetchFromGitHub {
owner = "Gargaj";
repo = "Foxotron";
rev = version;
fetchSubmodules = true;
sha256 = "sha256-w66wi+aMwQa9akfNA/1cS6UmDXPWC4OPK9BIa9Kt47A=";
sha256 = "sha256-IGLoiUeHcTlQ+WJTot3o5/Q+jRJcY52I3xHDAT0zuIU=";
};
nativeBuildInputs = [ cmake pkg-config makeWrapper ];

View file

@ -3,7 +3,7 @@
extra-cmake-modules, kdoctools,
shared-mime-info,
akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes,
kholidays, kcalutils, kcontacts, kdav, kidentitymanagement,
cyrus_sasl, kholidays, kcalutils, kcontacts, kdav, kidentitymanagement,
kimap, kldap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig,
pimcommon, libkgapi, libsecret,
qca-qt5, qtkeychain, qtnetworkauth, qtspeech, qtwebengine, qtxmlpatterns,
@ -23,4 +23,7 @@ mkDerivation {
pimcommon libkgapi libsecret
qca-qt5 qtkeychain qtnetworkauth qtspeech qtxmlpatterns
];
qtWrapperArgs = [
"--prefix SASL_PATH : ${lib.makeSearchPath "lib/sasl2" [ cyrus_sasl libkgapi ]}"
];
}

View file

@ -0,0 +1,49 @@
{ lib, fetchFromGitLab, buildGoModule, scdoc, nix-update-script }:
buildGoModule rec {
pname = "darkman";
version = "1.3.1";
src = fetchFromGitLab {
owner = "WhyNotHugo";
repo = "darkman";
rev = "v${version}";
sha256 = "09iwc9cwwc88c6yrf6a552nbsnf1w8cnlra9axsar2p0k21v5yl1";
};
vendorSha256 = "09rjqw6v1jaf0mhmycw9mcay9q0y1fya2azj8216gdgkl48ics08";
nativeBuildInputs = [ scdoc ];
postPatch = ''
substituteInPlace darkman.service \
--replace "/usr/bin/darkman" "$out/bin/darkman"
substituteInPlace contrib/dbus/nl.whynothugo.darkman.service \
--replace "/usr/bin/darkman" "$out/bin/darkman"
substituteInPlace contrib/dbus/org.freedesktop.impl.portal.desktop.darkman.service \
--replace "/usr/bin/darkman" "$out/bin/darkman"
'';
buildPhase = ''
runHook preBuild
make build
runHook postBuild
'';
installPhase = ''
runHook preInstall
make PREFIX=$out install
runHook postInstall
'';
passthru.updateScript = nix-update-script {
attrPath = pname;
};
meta = with lib; {
description = "Framework for dark-mode and light-mode transitions on Linux desktop";
homepage = "https://gitlab.com/WhyNotHugo/darkman";
license = licenses.isc;
maintainers = [ maintainers.ajgrf ];
};
}

View file

@ -4,6 +4,7 @@
, libtiff
, librsvg
, libiconv
, bash
}:
stdenv.mkDerivation rec {
@ -17,13 +18,20 @@ stdenv.mkDerivation rec {
outputs = [ "bin" "dev" "out" ];
strictDeps = true;
nativeBuildInputs = [
librsvg
];
buildInputs = [
libjpeg
libtiff
librsvg
libiconv
bash
];
enableParallelBuilding = true;
meta = with lib; {
description = "The big set of CLI tools to make/modify/optimize/show/export DJVU files";
homepage = "http://djvu.sourceforge.net";

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubernetes-helm";
version = "3.9.3";
version = "3.9.4";
src = fetchFromGitHub {
owner = "helm";
repo = "helm";
rev = "v${version}";
sha256 = "sha256-fRlHI2g+pSexPzeEqUnow5WTPvNMGnQNWjnllzJ42fY=";
sha256 = "sha256-KIqbugEzwjlDcQPiQQjN+i05rcMNIbYpGufVYZwQ/uQ=";
};
vendorSha256 = "sha256-ZOY25wgxCdVQafdhBW4Z3aQxOGTs7N3SvSDJ/Fu5psg=";

View file

@ -169,9 +169,9 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.2.7";
sha256 = "sha256-0AGONBurlm0cSM4HyAmUxLt8GdnqNPh146A8ibyfe+k=";
vendorSha256 = "sha256-Whe1prBGsE0q0QdNkzAKwvAP7EVlnD/985gjngh+VI4=";
version = "1.2.8";
sha256 = "sha256-FJHZtYQHzRPWlSlXYu8mdd0YddIrBy8eBzhsvAHwfZw=";
vendorSha256 = "sha256-VKJ+aWZYD6N8HDJwUEtgWxoBMGOa27K9ze2RUJvuipc=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
inherit plugins;

View file

@ -0,0 +1,95 @@
From b9bf46966dd7931f9f33c30ed608a21d0e71e923 Mon Sep 17 00:00:00 2001
From: rewine <lhongxu@outlook.com>
Date: Tue, 19 Jul 2022 13:19:10 +0800
Subject: [PATCH 1/2] remove dependency on vendored library
---
CuteMarkEd.pro | 4 +---
app-static/app-static.pro | 11 ++---------
app/app.pro | 2 --
app/cutemarkdownhighlighter.h | 2 +-
4 files changed, 4 insertions(+), 15 deletions(-)
diff --git a/CuteMarkEd.pro b/CuteMarkEd.pro
index 4ee92e3..0d247a4 100644
--- a/CuteMarkEd.pro
+++ b/CuteMarkEd.pro
@@ -9,12 +9,10 @@ TEMPLATE = subdirs
CONFIG += c++14
SUBDIRS = \
- 3rdparty \
libs \
app-static \
app \
- fontawesomeicon \
- test
+ fontawesomeicon
# build order: 3rdparty -> libs -> app-static -> app & test
#libs.depends = 3rdparty
diff --git a/app-static/app-static.pro b/app-static/app-static.pro
index cd3c292..560b4fc 100644
--- a/app-static/app-static.pro
+++ b/app-static/app-static.pro
@@ -13,7 +13,6 @@ CONFIG += c++11
INCLUDEPATH += $$PWD
# MD4C library
-INCLUDEPATH += $$PWD/../3rdparty/md4c/src
SOURCES += \
snippets/jsonsnippettranslator.cpp \
@@ -34,10 +33,7 @@ SOURCES += \
revealviewsynchronizer.cpp \
htmlpreviewcontroller.cpp \
htmlviewsynchronizer.cpp \
- yamlheaderchecker.cpp \
- $$PWD/../3rdparty/md4c/src/md4c.c \
- $$PWD/../3rdparty/md4c/src/entity.c \
- $$PWD/../3rdparty/md4c/src/md4c-html.c
+ yamlheaderchecker.cpp
HEADERS += \
snippets/snippet.h \
@@ -64,10 +60,7 @@ HEADERS += \
revealviewsynchronizer.h \
htmlpreviewcontroller.h \
htmlviewsynchronizer.h \
- yamlheaderchecker.h \
- $$PWD/../3rdparty/md4c/src/md4c.h \
- $$PWD/../3rdparty/md4c/src/entity.h \
- $$PWD/../3rdparty/md4c/src/md4c-html.h
+ yamlheaderchecker.h
#unix:!symbian {
diff --git a/app/app.pro b/app/app.pro
index 4827673..ab961cf 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -40,8 +40,6 @@ macx {
}
#qmarkdowntextedit
-include(../3rdparty/qmarkdowntextedit/qmarkdowntextedit.pri)
-include(../3rdparty/hunspell/hunspell.pri)
INCLUDEPATH += $$PWD
SOURCES += \
diff --git a/app/cutemarkdownhighlighter.h b/app/cutemarkdownhighlighter.h
index c99ab56..78f2be6 100644
--- a/app/cutemarkdownhighlighter.h
+++ b/app/cutemarkdownhighlighter.h
@@ -19,7 +19,7 @@
#include <QSyntaxHighlighter>
-#include "../3rdparty/qmarkdowntextedit/markdownhighlighter.h"
+#include <QMarkdownTextedit/markdownhighlighter.h>
namespace hunspell {
class SpellChecker;
--
2.36.1

View file

@ -0,0 +1,25 @@
From bdc66eace846edc8a7b435f7ca9f324427243ce4 Mon Sep 17 00:00:00 2001
From: rewine <lhongxu@outlook.com>
Date: Thu, 21 Jul 2022 17:30:22 +0800
Subject: [PATCH 2/2] use pkgcofig to find libraries
---
app/app.pro | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/app.pro b/app/app.pro
index ab961cf..475487d 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -13,6 +13,8 @@ win32: QT += winextras
TARGET = cutemarked
TEMPLATE = app
CONFIG += c++11
+CONFIG += link_pkgconfig
+PKGCONFIG += QMarkdownTextedit hunspell md4c-html
unix:!macx {
CONFIG += link_pkgconfig
--
2.36.1

View file

@ -0,0 +1,57 @@
{ lib
, stdenv
, fetchFromGitHub
, qmake
, pkg-config
, qttools
, qtbase
, qtwebengine
, wrapQtAppsHook
, qmarkdowntextedit
, md4c
, hunspell
}:
stdenv.mkDerivation rec {
pname = "CuteMarkEd-NG";
version = "unstable-2021-07-29";
src = fetchFromGitHub {
owner = "Waqar144";
repo = pname;
rev = "9431ac603cef23d6f29e51e18f1eeee156f5bfb3";
sha256 = "sha256-w/D4C2ZYgI/7ZCDamTQlhrJ9vtvAMThgM/fopkdKWYc";
};
patches = [
./0001-remove-dependency-on-vendored-library.patch
./0002-use-pkgcofig-to-find-libraries.patch
];
postPatch = ''
substituteInPlace app/app.pro \
--replace '$$[QT_INSTALL_BINS]/lrelease' "lrelease"
'';
nativeBuildInputs = [
qmake
qttools
pkg-config
wrapQtAppsHook
];
buildInputs = [
md4c
qtwebengine
qmarkdowntextedit
hunspell.dev
];
meta = with lib; {
description = "A Qt-based, free and open source markdown editor";
homepage = "https://github.com/Waqar144/CuteMarkEd-NG";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ rewine ];
platforms = platforms.linux;
};
}

View file

@ -7,6 +7,13 @@
let allVersions = with lib; flip map
# N.B. Versions in this list should be ordered from newest to oldest.
[
{
version = "13.1.0";
lang = "en";
language = "English";
sha256 = "1659kyp38a8xknic95pynx9fsgn96i8jn9lnk89pc8n6vydw1460";
installer = "WolframEngine_13.1.0_LINUX.sh";
}
{
version = "13.0.1";
lang = "en";

View file

@ -10,24 +10,24 @@ with lib;
let
pname = "gitkraken";
version = "8.6.0";
version = "8.8.0";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
srcs = {
x86_64-linux = fetchzip {
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
sha256 = "sha256-BBhKenEm1D680wJ1hmIOM/AdXN1DxoipLf9K4eHESzs=";
sha256 = "sha256-F/uqV6CL/zFERS6nKVD8kEqCZQ2O9AGGzU5uCJ94qwk=";
};
x86_64-darwin = fetchzip {
url = "https://release.axocdn.com/darwin/GitKraken-v${version}.zip";
sha256 = "sha256-fyRhvaKDGYyKu6lAxHb5ve7Ix+7Tuu5JWXnqBF73ti4=";
sha256 = "sha256-TWkwN39SxPRvUUjAPSBxv4octWasjRiA91FNCWRya44=";
};
aarch64-darwin = fetchzip {
url = "https://release.axocdn.com/darwin-arm64/GitKraken-v${version}.zip";
sha256 = "sha256-qbu3gPTo5zY7OQyULY2iIUDQjwjlL4xZdkl68rE3VHA=";
sha256 = "sha256-drAj0t8BRUETQ6mZPdHXgkuFAKeYsGLE8oLtf/imHk4=";
};
};

View file

@ -57,10 +57,10 @@
, libdvdcss
, libbluray
# Darwin-specific
, AudioToolbox ? null
, Foundation ? null
, libobjc ? null
, VideoToolbox ? null
, AudioToolbox
, Foundation
, libobjc
, VideoToolbox
# GTK
# NOTE: 2019-07-19: The gtk3 package has a transitive dependency on dbus,
# which in turn depends on systemd. systemd is not supported on Darwin, so

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "docker-compose";
version = "2.10.0";
version = "2.10.1";
src = fetchFromGitHub {
owner = "docker";
repo = "compose";
rev = "v${version}";
sha256 = "sha256-SXmYf1IvHXzNLP6w8MzFx6W2kX4yIICuACOJ8Yu/HWE=";
sha256 = "sha256-SAq6sXhYySqebXbWHJ9X6q1wWnNJjgwKf8YLTXZpKuA=";
};
vendorSha256 = "sha256-nqfCdvgK2JF4XNnA14KJNngP2M/OKThawdTo+iPjRNM=";
vendorSha256 = "sha256-Yz2lea+ttgNbfP1mL+kwTKmo81Q6GGjJyvDANzeckpo=";
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];

View file

@ -0,0 +1,34 @@
{ lib, fetchzip, stdenvNoCC, fetchFromGitLab, xcursorgen, imagemagick6, inkscape }:
stdenvNoCC.mkDerivation rec {
pname = "hackneyed";
version = "0.8.2";
src = fetchFromGitLab {
owner = "Enthymeme";
repo = "hackneyed-x11-cursors";
rev = version;
sha256 = "sha256-Wtrw/EzxCj4cAyfdBp0OJE4+c6FouW7+b6nFTLxdXNY=";
};
buildInputs = [ imagemagick6 inkscape xcursorgen ];
postPatch = ''
patchShebangs *.sh
substituteInPlace make-png.sh \
--replace /usr/bin/inkscape ${inkscape}/bin/inkscape
'';
enableParallelBuilding = true;
makeFlags = [ "PREFIX=$(out)" ];
buildFlags = [ "theme" "theme.left" ];
meta = with lib; {
homepage = "https://gitlab.com/Enthymeme/hackneyed-x11-cursors";
description = "A scalable cursor theme that resembles Windows 3.x/NT 3.x cursors";
platforms = platforms.all;
license = licenses.mit;
maintainers = with maintainers; [ somasis ];
};
}

File diff suppressed because it is too large Load diff

View file

@ -6,6 +6,7 @@
, isPy3k
, ensureNewerSourcesForZipFilesHook
, findutils
, installShellFiles
}:
let
@ -190,6 +191,6 @@ in rec {
sphinxHook = callPackage ({ sphinx }:
makeSetupHook {
name = "python${python.pythonVersion}-sphinx-hook";
deps = [ sphinx ];
deps = [ sphinx installShellFiles ];
} ./sphinx-hook.sh) {};
}

View file

@ -1,20 +1,14 @@
# This hook automatically finds Sphinx documentation, builds it in html format
# and installs it.
#
# This hook knows about several popular locations in which subdirectory
# documentation may be, but in very unusual cases $sphinxRoot directory can be
# set explicitly.
#
# Name of the directory relative to ${doc:-$out}/share/doc is normally also
# deduced automatically, but can be overridden with $sphinxOutdir variable.
#
# Sphinx build system can depend on arbitrary amount of python modules, client
# code is responsible for ensuring that all dependencies are present.
# shellcheck shell=bash
echo "Sourcing sphinx-hook"
declare -a __sphinxBuilders
buildSphinxPhase() {
local __sphinxRoot="" o
echo "Executing buildSphinxPhase"
local __sphinxRoot=""
runHook preBuildSphinx
if [[ -n "${sphinxRoot:-}" ]] ; then # explicit root
if ! [[ -f "${sphinxRoot}/conf.py" ]] ; then
echo 2>&1 "$sphinxRoot/conf.py: no such file"
@ -22,10 +16,10 @@ buildSphinxPhase() {
fi
__sphinxRoot=$sphinxRoot
else
for o in doc docs doc/source docs/source ; do
if [[ -f "$o/conf.py" ]] ; then
echo "Sphinx documentation found in $o"
__sphinxRoot=$o
for candidate in doc docs doc/source docs/source ; do
if [[ -f "$candidate/conf.py" ]] ; then
echo "Sphinx documentation found in $candidate"
__sphinxRoot=$candidate
break
fi
done
@ -35,23 +29,44 @@ buildSphinxPhase() {
echo 2>&1 "Sphinx documentation not found, use 'sphinxRoot' variable"
exit 1
fi
sphinx-build -M html "${__sphinxRoot}" ".sphinx/html" -v
if [ -n "${sphinxBuilders-}" ]; then
eval "__sphinxBuilders=($sphinxBuilders)"
else
__sphinxBuilders=(html)
fi
for __builder in "${__sphinxBuilders[@]}"; do
echo "Executing sphinx-build with ${__builder} builder"
sphinx-build -M "${__builder}" "${__sphinxRoot}" ".sphinx/${__builder}" -v
done
runHook postBuildSphinx
}
installSphinxPhase() {
echo "Executing installSphinxPhase"
local docdir=""
runHook preInstallSphinx
docdir="${doc:-$out}/share/doc/${sphinxOutdir:-$name}"
mkdir -p "$docdir"
for __builder in "${__sphinxBuilders[@]}"; do
# divert output for man builder
if [ "$__builder" == "man" ]; then
installManPage .sphinx/man/man/*
cp -r .sphinx/html/html "$docdir/"
rm -fr "${docdir}/html/_sources" "${docdir}/html/.buildinfo"
else
# shellcheck disable=2154
docdir="${doc:-$out}/share/doc/${pname}"
mkdir -p "$docdir"
cp -r ".sphinx/${__builder}/${__builder}" "$docdir/"
rm -fr "${docdir}/${__builder}/_sources" "${docdir}/${__builder}/.buildinfo"
fi
done
runHook postInstallSphinx
}
preDistPhases+=" buildSphinxPhase"
postPhases+=" installSphinxPhase"
preDistPhases+=" buildSphinxPhase installSphinxPhase"

View file

@ -10,11 +10,13 @@
, libdrm
, enableX11 ? stdenv.isLinux
, libX11
# for passhtru.tests
, pkgsi686Linux
}:
stdenv.mkDerivation rec {
pname = "intel-media-driver";
version = "22.5.0";
version = "22.5.2";
outputs = [ "out" "dev" ];
@ -22,7 +24,7 @@ stdenv.mkDerivation rec {
owner = "intel";
repo = "media-driver";
rev = "intel-media-${version}";
sha256 = "sha256-8E3MN4a+k8YA+uuUPApYFvT82bgJHE1cnPyuAO6R1tA=";
sha256 = "sha256-3WqmTM68XdQfGibkVAT1S9N7Cn8eviNM6qUeF8qogtc=";
};
patches = [
@ -58,6 +60,10 @@ stdenv.mkDerivation rec {
$out/lib/dri/iHD_drv_video.so
'';
passthru.tests = {
inherit (pkgsi686Linux) intel-media-driver;
};
meta = with lib; {
description = "Intel Media Driver for VAAPI Broadwell+ iGPUs";
longDescription = ''

View file

@ -0,0 +1,34 @@
{ lib
, stdenv
, fetchFromGitHub
, qmake
, wrapQtAppsHook
}:
stdenv.mkDerivation rec {
pname = "qmarkdowntextedit";
version = "unstable-2022-08-24";
src = fetchFromGitHub {
owner = "pbek";
repo = pname;
rev = "f7ddc0d520407405b9b132ca239f4a927e3025e6";
sha256 = "sha256-TEb2w48MZ8U1INVvUiS1XohdvnVLBCTba31AwATd/oE=";
};
nativeBuildInputs = [ qmake wrapQtAppsHook ];
qmakeFlags = [
"qmarkdowntextedit-lib.pro"
"PREFIX=${placeholder "out"}"
"LIBDIR=${placeholder "out"}/lib"
];
meta = with lib; {
description = "C++ Qt QPlainTextEdit widget with markdown highlighting and some other goodies";
homepage = "https://github.com/pbek/qmarkdowntextedit";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ rewine ];
};
}

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "rapidfuzz-cpp";
version = "1.1.1";
version = "1.2.0";
src = fetchFromGitHub {
owner = "maxbachmann";
repo = "rapidfuzz-cpp";
rev = "v${version}";
hash = "sha256-ogj8eFkiDtjFcBb3Yip909gKBIeALsoH3LnRIjQmLMA=";
hash = "sha256-S92ookWpQ4OW53oYXPiCokUchI+47CILDR5RXxPJbmU=";
};
patches = [

View file

@ -5,7 +5,7 @@
, blas
, lapack
, gfortran
, enableAMPL ? stdenv.isLinux, libamplsolver
, enableAMPL ? true, libamplsolver
}:
assert (!blas.isILP64) && (!lapack.isILP64);

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchpatch }:
{ lib, stdenv, substitute, fetchurl, fetchpatch }:
stdenv.mkDerivation rec {
pname = "libamplsolver";
@ -10,18 +10,17 @@ stdenv.mkDerivation rec {
};
patches = [
# Debian provides a patch to build a shared library
(fetchpatch {
url = "https://sources.debian.org/data/main/liba/libamplsolver/0~20190702-2/debian/patches/fix-makefile-shared-lib.patch";
sha256 = "sha256-96qwj3fLugzbsfxguKMce13cUo7XGC4VUE7xKcJs42Y=";
(substitute {
src = ./libamplsolver-sharedlib.patch;
replacements = [ "--replace" "@sharedlibext@" "${stdenv.hostPlatform.extensions.sharedLibrary}" ];
})
];
installPhase = ''
runHook preInstall
pushd sys.`uname -m`.`uname -s`
pushd sys.$(uname -m).$(uname -s)
install -D -m 0644 *.h -t $out/include
install -D -m 0644 *.so* -t $out/lib
install -D -m 0644 *${stdenv.hostPlatform.extensions.sharedLibrary}* -t $out/lib
install -D -m 0644 *.a -t $out/lib
popd
runHook postInstall
@ -31,7 +30,7 @@ stdenv.mkDerivation rec {
description = "A library of routines that help solvers work with AMPL";
homepage = "https://ampl.com/netlib/ampl/";
license = [ licenses.mit ];
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ aanderse ];
};
}

View file

@ -0,0 +1,39 @@
Authors: Andrei Rozanski and Grace Dinh
Last-Update: 2022-08-23
Description: fix makefile.u in order to get libamplsover.so (Linux) or libamplsolver.dylib (Mac)
--- a/makefile.u
+++ b/makefile.u
@@ -26,8 +26,9 @@
.SUFFIXES: .c .o
CC = cc
-CFLAGS = -O
+CFLAGS := $(CFLAGS) -pipe -DASL_BUILD -fPIC -DPIC
SHELL=/bin/sh
+OFILES=$(addsuffix .o,$(basename $(a)))
# Add -DNO_RUSAGE to the CFLAGS assignment if your system
# lacks getrusage(). This only matters for compiling xectim.c.
@@ -86,7 +87,7 @@
.c.o:
$(CC) -c $(CFLAGS) $*.c
-all: arith.h stdio1.h amplsolver.a funcadd0.o
+all: arith.h stdio1.h amplsolver.a funcadd0.o libamplsolver@sharedlibext@
a = \
asldate.c \
@@ -189,6 +190,11 @@
# search path, e.g.
# exec true
# or just comment out the ranlib invocation above.
+libamplsolver.so: $(OFILES)
+ $(CC) $^ -shared -Wl,-soname,libamplsolver.so.0 $(LDFLAGS) -o $@.0
+ ln -s $@.0 $@
+libamplsolver.dylib: amplsolver.a
+ $(CC) -fpic -shared -Wl,-all_load amplsolver.a $(LDFLAGS) -o libamplsolver.dylib
Aslh = arith.h asl.h funcadd.h stdio1.h
auxinfo.o libnamsave.o: funcadd.h stdio1.h

View file

@ -1,14 +1,7 @@
{ lib, stdenv, fetchurl, pkg-config
, openssl ? null, zlib ? null, gnutls ? null
, gnutls
}:
let
xor = a: b: (a || b) && (!(a && b));
in
assert xor (openssl != null) (gnutls != null);
assert !(xor (openssl != null) (zlib != null));
stdenv.mkDerivation rec {
pname = "ucommon";
version = "7.0.0";
@ -29,8 +22,8 @@ stdenv.mkDerivation rec {
--replace 'ifndef UCOMMON_SYSRUNTIME' 'if 0'
'';
# ucommon.pc has link time depdendencies on -lssl, -lcrypto, -lz, -lgnutls
propagatedBuildInputs = [ openssl zlib gnutls ];
# ucommon.pc has link time depdendencies on -lusecure -lucommon -lgnutls
propagatedBuildInputs = [ gnutls ];
doCheck = true;
@ -38,7 +31,6 @@ stdenv.mkDerivation rec {
description = "C++ library to facilitate using C++ design patterns";
homepage = "https://www.gnu.org/software/commoncpp/";
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [ ];
platforms = lib.platforms.linux;
};

View file

@ -0,0 +1,76 @@
{ buildPythonPackage
, fetchFromGitHub
, lib
, pythonOlder
, poetry-core
, grpclib
, python-dateutil
, dataclasses
, black
, jinja2
, isort
, python
, pytestCheckHook
, pytest-asyncio
, pytest-mock
, tomlkit
, grpcio-tools
}:
buildPythonPackage rec {
pname = "betterproto";
version = "2.0.0b5";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "danielgtaylor";
repo = "python-betterproto";
rev = "v${version}";
sha256 = "sha256-XyXdpo3Yo4aO1favMWC7i9utz4fNDbKbsnYXJW0b7Gc=";
};
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
grpclib
python-dateutil
] ++ lib.optional (pythonOlder "3.7") [
dataclasses
];
passthru.optional-dependencies.compiler = [
black
jinja2
isort
];
pythonImportsCheck = [ "betterproto" ];
checkInputs = [
pytestCheckHook
pytest-asyncio
pytest-mock
tomlkit
grpcio-tools
] ++ passthru.optional-dependencies.compiler;
# The tests require the generation of code before execution. This requires
# the protoc-gen-python_betterproto script from the packge to be on PATH.
preCheck = ''
export PATH=$PATH:$out/bin
${python.interpreter} -m tests.generate
'';
meta = with lib; {
description = "Clean, modern, Python 3.6+ code generator & library for Protobuf 3 and async gRPC";
longDescription = ''
This project aims to provide an improved experience when using Protobuf /
gRPC in a modern Python environment by making use of modern language
features and generating readable, understandable, idiomatic Python code.
'';
homepage = "https://github.com/danielgtaylor/python-betterproto";
license = licenses.mit;
maintainers = with maintainers; [ nikstur ];
};
}

View file

@ -0,0 +1,96 @@
{ lib
, fetchzip
, buildPythonPackage
, setuptools
, ecdsa
, fastecdsa
, sympy
, frozendict
, marshmallow
, marshmallow-enum
, marshmallow-dataclass
, marshmallow-oneofschema
, pipdeptree
, eth-hash
, web3
, aiohttp
, cachetools
, mpmath
, numpy
, prometheus-client
, typeguard
, lark
, pyyaml
, pytest-asyncio
, pytest
, pytestCheckHook
, gmp
}:
buildPythonPackage rec {
pname = "cairo-lang";
version = "0.9.1";
src = fetchzip {
url = "https://github.com/starkware-libs/cairo-lang/releases/download/v${version}/cairo-lang-${version}.zip";
sha256 = "sha256-i4030QLG6PssfKD5FO4VrZxap19obMZ3Aa77p5MXlNY=";
};
# TODO: remove a substantial part when https://github.com/starkware-libs/cairo-lang/pull/88/files is merged.
# TODO: pytest and pytest-asyncio must be removed as they are check inputs in fact.
postPatch = ''
substituteInPlace requirements.txt \
--replace 'frozendict==1.2' 'frozendict>=1.2' \
--replace 'lark-parser' 'lark' \
--replace 'pytest-asyncio' ''' \
--replace "pytest" '''
substituteInPlace starkware/cairo/lang/compiler/parser_transformer.py \
--replace 'value, meta' 'meta, value' \
--replace 'value: Tuple[CommaSeparatedWithNotes], meta' 'meta, value: Tuple[CommaSeparatedWithNotes]'
substituteInPlace starkware/cairo/lang/compiler/parser.py \
--replace 'standard' 'basic'
'';
buildInputs = [ gmp ];
propagatedBuildInputs = [
aiohttp
cachetools
setuptools
ecdsa
fastecdsa
sympy
mpmath
numpy
typeguard
frozendict
prometheus-client
marshmallow
marshmallow-enum
marshmallow-dataclass
marshmallow-oneofschema
pipdeptree
lark
web3
eth-hash
eth-hash.optional-dependencies.pycryptodome
pyyaml
];
checkInputs = [
pytestCheckHook
];
# There seems to be no test included in the ZIP release…
# Cloning from GitHub is harder because they use a custom CMake setup
# TODO(raitobezarius): upstream was pinged out of band about it.
doCheck = false;
meta = {
homepage = "https://github.com/starkware/cairo-lang";
description = "Tooling for Cairo language";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ raitobezarius ];
};
}

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "flake8-bugbear";
version = "22.7.1";
version = "22.8.23";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "PyCQA";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-eG/1BENY93j76ZFlcnariDFkK9yspqgNUxFPdAhBCVA=";
hash = "sha256-5SBG/lrbe25kcABngDpOdjA/JJQ0DKcCYi6JBxTurPg=";
};
propagatedBuildInputs = [

View file

@ -39,6 +39,9 @@ buildPythonPackage rec {
];
checkPhase = ''
# tries to trigger flake8 and fails
rm hacking/tests/test_doctest.py
stestr run
'';

View file

@ -80,6 +80,8 @@ buildPythonPackage rec {
runHook postCheck
'';
doCheck = false;
pythonImportsCheck = [ "ipfshttpclient" ];
meta = with lib; {

View file

@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "rapidfuzz";
version = "2.5.0";
version = "2.6.0";
disabled = pythonOlder "3.6";
@ -30,7 +30,7 @@ buildPythonPackage rec {
owner = "maxbachmann";
repo = "RapidFuzz";
rev = "refs/tags/v${version}";
hash = "sha256-Cdzf6qQZQzH+tRyLEYvi7c01L5i+6WmgHozLhFQNsiQ=";
hash = "sha256-EplQodBTdZCqhM+6nCovpnqDJ6zvu+jG5muVMLIxdKI=";
};
nativeBuildInputs = [

View file

@ -29,7 +29,7 @@ buildPythonPackage rec {
"setuptools_scm"
];
# check in passhtru.tests.pytest to escape infinite recursion on pytest
# check in passthru.tests.pytest to escape infinite recursion on pytest
doCheck = false;
passthru.tests = {

View file

@ -0,0 +1,83 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, aiohttp
, eth-abi
, eth-account
, eth-hash
, eth-typing
, eth-utils
, eth-rlp
, hexbytes
, ipfshttpclient
, jsonschema
, lru-dict
, protobuf
, requests
, typing-extensions
, websockets
# , eth-tester
# , py-geth
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "web3";
version = "5.30.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "ethereum";
repo = "web3.py";
rev = "v${version}";
sha256 = "sha256-HajumvOG18r7TslkmCfI0iiLsEddevGrRZQFWICGeYE=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "eth-account>=0.5.7,<0.6.0" "eth-account>=0.5.7,<0.7" \
--replace "eth-utils>=1.9.5,<2.0.0" "eth-utils>=1.9.5,<3" \
--replace "eth-rlp<0.3" "eth-rlp<0.4" \
--replace "websockets>=9.1,<10" "websockets>=9.1,<11" \
--replace "eth-abi>=2.0.0b6,<3.0.0" "eth-abi>=2.0.0b6,<4" \
--replace "eth-typing>=2.0.0,<3.0.0" "eth-typing>=2.0.0,<4"
'';
propagatedBuildInputs = [
aiohttp
eth-abi
eth-account
eth-hash
eth-hash.optional-dependencies.pycryptodome
eth-rlp
eth-typing
eth-utils
hexbytes
ipfshttpclient
jsonschema
lru-dict
protobuf
requests
websockets
] ++ lib.optional (pythonOlder "3.8") [ typing-extensions ];
# TODO: package eth-tester
#checkInputs = [
# eth-tester
# eth-tester.optional-dependencies.py-evm
# py-geth
# pytestCheckHook
#];
doCheck = false;
pythonImportsCheck = [ "web3" ];
meta = with lib; {
description = "Web3 library for interactions";
homepage = "https://github.com/ethereum/web3";
license = licenses.mit;
maintainers = with maintainers; [ raitobezarius ];
};
}

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "buildkit";
version = "0.10.3";
version = "0.10.4";
src = fetchFromGitHub {
owner = "moby";
repo = "buildkit";
rev = "v${version}";
sha256 = "sha256-hZINmKzLB0nFVVP8eXK2ghe4Emmuq55w0vDwLw8XuJk=";
sha256 = "sha256-vxu0QLZ6ERNV1lTH0/c0yR6FT/im5rn85oqQeRvdt6M=";
};
vendorSha256 = null;

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "delve";
version = "1.9.0";
version = "1.9.1";
src = fetchFromGitHub {
owner = "go-delve";
repo = "delve";
rev = "v${version}";
sha256 = "sha256-paNr9aiRG6NP6DIGUojl7VPPPMTeJRpDW8ThDNOQhWM=";
sha256 = "sha256-Ga+1xz7gsLoHA0G4UOiJf331hrBVoeB93Pjd0PyATB4=";
};
vendorSha256 = null;

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "lttng-tools";
version = "2.13.7";
version = "2.13.8";
src = fetchurl {
url = "https://lttng.org/files/lttng-tools/${pname}-${version}.tar.bz2";
sha256 = "sha256-0XoC6PF4p880A+PJ7fuQrToWKOIKoLUTFAiuR/ci8I0=";
sha256 = "sha256-selZV5smB5CTCyDzx6p877ikDg3oDUp3fCv3jGs1PcE=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -5,8 +5,10 @@
libelf,
libiberty,
zlib,
libbfd,
libopcodes,
# Once https://gitlab.com/eztrace/eztrace/-/issues/41
# is released we can switch to latest binutils.
libbfd_2_38,
libopcodes_2_38,
buildPackages,
autoreconfHook
}:
@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ gfortran autoreconfHook ];
buildInputs = [ libelf libiberty zlib libbfd libopcodes ];
buildInputs = [ libelf libiberty zlib libbfd_2_38 libopcodes_2_38 ];
meta = with lib; {
description = "Tool that aims at generating automatically execution trace from HPC programs";

View file

@ -1,15 +1,20 @@
{ lib, stdenv
, libopcodes, libbfd, elfutils, readline
, libopcodes, libopcodes_2_38
, libbfd, libbfd_2_38
, elfutils, readline
, linuxPackages_latest, zlib
, python3, bison, flex
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "bpftools";
inherit (linuxPackages_latest.kernel) version src;
nativeBuildInputs = [ python3 bison flex ];
buildInputs = [ libopcodes libbfd elfutils zlib readline ];
buildInputs = (if (lib.versionAtLeast version "5.20")
then [ libopcodes libbfd ]
else [ libopcodes_2_38 libbfd_2_38 ])
++ [ elfutils zlib readline ];
preConfigure = ''
patchShebangs scripts/bpf_doc.py

View file

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python -p "python38.withPackages (ps: [ps.PyGithub])" git gnupg
#! nix-shell -i python -p "python3.withPackages (ps: [ps.PyGithub])" git gnupg
# This is automatically called by ../update.sh.
@ -201,7 +201,7 @@ for filename in os.listdir(NIXPKGS_KERNEL_PATH):
(callPackage {NIXPKGS_KERNEL_PATH / filename} {{}}).version
"""
kernel_version_json = run(
"nix-instantiate", "--eval", "--json", "--expr", nix_version_expr,
"nix-instantiate", "--eval", "--system", "x86_64-linux", "--json", "--expr", nix_version_expr,
).stdout
kernel_version = parse_version(json.loads(kernel_version_json))
if kernel_version < MIN_KERNEL_VERSION:

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchpatch, kernel, elfutils, python2, python3, perl, newt, slang, asciidoc, xmlto, makeWrapper
, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkg-config, libunwind, binutils-unwrapped
, libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl
, libiberty, audit, libbfd, libbfd_2_38, libopcodes, libopcodes_2_38, openssl, systemtap, numactl
, zlib
, withGtk ? false, gtk2
, withZstd ? true, zstd
@ -45,9 +45,12 @@ stdenv.mkDerivation {
flex bison libiberty audit makeWrapper pkg-config python3
];
buildInputs = [
elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl
libopcodes python3 perl
] ++ lib.optional withGtk gtk2
elfutils newt slang libunwind zlib openssl systemtap.stapBuild numactl
python3 perl
] ++ (if (lib.versionAtLeast kernel.version "5.19")
then [ libbfd libopcodes ]
else [ libbfd_2_38 libopcodes_2_38 ])
++ lib.optional withGtk gtk2
++ (if (lib.versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ])
++ lib.optional withZstd zstd
++ lib.optional withLibcap libcap;

View file

@ -8,19 +8,20 @@ let
_kernel = kernel;
pythonEnv = python3.withPackages (ps: with ps; [ six ]);
in stdenv.mkDerivation rec {
version = "2.17.0";
version = "2.17.2";
pname = "openvswitch";
src = fetchurl {
url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
sha256 = "sha256-4Dv6t8qC2Bp9OjbeTzkKO1IQ4/OWV2cfkih3zU6m3HM=";
url = "https://www.openvswitch.org/releases/openvswitch-${version}.tar.gz";
sha256 = "sha256-ai4NtCutuMvK9/O+vVtemicBMZ3x0EKU6aennpRQTWk=";
};
kernel = optional (_kernel != null) _kernel.dev;
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [ util-linux openssl libcap_ng pythonEnv
perl procps which ];
buildInputs = [
util-linux openssl libcap_ng pythonEnv perl procps which
];
configureFlags = [
"--localstatedir=/var"

View file

@ -1,6 +1,6 @@
# The actual Plex package that we run is a FHS userenv of the "raw" package.
{ stdenv
, buildFHSUserEnv
, buildFHSUserEnvBubblewrap
, writeScript
, plexRaw
@ -9,10 +9,16 @@
, dataDir ? "/var/lib/plex"
}:
buildFHSUserEnv {
buildFHSUserEnvBubblewrap {
name = "plexmediaserver";
inherit (plexRaw) meta;
# Plex does some magic to detect if it is already running.
# The separate PID namespace somehow breaks this and Plex is thinking it's already
# running and refuses to start.
unsharePid = false;
# This script is run when we start our Plex binary
runScript = writeScript "plex-run-script" ''
#!${stdenv.shell}

View file

@ -97,6 +97,10 @@ commonOptions = packageSettings: rec { # attributes common to both builds
# to pass in java explicitly.
"-DCONNECT_WITH_JDBC=OFF"
"-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
# revisit this if nixpkgs supports any architecture whose stack grows upwards
"-DSTACK_DIRECTION=-1"
"-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}"
];
postInstall = ''
@ -214,10 +218,6 @@ in stdenv.mkDerivation (common // {
"-DPLUGIN_AUTH_PAM_V1=NO"
"-DWITHOUT_OQGRAPH=1"
"-DWITHOUT_PLUGIN_S3=1"
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
# revisit this if nixpkgs supports any architecture whose stack grows upwards
"-DSTACK_DIRECTION=-1"
"-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}"
];
preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
@ -237,6 +237,7 @@ in stdenv.mkDerivation (common // {
'';
CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive";
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic";
});
in {
mariadb_104 = mariadbPackage {

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, wget, jq, curl }:
{ lib, stdenv, fetchFromGitHub, makeWrapper, wget, jq, curl }:
let
version = "1.0";
@ -14,15 +14,16 @@ stdenv.mkDerivation {
sha256 = "uz+lkRRUTRr8WR295esNEbgjlZ/Em7mBk6Nx0BWLfg4=";
};
buildInputs = [
wget
jq
curl
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
runHook preInstall
install -Dm0755 -t $out/bin $src/bin/codimd
mkdir -p $out/bin
cp $src/bin/codimd $out/bin
wrapProgram $out/bin/codimd \
--prefix PATH : ${lib.makeBinPath [ jq wget curl ]}
ln -s $out/bin/codimd $out/bin/hedgedoc-cli
runHook postInstall
'';

View file

@ -33,13 +33,15 @@ python3.pkgs.buildPythonApplication rec {
setuptools-scm
# docs
sphinx
sphinxHook
guzzle_sphinx_theme
# shell completions
installShellFiles
];
sphinxBuilders = [ "singlehtml" "man" ];
buildInputs = [
libb2
lz4
@ -67,14 +69,6 @@ python3.pkgs.buildPythonApplication rec {
];
postInstall = ''
make -C docs singlehtml
mkdir -p $out/share/doc/borg
cp -R docs/_build/singlehtml $out/share/doc/borg/html
make -C docs man
mkdir -p $out/share/man
cp -R docs/_build/man $out/share/man/man1
installShellCompletion --cmd borg \
--bash scripts/shell_completions/bash/borg \
--fish scripts/shell_completions/fish/borg.fish \

View file

@ -0,0 +1,105 @@
{ lib
, stdenv
, fetchFromGitHub
, rustPlatform
, pkg-config
, asciidoc
, dbus
, cryptsetup
, util-linux
, udev
, systemd
, xfsprogs
, thin-provisioning-tools
, clevis
, jose
, jq
, curl
, tpm2-tools
, coreutils
, clevisSupport ? false
}:
stdenv.mkDerivation rec {
pname = "stratisd";
version = "3.2.2";
src = fetchFromGitHub {
owner = "stratis-storage";
repo = pname;
rev = "v${version}";
hash = "sha256-dNbbKGRLSYVnPdKfxlLIwXNEf7P6EvGbOp8sfpaw38g=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
hash = "sha256-tJT0GKLpZtiQ/AZACkNeC3zgso54k/L03dFI0m1Jbls=";
};
patches = [
# Allow overriding BINARIES_PATHS with environment variable at compile time
./paths.patch
];
postPatch = ''
substituteInPlace udev/61-stratisd.rules \
--replace stratis-base32-decode "$out/lib/udev/stratis-base32-decode" \
--replace stratis-str-cmp "$out/lib/udev/stratis-str-cmp"
substituteInPlace systemd/stratis-fstab-setup \
--replace stratis-min "$out/bin/stratis-min" \
--replace systemd-ask-password "${systemd}/bin/systemd-ask-password" \
--replace sleep "${coreutils}/bin/sleep" \
--replace udevadm "${udev}/bin/udevadm"
'';
nativeBuildInputs = with rustPlatform; [
cargoSetupHook
bindgenHook
rust.cargo
rust.rustc
pkg-config
asciidoc
];
buildInputs = [
dbus
cryptsetup
util-linux
udev
];
BINARIES_PATHS = lib.makeBinPath ([
xfsprogs
thin-provisioning-tools
udev
] ++ lib.optionals clevisSupport [
clevis
jose
jq
cryptsetup
curl
tpm2-tools
coreutils
]);
makeFlags = [ "PREFIX=${placeholder "out"}" ];
buildFlags = [ "release" "release-min" "docs/stratisd.8" ];
doCheck = true;
checkTarget = "test";
# remove files for supporting dracut
postInstall = ''
rm -r "$out/lib/dracut"
rm -r "$out/lib/systemd/system-generators"
'';
meta = with lib; {
description = "Easy to use local storage management for Linux";
homepage = "https://stratis-storage.github.io";
license = licenses.mpl20;
maintainers = with maintainers; [ nickcao ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -0,0 +1,42 @@
diff --git a/src/engine/strat_engine/cmd.rs b/src/engine/strat_engine/cmd.rs
index daaff70f..ed528f7f 100644
--- a/src/engine/strat_engine/cmd.rs
+++ b/src/engine/strat_engine/cmd.rs
@@ -39,8 +39,6 @@ use crate::{
// The maximum allowable size of the thinpool metadata device
const MAX_META_SIZE: MetaBlocks = MetaBlocks(255 * ((1 << 14) - 64));
-const BINARIES_PATHS: [&str; 4] = ["/usr/sbin", "/sbin", "/usr/bin", "/bin"];
-
/// Find the binary with the given name by looking in likely locations.
/// Return None if no binary was found.
/// Search an explicit list of directories rather than the user's PATH
@@ -49,7 +47,7 @@ const BINARIES_PATHS: [&str; 4] = ["/usr/sbin", "/sbin", "/usr/bin", "/bin"];
fn find_binary(name: &str) -> Option<PathBuf> {
BINARIES_PATHS
.iter()
- .map(|pre| [pre, name].iter().collect::<PathBuf>())
+ .map(|pre| [pre, &name.into()].iter().collect::<PathBuf>())
.find(|path| path.exists())
}
@@ -147,6 +145,10 @@ lazy_static! {
.and_then(|mut hm| hm
.remove(CLEVIS)
.and_then(|c| hm.remove(JOSE).map(|j| (c, j))));
+ static ref BINARIES_PATHS: Vec<PathBuf> = match std::option_env!("BINARIES_PATHS") {
+ Some(paths) => std::env::split_paths(paths).collect(),
+ None => ["/usr/sbin", "/sbin", "/usr/bin", "/bin"].iter().map(|p| p.into()).collect(),
+ };
}
/// Verify that all binaries that the engine might invoke are available at some
@@ -160,7 +162,7 @@ pub fn verify_binaries() -> StratisResult<()> {
name,
BINARIES_PATHS
.iter()
- .map(|p| format!("\"{}\"", p))
+ .map(|p| format!("\"{}\"", p.display()))
.collect::<Vec<_>>()
.join(", "),
))),

View file

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "du-dust";
version = "0.8.1";
version = "0.8.2";
src = fetchFromGitHub {
owner = "bootandy";
repo = "dust";
rev = "v${version}";
sha256 = "sha256-7hhg54x8EZ3x40a8kaOUzhyHDF0CJ5dZibGVvcFF9zk=";
sha256 = "sha256-ZPIxJ8D8yxaL7RKIVKIIlqwUXBbVM0JprE5TSTGkhfI=";
# Remove unicode file names which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalisation.
postFetch = ''
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
'';
};
cargoSha256 = "sha256-fbNP89xg0Di/p/y78C9kar3UKOqkAJ94rJqZOWK3Rp0=";
cargoSha256 = "sha256-dgAyxSVNe+UKuT0UJqPvYcrLolKtC2+EN/okSvzkhcA=";
doCheck = false;

View file

@ -3487,6 +3487,8 @@ with pkgs;
cucumber = callPackage ../development/tools/cucumber {};
cutemarked-ng = libsForQt5.callPackage ../applications/office/cutemarked-ng { };
dabet = callPackage ../tools/misc/dabet { };
dabtools = callPackage ../applications/radio/dabtools { };
@ -5856,6 +5858,8 @@ with pkgs;
soupault = callPackage ../tools/typesetting/soupault { };
stratisd = callPackage ../tools/filesystems/stratisd { };
strawberry = libsForQt5.callPackage ../applications/audio/strawberry { };
schildichat-desktop = callPackage ../applications/networking/instant-messengers/schildichat/schildichat-desktop.nix {
@ -7287,6 +7291,8 @@ with pkgs;
hackertyper = callPackage ../tools/misc/hackertyper { };
hackneyed = callPackage ../data/icons/hackneyed { };
haveged = callPackage ../tools/security/haveged { };
habitat = callPackage ../applications/networking/cluster/habitat { };
@ -9914,9 +9920,8 @@ with pkgs;
inherit (callPackage ../servers/plik { })
plik plikd;
plex = callPackage ../servers/plex {
buildFHSUserEnv = buildFHSUserEnvBubblewrap;
};
plex = callPackage ../servers/plex { };
plexRaw = callPackage ../servers/plex/raw.nix { };
psitransfer = callPackage ../servers/psitransfer { };
@ -10235,6 +10240,8 @@ with pkgs;
qmk = callPackage ../tools/misc/qmk { };
qmarkdowntextedit = libsForQt5.callPackage ../development/libraries/qmarkdowntextedit { };
qodem = callPackage ../tools/networking/qodem { };
qosmic = libsForQt5.callPackage ../applications/graphics/qosmic { };
@ -18437,7 +18444,7 @@ with pkgs;
# these things are only used for tests, they don't get into the closure
shared-mime-info = shared-mime-info.override { glib = glib-untested; };
desktop-file-utils = desktop-file-utils.override { glib = glib-untested; };
dbus = dbus.override { systemd = null; };
dbus = dbus.override { enableSystemd = false; };
});
glibmm = callPackage ../development/libraries/glibmm { };
@ -21840,10 +21847,7 @@ with pkgs;
utmps = skawarePackages.utmps;
ucommon = callPackage ../development/libraries/ucommon {
openssl = null;
zlib = null;
};
ucommon = callPackage ../development/libraries/ucommon { };
v8 = callPackage ../development/libraries/v8 { };
@ -26851,6 +26855,8 @@ with pkgs;
darcs-to-git = callPackage ../applications/version-management/git-and-tools/darcs-to-git { };
darkman = callPackage ../applications/misc/darkman { };
darktable = callPackage ../applications/graphics/darktable {
lua = lua5_4;
pugixml = pugixml.override { shared = true; };

View file

@ -1306,6 +1306,8 @@ in {
betamax-serializers = callPackage ../development/python-modules/betamax-serializers { };
betterproto = callPackage ../development/python-modules/betterproto { };
bibtexparser = callPackage ../development/python-modules/bibtexparser { };
bidict = callPackage ../development/python-modules/bidict { };
@ -1587,6 +1589,8 @@ in {
inherit (self) python numpy boost;
});
cairo-lang = callPackage ../development/python-modules/cairo-lang { };
cairocffi = callPackage ../development/python-modules/cairocffi { };
cairosvg = callPackage ../development/python-modules/cairosvg { };
@ -11530,6 +11534,8 @@ in {
weasyprint = callPackage ../development/python-modules/weasyprint { };
web3 = callPackage ../development/python-modules/web3 { };
webargs = callPackage ../development/python-modules/webargs { };
webassets = callPackage ../development/python-modules/webassets { };