forked from mirrors/nixpkgs
Merge master into staging-next
This commit is contained in:
commit
90d220f41f
|
@ -79,6 +79,33 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
localSourceAllow = mkOption {
|
||||
type = types.listOf types.str;
|
||||
# Permissions snapshot and destroy are in case --no-sync-snap is not used
|
||||
default = [ "bookmark" "hold" "send" "snapshot" "destroy" ];
|
||||
description = ''
|
||||
Permissions granted for the <option>services.syncoid.user</option> user
|
||||
for local source datasets. See
|
||||
<link xlink:href="https://openzfs.github.io/openzfs-docs/man/8/zfs-allow.8.html"/>
|
||||
for available permissions.
|
||||
'';
|
||||
};
|
||||
|
||||
localTargetAllow = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "change-key" "compression" "create" "mount" "mountpoint" "receive" "rollback" ];
|
||||
example = [ "create" "mount" "receive" "rollback" ];
|
||||
description = ''
|
||||
Permissions granted for the <option>services.syncoid.user</option> user
|
||||
for local target datasets. See
|
||||
<link xlink:href="https://openzfs.github.io/openzfs-docs/man/8/zfs-allow.8.html"/>
|
||||
for available permissions.
|
||||
Make sure to include the <literal>change-key</literal> permission if you send raw encrypted datasets,
|
||||
the <literal>compression</literal> permission if you send raw compressed datasets, and so on.
|
||||
For remote target datasets you'll have to set your remote user permissions by yourself.
|
||||
'';
|
||||
};
|
||||
|
||||
commonArgs = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
|
@ -133,6 +160,30 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
localSourceAllow = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
Permissions granted for the <option>services.syncoid.user</option> user
|
||||
for local source datasets. See
|
||||
<link xlink:href="https://openzfs.github.io/openzfs-docs/man/8/zfs-allow.8.html"/>
|
||||
for available permissions.
|
||||
Defaults to <option>services.syncoid.localSourceAllow</option> option.
|
||||
'';
|
||||
};
|
||||
|
||||
localTargetAllow = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = ''
|
||||
Permissions granted for the <option>services.syncoid.user</option> user
|
||||
for local target datasets. See
|
||||
<link xlink:href="https://openzfs.github.io/openzfs-docs/man/8/zfs-allow.8.html"/>
|
||||
for available permissions.
|
||||
Make sure to include the <literal>change-key</literal> permission if you send raw encrypted datasets,
|
||||
the <literal>compression</literal> permission if you send raw compressed datasets, and so on.
|
||||
For remote target datasets you'll have to set your remote user permissions by yourself.
|
||||
'';
|
||||
};
|
||||
|
||||
sendOptions = mkOption {
|
||||
type = types.separatedString " ";
|
||||
default = "";
|
||||
|
@ -179,6 +230,8 @@ in
|
|||
config = {
|
||||
source = mkDefault name;
|
||||
sshKey = mkDefault cfg.sshKey;
|
||||
localSourceAllow = mkDefault cfg.localSourceAllow;
|
||||
localTargetAllow = mkDefault cfg.localTargetAllow;
|
||||
};
|
||||
}));
|
||||
default = { };
|
||||
|
@ -221,13 +274,11 @@ in
|
|||
path = [ "/run/booted-system/sw/bin/" ];
|
||||
serviceConfig = {
|
||||
ExecStartPre =
|
||||
# Permissions snapshot and destroy are in case --no-sync-snap is not used
|
||||
(map (buildAllowCommand "allow" [ "bookmark" "hold" "send" "snapshot" "destroy" ]) (localDatasetName c.source)) ++
|
||||
(map (buildAllowCommand "allow" [ "create" "mount" "receive" "rollback" ]) (localDatasetName c.target));
|
||||
(map (buildAllowCommand "allow" c.localSourceAllow) (localDatasetName c.source)) ++
|
||||
(map (buildAllowCommand "allow" c.localTargetAllow) (localDatasetName c.target));
|
||||
ExecStopPost =
|
||||
# Permissions snapshot and destroy are in case --no-sync-snap is not used
|
||||
(map (buildAllowCommand "unallow" [ "bookmark" "hold" "send" "snapshot" "destroy" ]) (localDatasetName c.source)) ++
|
||||
(map (buildAllowCommand "unallow" [ "create" "mount" "receive" "rollback" ]) (localDatasetName c.target));
|
||||
(map (buildAllowCommand "unallow" c.localSourceAllow) (localDatasetName c.source)) ++
|
||||
(map (buildAllowCommand "unallow" c.localTargetAllow) (localDatasetName c.target));
|
||||
ExecStart = lib.escapeShellArgs ([ "${pkgs.sanoid}/bin/syncoid" ]
|
||||
++ optionals c.useCommonArgs cfg.commonArgs
|
||||
++ optional c.recursive "-r"
|
||||
|
|
|
@ -4,13 +4,13 @@ let
|
|||
py = python3Packages;
|
||||
in py.buildPythonApplication rec {
|
||||
pname = "friture";
|
||||
version = "unstable-2020-02-16";
|
||||
version = "0.47";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tlecomte";
|
||||
repo = pname;
|
||||
rev = "4460b4e72a9c55310d6438f294424b5be74fc0aa";
|
||||
sha256 = "1pmxzq78ibifby3gbir1ah30mgsqv0y7zladf5qf3sl5r1as0yym";
|
||||
rev = "v${version}";
|
||||
sha256 = "1qcsvmgdz9hhv5gaa918147wvng6manc4iq8ci6yr761ljqrgwjx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = (with py; [ numpy cython scipy ]) ++
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/friture/filter_design.py b/friture/filter_design.py
|
||||
index 9876c43..1cc749a 100644
|
||||
--- a/friture/filter_design.py
|
||||
+++ b/friture/filter_design.py
|
||||
@@ -2,7 +2,7 @@
|
||||
from numpy import pi, exp, arange, cos, sin, sqrt, zeros, ones, log, arange, set_printoptions
|
||||
# the three following lines are a workaround for a bug with scipy and py2exe
|
||||
# together. See http://www.pyinstaller.org/ticket/83 for reference.
|
||||
-from scipy.misc import factorial
|
||||
+from scipy.special import factorial
|
||||
import scipy
|
||||
scipy.factorial = factorial
|
||||
|
|
@ -1,34 +1,34 @@
|
|||
diff --git a/setup.py b/setup.py
|
||||
index f31eeec..ac0927b 100644
|
||||
index 4092388..6cb7dac 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -50,19 +50,19 @@ ext_modules = [LateIncludeExtension("friture_extensions.exp_smoothing_conv",
|
||||
# these will be installed when calling 'pip install friture'
|
||||
# they are also retrieved by 'requirements.txt'
|
||||
install_requires = [
|
||||
- "sounddevice==0.3.14",
|
||||
- "rtmixer==0.1.0",
|
||||
- "PyOpenGL==3.1.4",
|
||||
- "PyOpenGL-accelerate==3.1.4",
|
||||
- "docutils==0.15.2",
|
||||
- "numpy==1.17.4",
|
||||
- "PyQt5==5.13.2",
|
||||
- "appdirs==1.4.3",
|
||||
- "sounddevice==0.4.2",
|
||||
- "rtmixer==0.1.3",
|
||||
- "PyOpenGL==3.1.5",
|
||||
- "PyOpenGL-accelerate==3.1.5",
|
||||
- "docutils==0.17.1",
|
||||
- "numpy==1.21.1",
|
||||
- "PyQt5==5.15.4",
|
||||
- "appdirs==1.4.4",
|
||||
- "pyrr==0.10.3",
|
||||
+ "sounddevice>=0.3.14",
|
||||
+ "rtmixer>=0.1.0",
|
||||
+ "sounddevice>=0.4.1",
|
||||
+ "rtmixer>=0.1.1",
|
||||
+ "PyOpenGL>=3.1.4",
|
||||
+ "PyOpenGL-accelerate>=3.1.4",
|
||||
+ "docutils>=0.15.2",
|
||||
+ "numpy>=1.17.4",
|
||||
+ "PyQt5>=5.13.2",
|
||||
+ "appdirs>=1.4.3",
|
||||
+ "PyOpenGL-accelerate>=3.1.5",
|
||||
+ "docutils>=0.17.1",
|
||||
+ "numpy>=1.20.3",
|
||||
+ "PyQt5>=5.15.4",
|
||||
+ "appdirs>=1.4.4",
|
||||
+ "pyrr>=0.10.3",
|
||||
]
|
||||
|
||||
# Cython and numpy are needed when running setup.py, to build extensions
|
||||
-setup_requires=["numpy==1.17.4", "Cython==0.29.14"]
|
||||
+setup_requires=["numpy>=1.17.4", "Cython>=0.29.14"]
|
||||
-setup_requires=["numpy==1.21.1", "Cython==0.29.24"]
|
||||
+setup_requires=["numpy>=1.20.3", "Cython>=0.29.22"]
|
||||
|
||||
with open(join(dirname(__file__), 'README.rst')) as f:
|
||||
long_description = f.read()
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "signal-cli";
|
||||
version = "0.8.1";
|
||||
version = "0.8.5";
|
||||
|
||||
# Building from source would be preferred, but is much more involved.
|
||||
src = fetchurl {
|
||||
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
|
||||
sha256 = "sha256-Lq1RSJ1VIa6MFTiTbGqNy7IqliJwGeuegm/1+RRtu+I=";
|
||||
sha256 = "sha256-H895fyI6fdrrqhcgKMxzGSxO5BFuuizjfjBEwvl1yyg=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
|
||||
|
|
|
@ -613,7 +613,7 @@ rec {
|
|||
command ? "${package.meta.mainProgram or package.pname or package.name} --version",
|
||||
version ? package.version,
|
||||
}: runCommand "test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } ''
|
||||
${command} | grep -Fw ${version}
|
||||
${command} |& grep -Fw ${version}
|
||||
touch $out
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
{ fetchFromGitHub, fetchHex, rebar3Relx, buildRebar3, rebar3-proper, stdenv, lib }:
|
||||
{ fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
|
||||
, stdenv, writeScript, lib }:
|
||||
let
|
||||
version = "0.18.0";
|
||||
owner = "erlang-ls";
|
||||
repo = "erlang_ls";
|
||||
deps = import ./rebar-deps.nix {
|
||||
inherit fetchHex fetchFromGitHub;
|
||||
inherit fetchHex fetchFromGitHub fetchgit;
|
||||
builder = buildRebar3;
|
||||
overrides = (self: super: {
|
||||
proper = super.proper.overrideAttrs (_: {
|
||||
|
@ -45,4 +46,22 @@ rebar3Relx {
|
|||
platforms = platforms.unix;
|
||||
license = licenses.asl20;
|
||||
};
|
||||
passthru.updateScript = writeScript "update.sh" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p common-updater-scripts coreutils git gnused gnutar gzip "rebar3WithPlugins { globalPlugins = [ beamPackages.rebar3-nix ]; }"
|
||||
|
||||
set -ox errexit
|
||||
latest=$(list-git-tags https://github.com/${owner}/${repo}.git | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
|
||||
if [[ "$latest" != "${version}" ]]; then
|
||||
nixpkgs="$(git rev-parse --show-toplevel)"
|
||||
nix_path="$nixpkgs/pkgs/development/beam-modules/erlang-ls"
|
||||
update-source-version erlang-ls "$latest" --version-key=version --print-changes --file="$nix_path/default.nix"
|
||||
tmpdir=$(mktemp -d)
|
||||
cp -R $(nix-build $nixpkgs --no-out-link -A erlang-ls.src)/* "$tmpdir"
|
||||
DEBUG=1
|
||||
(cd "$tmpdir" && HOME=. rebar3 as test nix lock -o "$nix_path/rebar-deps.nix")
|
||||
else
|
||||
echo "erlang-ls is already up-to-date"
|
||||
fi
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Generated by rebar3_nix
|
||||
let fetchOnly = { src, ... }: src;
|
||||
in { builder ? fetchOnly, fetchHex, fetchFromGitHub, overrides ? (x: y: { }) }:
|
||||
in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }:
|
||||
let
|
||||
self = packages // (overrides self packages);
|
||||
packages = with self; {
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "fontParts";
|
||||
version = "0.9.10";
|
||||
version = "0.9.11";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0hwjnqbkcfkhigx581w4532vddsx5wiy73gx46kjisp0hlir9628";
|
||||
sha256 = "558a5f681fcf7ca0bb5a1c68917b5d9b61c77d517833a01ea1667773d13f4012";
|
||||
extension = "zip";
|
||||
};
|
||||
|
||||
|
|
|
@ -12,11 +12,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "solax";
|
||||
version = "0.2.7";
|
||||
version = "0.2.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-02cIOIow+eHBgYa7Dnl7b31j3I8WRxGuTpwHFKL4XYQ=";
|
||||
sha256 = "sha256-bOpDrbRbdsb4XgEksAQG4GE26XSTwGAECq9Fh//zoYc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools-scm ];
|
||||
|
|
|
@ -328,6 +328,7 @@ let
|
|||
RSclient = [ pkgs.openssl.dev ];
|
||||
Rserve = [ pkgs.openssl ];
|
||||
Rssa = [ pkgs.fftw.dev ];
|
||||
rsvg = [ pkgs.pkg-config ];
|
||||
runjags = [ pkgs.jags ];
|
||||
RVowpalWabbit = [ pkgs.zlib.dev pkgs.boost ];
|
||||
rzmq = [ pkgs.zeromq pkgs.pkg-config ];
|
||||
|
@ -450,6 +451,7 @@ let
|
|||
glmnet = [ pkgs.libiconv ];
|
||||
mvtnorm = [ pkgs.libiconv ];
|
||||
statmod = [ pkgs.libiconv ];
|
||||
rsvg = [ pkgs.librsvg.dev ];
|
||||
};
|
||||
|
||||
packagesRequireingX = [
|
||||
|
|
|
@ -3,19 +3,21 @@
|
|||
, fetchFromGitHub
|
||||
, protobuf
|
||||
, git
|
||||
, testVersion
|
||||
, buf
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "buf";
|
||||
version = "0.50.0";
|
||||
version = "0.51.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bufbuild";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Kg3p6BsYrIGn16VQ87TQwa7B+YVEq6oCSd3Je2A6NC8=";
|
||||
sha256 = "sha256-iFSmanP+2PgmOXtubDdLfa+AIQSAWHFNpyB1IP6IF5I=";
|
||||
};
|
||||
vendorSha256 = "sha256-0vvDzs4LliEm202tScmzL+riL3FqHdvawhzU0lPkRew=";
|
||||
vendorSha256 = "sha256-0rVHINb04GZlH6DSjMt/h7UdNtZJERAyO1S99rAxUyY=";
|
||||
|
||||
patches = [
|
||||
# Skip a test that requires networking to be available to work.
|
||||
|
@ -54,13 +56,7 @@ buildGoModule rec {
|
|||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
$out/bin/buf --help
|
||||
$out/bin/buf --version 2>&1 | grep "${version}"
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
passthru.tests.version = testVersion { package = buf; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://buf.build";
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "sqlfluff";
|
||||
version = "0.6.2";
|
||||
version = "0.6.3";
|
||||
disabled = python3.pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-N1ZIm5LsKXXu3CyqFJZd7biaIhVW1EMBLKajgSAwc0g=";
|
||||
sha256 = "sha256-rGtaxa75cFv7LjRI5yuTgKW7F2t8llejcrnjKlUdyEY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "golangci-lint";
|
||||
version = "1.41.1";
|
||||
version = "1.42.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "golangci";
|
||||
repo = "golangci-lint";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7xokU2uw7oiXhirTKuNfqJ143PlnI7M1zSixT0S6jtE=";
|
||||
sha256 = "sha256-xwJZfWDtA/6HkYZmGyhL/44xU8qLmJ2kk3Uqft0yivE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-s0ZFQJIhF23FtLol1Gegljf6eyGkCmVxTKmHbQBtPvM=";
|
||||
vendorSha256 = "sha256-lOVGyxQcWG99hO+Eff2cNA5gW4DhsDrBY5Ejj0s4v4Q=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -1,19 +1,16 @@
|
|||
{ lib, stdenv, kernel, fetchFromGitHub, autoreconfHook, bison, flex, p7zip, rsync }:
|
||||
|
||||
assert kernel != null -> lib.versionAtLeast kernel.version "4.0";
|
||||
|
||||
let
|
||||
version = "1.0.beta1-9e810b1";
|
||||
in stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ply";
|
||||
inherit version;
|
||||
version = "2.1.1-${lib.substring 0 7 src.rev}";
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook flex bison p7zip rsync ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "iovisor";
|
||||
repo = "ply";
|
||||
rev = "9e810b157ba079c32c430a7d4c6034826982056e";
|
||||
sha256 = "15cp6iczawaqlhsa0af6i37zn5iq53kh6ya8s2hzd018yd7mhg50";
|
||||
rev = "e25c9134b856cc7ffe9f562ff95caf9487d16b59";
|
||||
sha256 = "1178z7vvnjwnlxc98g2962v16878dy7bd0b2njsgn4vqgrnia7i5";
|
||||
};
|
||||
|
||||
preAutoreconf = ''
|
||||
|
@ -34,9 +31,10 @@ in stdenv.mkDerivation {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "dynamic Tracing in Linux";
|
||||
description = "Dynamic tracing in Linux";
|
||||
homepage = "https://wkz.github.io/ply/";
|
||||
license = [ licenses.gpl2 ];
|
||||
license = [ licenses.gpl2Only ];
|
||||
maintainers = with maintainers; [ mic92 mbbx6spp ];
|
||||
broken = lib.versionOlder kernel.version "4.0";
|
||||
};
|
||||
}
|
||||
|
|
30
pkgs/tools/misc/mdr/default.nix
Normal file
30
pkgs/tools/misc/mdr/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ lib, fetchFromGitHub, buildGoModule }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mdr";
|
||||
version = "0.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MichaelMure";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ibM3303pXnseAFP9qFTOzj0G/SxRPX+UeRfbJ+MCABk=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-5jzU4EybEGKoEXCFhnu7z4tFRS9fgf2wJXhkvigRM0E=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.GitCommit=${src.rev}"
|
||||
"-X main.GitLastTag=${version}"
|
||||
"-X main.GitExactTag=${version}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "MarkDown Renderer for the terminal";
|
||||
homepage = "https://github.com/MichaelMure/mdr";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
};
|
||||
}
|
|
@ -1,14 +1,14 @@
|
|||
{ lib, stdenv, fetchFromGitHub, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.9.17";
|
||||
version = "0.9.18";
|
||||
pname = "smenu";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "p-gen";
|
||||
repo = "smenu";
|
||||
rev = "v${version}";
|
||||
sha256 = "1p8y1fgrfb7jxmv5ycvvnqaz7ghdi50paisgzk71169fqwp1crfa";
|
||||
sha256 = "sha256-8ALY3dsUEJxGsDnYTOxNAmJbwmmZIV8GuHjNg0vPFUQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses ];
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.10.2";
|
||||
version = "4.11.0";
|
||||
pname = "sleuthkit";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sleuthkit";
|
||||
repo = "sleuthkit";
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "sha256-N0/spV/Bxk/UNULPot82Vw1uTIxy/Arf84wqUp6W2Tc=";
|
||||
sha256 = "sha256-cY55zK6N3tyCLBJtZn4LhK9kLkikJjg640Pm/NA0ALY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,48 +1,92 @@
|
|||
{ lib, stdenv, fetchurl, dpkg }:
|
||||
{ lib, stdenv, fetchsvn, fetchFromGitHub, fpc }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
flreSrc = fetchFromGitHub {
|
||||
owner = "benibela";
|
||||
repo = "flre";
|
||||
rev = "5aa8a9e032feff7a5790104f2d53fa74c70bb1d9"; # latest as of 0.9.8 release date
|
||||
sha256 = "1zny494jm92fjgfirzwmxff988j4yygblaxmaclkkmcvzkjrzs05";
|
||||
};
|
||||
synapseSrc = fetchsvn {
|
||||
url = "http://svn.code.sf.net/p/synalist/code/synapse/40/";
|
||||
rev = 237;
|
||||
sha256 = "0ciqd2xgpinwrk42cpyinh9gz2i5s5rlww4mdlsca1h6saivji96";
|
||||
};
|
||||
rcmdlineSrc = fetchFromGitHub {
|
||||
owner = "benibela";
|
||||
repo = "rcmdline";
|
||||
rev = "96859e574e82d76eae49d5552a8c5aa7574a5987"; # latest as of 0.9.8 release date
|
||||
sha256 = "0vwvpwrxsy9axicbck143yfxxrdifc026pv9c2lzqxzskf9fd78b";
|
||||
};
|
||||
internettoolsSrc = fetchFromGitHub {
|
||||
owner = "benibela";
|
||||
repo = "internettools";
|
||||
rev = "c9c5cc3a87271180d4fb5bb0b17040763d2cfe06"; # latest as of 0.9.8 release date
|
||||
sha256 = "057hn7cb1vy827gvim3b6vwgfdh2ckjy8h9yj1ry7lv6hw8ynx6n";
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "xidel";
|
||||
version = "0.9.6";
|
||||
version = "0.9.8";
|
||||
|
||||
## Source archive lacks file (manageUtils.sh), using pre-built package for now.
|
||||
#src = fetchurl {
|
||||
# url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/${name}.src.tar.gz";
|
||||
# sha256 = "1h5xn16lgzx0s94iyhxa50lk05yf0af44nzm5w5k57615nd82kz2";
|
||||
#};
|
||||
src = fetchFromGitHub {
|
||||
owner = "benibela";
|
||||
repo = pname;
|
||||
rev = "Xidel_${version}";
|
||||
sha256 = "0q75jjyciybvj6y17s2283zis9fcw8w5pfsq8bn7diinnbjnzgl6";
|
||||
};
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_amd64.deb";
|
||||
sha256 = "0hskc74y7p4j1x33yx0w4fvr610p2yimas8pxhr6bs7mb9b300h7";
|
||||
}
|
||||
else if stdenv.hostPlatform.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_i386.deb";
|
||||
sha256 = "07yk5sk1p4jm0jmgjwdm2wq8d2wybi1wkn1qq5j5y03z1pdc3fi6";
|
||||
}
|
||||
else throw "xidel is not supported on ${stdenv.hostPlatform.system}";
|
||||
nativeBuildInputs = [ fpc ];
|
||||
|
||||
buildInputs = [ dpkg ];
|
||||
|
||||
unpackPhase = ''
|
||||
dpkg-deb -x ${src} ./
|
||||
patchPhase = ''
|
||||
patchShebangs \
|
||||
build.sh \
|
||||
tests/test.sh \
|
||||
tests/tests-file-module.sh \
|
||||
tests/tests.sh \
|
||||
tests/downloadTest.sh \
|
||||
tests/downloadTests.sh \
|
||||
tests/zorbajsoniq.sh \
|
||||
tests/zorbajsoniq/download.sh
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
preBuildPhase = ''
|
||||
mkdir -p import/{flre,synapse} rcmdline internettools
|
||||
cp -R ${flreSrc}/. import/flre
|
||||
cp -R ${synapseSrc}/. import/synapse
|
||||
cp -R ${rcmdlineSrc}/. rcmdline
|
||||
cp -R ${internettoolsSrc}/. internettools
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuildPhase
|
||||
./build.sh
|
||||
runHook postBuildPhase
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
cp -a usr/* "$out/"
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/bin/xidel"
|
||||
mkdir -p "$out/bin" "$out/share/man/man1"
|
||||
cp meta/xidel.1 "$out/share/man/man1/"
|
||||
cp xidel "$out/bin/"
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
# Not all, if any, of these tests are blockers. Failing or not this phase will pass.
|
||||
# As of 2021-08-15, all of 37 failed tests are linked with the lack of network access.
|
||||
./tests/tests.sh
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
$out/bin/xidel --version | grep "${version}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line tool to download and extract data from html/xml pages";
|
||||
homepage = "http://videlibri.sourceforge.net/xidel.html";
|
||||
# source contains no license info (AFAICS), but sourceforge says GPLv2
|
||||
license = licenses.gpl2;
|
||||
# more platforms will be supported when we switch to source build
|
||||
description = "Command line tool to download and extract data from HTML/XML pages as well as JSON APIs";
|
||||
homepage = "https://www.videlibri.de/xidel.html";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
|
|
|
@ -1674,6 +1674,8 @@ with pkgs;
|
|||
|
||||
lsix = callPackage ../tools/graphics/lsix { };
|
||||
|
||||
mdr = callPackage ../tools/misc/mdr { };
|
||||
|
||||
mpdevil = callPackage ../applications/audio/mpdevil { };
|
||||
|
||||
pacparser = callPackage ../tools/networking/pacparser { };
|
||||
|
|
|
@ -6,37 +6,32 @@
|
|||
# Enable recursion into attribute sets that nix-env normally doesn't look into
|
||||
# so that we can get a more complete picture of the available packages for the
|
||||
# purposes of the index.
|
||||
packageOverrides = super:
|
||||
let
|
||||
recurseIntoAttrs = sets:
|
||||
super.lib.genAttrs
|
||||
(builtins.filter (set: builtins.hasAttr set super) sets)
|
||||
(set: super.recurseIntoAttrs (builtins.getAttr set super));
|
||||
in recurseIntoAttrs [
|
||||
"roundcubePlugins"
|
||||
"emscriptenfastcompPackages"
|
||||
"fdbPackages"
|
||||
"nodePackages_latest"
|
||||
"nodePackages"
|
||||
"platformioPackages"
|
||||
"haskellPackages"
|
||||
"idrisPackages"
|
||||
"sconsPackages"
|
||||
"gns3Packages"
|
||||
"quicklispPackagesClisp"
|
||||
"quicklispPackagesSBCL"
|
||||
"rPackages"
|
||||
"apacheHttpdPackages_2_4"
|
||||
"zabbix50"
|
||||
"zabbix40"
|
||||
"zabbix30"
|
||||
"fusePackages"
|
||||
"nvidiaPackages"
|
||||
"sourceHanPackages"
|
||||
"atomPackages"
|
||||
"emacs27.pkgs"
|
||||
"steamPackages"
|
||||
"ut2004Packages"
|
||||
"zeroadPackages"
|
||||
];
|
||||
packageOverrides = super: with super; lib.mapAttrs (_: set: recurseIntoAttrs set) {
|
||||
inherit (super)
|
||||
apacheHttpdPackages
|
||||
atomPackages
|
||||
fdbPackages
|
||||
fusePackages
|
||||
gns3Packages
|
||||
haskellPackages
|
||||
idrisPackages
|
||||
nodePackages
|
||||
nodePackages_latest
|
||||
platformioPackages
|
||||
quicklispPackagesClisp
|
||||
quicklispPackagesSBCL
|
||||
rPackages
|
||||
roundcubePlugins
|
||||
sconsPackages
|
||||
sourceHanPackages
|
||||
steamPackages
|
||||
ut2004Packages
|
||||
zabbix40
|
||||
zabbix50
|
||||
zeroadPackages
|
||||
;
|
||||
|
||||
# This is an alias which we disallow by default; explicitly allow it
|
||||
emacs27Packages = emacs27.pkgs;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue