Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-02-09 00:36:17 +00:00 committed by GitHub
commit 5704fd1095
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 509 additions and 295 deletions

View file

@ -9,7 +9,15 @@ Platform-specific code is in the respective default.nix files.
{ config, lib, options, pkgs, ... }:
let
inherit (lib) mkOption mkIf types filterAttrs literalExample mkRenamedOptionModule;
inherit (lib)
filterAttrs
literalExample
mkIf
mkOption
mkRemovedOptionModule
mkRenamedOptionModule
types
;
cfg =
config.services.hercules-ci-agent;
@ -77,10 +85,11 @@ let
};
};
# TODO (2022) remove
checkNix =
if !cfg.checkNix
then ""
else if lib.versionAtLeast config.nix.package.version "2.4.0"
else if lib.versionAtLeast config.nix.package.version "2.3.10"
then ""
else pkgs.stdenv.mkDerivation {
name = "hercules-ci-check-system-nix-src";
@ -88,23 +97,12 @@ let
configurePhase = ":";
buildPhase = ''
echo "Checking in-memory pathInfoCache expiry"
if ! grep 'struct PathInfoCacheValue' src/libstore/store-api.hh >/dev/null; then
if ! grep 'PathInfoCacheValue' src/libstore/store-api.hh >/dev/null; then
cat 1>&2 <<EOF
You are deploying Hercules CI Agent on a system with an incompatible
nix-daemon. Please
- either upgrade Nix to version 2.4.0 (when released),
- or set option services.hercules-ci-agent.patchNix = true;
- or set option nix.package to a build of Nix 2.3 with this patch applied:
https://github.com/NixOS/nix/pull/3405
The patch is required for Nix-daemon clients that expect a change in binary
cache contents while running, like the agent's evaluator. Without it, import
from derivation will fail if your cluster has more than one machine.
We are conservative with changes to the overall system, which is why we
keep changes to a minimum and why we ask for confirmation in the form of
services.hercules-ci-agent.patchNix = true before applying.
nix-daemon. Please make sure nix.package is set to a Nix version of at
least 2.3.10 or a master version more recent than Mar 12, 2020.
EOF
exit 1
fi
@ -112,26 +110,13 @@ let
installPhase = "touch $out";
};
patchedNix = lib.mkIf (!lib.versionAtLeast pkgs.nix.version "2.4.0") (
if lib.versionAtLeast pkgs.nix.version "2.4pre"
then lib.warn "Hercules CI Agent module will not patch 2.4 pre-release. Make sure it includes (equivalently) PR #3043, commit d048577909 or is no older than 2020-03-13." pkgs.nix
else pkgs.nix.overrideAttrs (
o: {
patches = (o.patches or []) ++ [ backportNix3398 ];
}
)
);
backportNix3398 = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/hercules-ci/hercules-ci-agent/hercules-ci-agent-0.7.3/for-upstream/issue-3398-path-info-cache-ttls-backport-2.3.patch";
sha256 = "0jfckqjir9il2il7904yc1qyadw366y7xqzg81sp9sl3f1pw70ib";
};
in
{
imports = [
(mkRenamedOptionModule ["services" "hercules-ci-agent" "extraOptions"] ["services" "hercules-ci-agent" "settings"])
(mkRenamedOptionModule ["services" "hercules-ci-agent" "baseDirectory"] ["services" "hercules-ci-agent" "settings" "baseDirectory"])
(mkRenamedOptionModule ["services" "hercules-ci-agent" "concurrentTasks"] ["services" "hercules-ci-agent" "settings" "concurrentTasks"])
(mkRemovedOptionModule ["services" "hercules-ci-agent" "patchNix"] "Nix versions packaged in this version of Nixpkgs don't need a patched nix-daemon to work correctly in Hercules CI Agent clusters.")
];
options.services.hercules-ci-agent = {
@ -147,15 +132,6 @@ in
Support is available at <link xlink:href="mailto:help@hercules-ci.com">help@hercules-ci.com</link>.
'';
};
patchNix = mkOption {
type = types.bool;
default = false;
description = ''
Fix Nix 2.3 cache path metadata caching behavior. Has the effect of <literal>nix.package = patch pkgs.nix;</literal>
This option will be removed when Hercules CI Agent moves to Nix 2.4 (upcoming Nix release).
'';
};
checkNix = mkOption {
type = types.bool;
default = true;
@ -206,7 +182,6 @@ in
# even shortly after the previous lookup. This *also* applies to the daemon.
narinfo-cache-negative-ttl = 0
'';
nix.package = mkIf cfg.patchNix patchedNix;
services.hercules-ci-agent.tomlFile =
format.generate "hercules-ci-agent.toml" cfg.settings;
};

View file

@ -87,6 +87,7 @@ in
NoNewPrivileges = true;
NonBlocking = true;
PrivateDevices = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
@ -107,8 +108,13 @@ in
SystemCallFilter = [
"@system-service"
"@chown"
"~@aio"
"~@keyring"
"~@memlock"
"~@resources"
"@privileged"
"~@setuid"
"~@sync"
"~@timer"
];
};
};

View file

@ -3,16 +3,16 @@
rustPlatform.buildRustPackage rec {
pname = "clipcat";
version = "0.4.19";
version = "0.5.0";
src = fetchFromGitHub {
owner = "xrelkd";
repo = pname;
rev = "v${version}";
sha256 = "1lhnm521qqy3aw2iyk1dv4yc5ms0c5x5iipx96bz6v6y0cnmf4kw";
sha256 = "0rxl3ksjinw07q3p2vjqg80k3c6wx2q7pzpf2344zyfb4gkqzx1c";
};
cargoSha256 = "04iflyvz8g53z658rkxafiyi2m9kzxwl3p1xgkjq7vacmz5jk15c";
cargoSha256 = "1ffgvhkdj8wkhlgi0cj0njdm9ycxq2qda4b5qn8bmaygzr2zkwpd";
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
@ -38,26 +38,15 @@ rustPlatform.buildRustPackage rec {
cargoBuildFlags = [ "--features=all" ];
postInstall = ''
installShellCompletion --bash --name clipcatd completions/bash-completion/completions/clipcatd
installShellCompletion --fish --name clipcatd.fish completions/fish/completions/clipcatd.fish
installShellCompletion --zsh --name _clipcatd completions/zsh/site-functions/_clipcatd
installShellCompletion --bash --name clipcatctl completions/bash-completion/completions/clipcatctl
installShellCompletion --fish --name clipcatctl.fish completions/fish/completions/clipcatctl.fish
installShellCompletion --zsh --name _clipcatctl completions/zsh/site-functions/_clipcatctl
installShellCompletion --bash --name clipcat-menu completions/bash-completion/completions/clipcat-menu
installShellCompletion --fish --name clipcat-menu.fish completions/fish/completions/clipcat-menu.fish
installShellCompletion --zsh --name _clipcat-menu completions/zsh/site-functions/_clipcat-menu
installShellCompletion --bash --name clipcat-notify completions/bash-completion/completions/clipcat-notify
installShellCompletion --fish --name clipcat-notify.fish completions/fish/completions/clipcat-notify.fish
installShellCompletion --zsh --name _clipcat-notify completions/zsh/site-functions/_clipcat-notify
installShellCompletion --bash completions/bash-completion/completions/*
installShellCompletion --fish completions/fish/completions/*
installShellCompletion --zsh completions/zsh/site-functions/*
'';
meta = with lib; {
description = "Clipboard Manager written in Rust Programming Language";
license = licenses.gpl3;
homepage = "https://github.com/xrelkd/clipcat";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ xrelkd ];
};

View file

@ -19,16 +19,16 @@ let
maintainers = with maintainers; [ emmanuelrosa dtzWill ];
};
version = "0.43.3";
version = "0.43.4";
desktopSource = {
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
sha256 = "1k9vcs7pwa89bzivqp0gfs45jzqw216fpypg3ja4n2dzn4qkv2as";
sha256 = "0kjysam5alsmnj93fcqq1ivawnra42gn7dch99rrfmvbkxp7hhr8";
};
serverSource = {
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
sha256 = "1n3v7wdav6mvgcy72mmfhncsa74i0ax1ij5rjczgfjjyiyc5y0rk";
sha256 = "128mvmp15mjpb5ipkmr0yn7ahby26shbix3f8q094f4zpxjp83zx";
};
in {

View file

@ -1,6 +1,6 @@
source $stdenv/setup
(echo '#!/usr/bin/env sh'; \
(echo "#!$SHELL"; \
echo 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$@"') > ssh
chmod +x ssh
export CVS_RSH=$PWD/ssh

View file

@ -1,26 +1,16 @@
{ stdenv, lib, fetchurl, fetchpatch }:
{ stdenv, lib, fetchurl }:
stdenv.mkDerivation rec {
pname = "libhugetlbfs";
version = "2.22";
version = "2.23";
src = fetchurl {
url = "https://github.com/libhugetlbfs/libhugetlbfs/releases/download/${version}/libhugetlbfs-${version}.tar.gz";
sha256 = "11b7k8xvgx68rjzidm12a6l6b23hwi7hj149y9xxfz2j5kmakp4l";
sha256 = "0ya4q001g111d3pqlzrf3yaifadl0ccirx5dndz1pih7x3qp41mp";
};
outputs = [ "bin" "dev" "man" "doc" "lib" "out" ];
patches = [
# Don't check that 32-bit and 64-bit libraries don't get installed
# to the same place if only one platform is being built for.
# Can be removed if build succeeds without it.
(fetchpatch {
url = "https://groups.google.com/forum/message/raw?msg=libhugetlbfs/IswjDAygfwA/PKy7MZbVAAAJ";
sha256 = "00fyrhn380d6swil8pcf4x0krl1113ghswrvjn3m9czc3h4p385a";
})
];
postConfigure = ''
patchShebangs ld.hugetlbfs
'';
@ -34,8 +24,8 @@ stdenv.mkDerivation rec {
"LIBDIR64=$(lib)/$(LIB64)"
"EXEDIR=$(bin)/bin"
"DOCDIR=$(doc)/share/doc/libhugetlbfs"
] ++ map (n: "MANDIR${n}=$(man)/share/man/man${n}")
(lib.genList (n: toString (n + 1)) 8);
"MANDIR=$(man)/share/man"
];
# Default target builds tests as well, and the tests want a static
# libc.

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "openxr-loader";
version = "1.0.13";
version = "1.0.14";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "OpenXR-SDK-Source";
rev = "release-${version}";
sha256 = "0znhv7x81bvqijk5xhc5w760d5yy6vr5c2y271wpk9lkmxbbcpl1";
sha256 = "sha256-ZmaxHm4MPd2q83PLduoavoynqRPEI79IpMfW32gkV14=";
};
nativeBuildInputs = [ cmake python3 ];

View file

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, pyvex
}:
buildPythonPackage rec {
pname = "ailment";
version = "9.0.5739";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "1fjwksia6h7w7m5zhys65yr4zxvyfgp9hr1k5dn802p9kvz34bpc";
};
propagatedBuildInputs = [ pyvex ];
# Tests depend on angr (possibly a circular dependency)
doCheck = false;
#pythonImportsCheck = [ "ailment" ];
meta = with lib; {
description = "The angr Intermediate Language";
homepage = "https://github.com/angr/ailment";
license = with licenses; [ bsd2 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -7,13 +7,13 @@
buildPythonPackage rec {
pname = "archinfo";
version = "9.0.5610";
version = "9.0.5739";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-YlqCRLx8mqHXMKPCWqcGvHxRBGOxbwMZWPEDX/jEDdI=";
sha256 = "sha256-6qjX0r2vLYgJdrKBVKedplfa1yhWv9tBvTu5BsViXBc=";
};
checkInputs = [

View file

@ -1,35 +1,69 @@
{ lib, stdenv
{ autoPatchelfHook
, buildPythonPackage
, cmake
, fetchPypi
, cython
, fetchFromGitHub
, h3
, python
, lib
, numpy
, pytestCheckHook
, scikit-build
, stdenv
}:
buildPythonPackage rec {
pname = "h3";
version = "3.7.0";
version = "3.7.1";
src = fetchPypi {
inherit pname version;
sha256 = "cd27fc8ecd9183f93934079b7c986401f499030ff2e2171eace9de462fab561d";
# pypi version does not include tests
src = fetchFromGitHub {
owner = "uber";
repo = "h3-py";
rev = "v${version}";
sha256 = "sha256-MIVV3kZGsIsaJ/ccJOK3+j1VwkUsZGHS5d1sGOBa1Ec=";
};
patches = [
./disable-custom-install.patch
./hardcode-h3-path.patch
dontConfigure = true;
checkInputs = [ pytestCheckHook ];
nativeBuildInputs = [
scikit-build cmake cython
] ++ lib.optionals stdenv.hostPlatform.isLinux [
# On Linux the .so files ends up referring to libh3.so instead of the full
# Nix store path. I'm not sure why this is happening! On Darwin it works
# fine.
autoPatchelfHook
];
preBuild = ''
substituteInPlace h3/h3.py \
--subst-var-by libh3_path ${h3}/lib/libh3${stdenv.hostPlatform.extensions.sharedLibrary}
'';
# This is not needed per-se, it's only added for autoPatchelfHook to work
# correctly. See the note above ^^
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ h3 ];
propagatedBuildInputs = [ numpy ];
# The following prePatch replaces the h3lib compilation with using the h3 packaged in nixpkgs.
#
# - Remove the h3lib submodule.
# - Patch CMakeLists to avoid building h3lib, and use h3 instead.
prePatch =
let
cmakeCommands = ''
include_directories(${h3}/include/h3)
link_directories(${h3}/lib)
'';
in ''
rm -r src/h3lib
substituteInPlace CMakeLists.txt --replace "add_subdirectory(src/h3lib)" "${cmakeCommands}"
'';
# Extra check to make sure we can import it from Python
pythonImportsCheck = [ "h3" ];
meta = with lib; {
homepage = "https://github.com/uber/h3-py";
description = "This library provides Python bindings for the H3 Core Library.";
description = "Hierarchical hexagonal geospatial indexing system";
license = licenses.asl20;
platforms = platforms.unix ++ platforms.darwin;
maintainers = [ maintainers.kalbasit ];
};
}

View file

@ -1,41 +0,0 @@
diff --git a/setup.py b/setup.py
index 8e1c220..45297b6 100644
--- a/setup.py
+++ b/setup.py
@@ -25,20 +25,6 @@ class CustomBuildExtCommand(build_ext):
install_h3(h3_version)
-# Tested with wheel v0.29.0
-class BinaryDistribution(Distribution):
- def __init__(self, attrs=None):
- Distribution.__init__(self, attrs)
- # The values used for the name and sources in the Extension below are
- # not important, because we override the build_ext command above.
- # The normal C extension building logic is never invoked, and is
- # replaced with our own custom logic. However, ext_modules cannot be
- # empty, because this signals to other parts of distutils that our
- # package contains C extensions and thus needs to be built for
- # different platforms separately.
- self.ext_modules = [Extension('h3c', [])]
-
-
long_description = open('README.rst').read()
setup(
@@ -52,14 +38,10 @@ setup(
url='https://github.com/uber/h3-py.git',
packages=find_packages(exclude=['tests', 'tests.*']),
install_requires=[],
- cmdclass={
- 'build_ext': CustomBuildExtCommand,
- },
package_data={
'h-py':
['out/*.dylib' if platform.system() == 'Darwin' else (
'out/*.dll' if platform.system() == 'Windows' else
'out/*.so.*')]
},
- license='Apache License 2.0',
- distclass=BinaryDistribution)
+ license='Apache License 2.0')

View file

@ -1,19 +0,0 @@
diff --git a/h3/h3.py b/h3/h3.py
index 18cf168..2cc7812 100644
--- a/h3/h3.py
+++ b/h3/h3.py
@@ -34,13 +34,7 @@ from ctypes import (
POINTER,
)
-_dirname = os.path.dirname(__file__)
-libh3_path = ('{}/{}'.format(_dirname, 'out/libh3.1.dylib')
- if platform.system() == 'Darwin' else (
- '{}/{}'.format(_dirname, 'out/h3.dll') if platform.system() == 'Windows' else
- '{}/{}'.format(_dirname, 'out/libh3.so.1')))
-
-libh3 = cdll.LoadLibrary(libh3_path)
+libh3 = cdll.LoadLibrary('@libh3_path@')
# Type of an H3 index
H3Index = c_ulonglong

View file

@ -0,0 +1,47 @@
{ lib
, buildPythonPackage
, fetchPypi
, netifaces
, paho-mqtt
, pycryptodome
, requests
, six
, zeroconf
}:
buildPythonPackage rec {
pname = "libpurecool";
version = "0.6.4";
src = fetchPypi {
inherit pname version;
sha256 = "1kwbinbg0i4fca1bpx6jwa1fiw71vg0xa89jhq4pmnl5cn9c8kqx";
};
# Remove vendorized zeroconf, https://github.com/etheralm/libpurecool/issues/33
postPatch = ''
rm libpurecool/zeroconf.py
substituteInPlace libpurecool/dyson_pure_cool_link.py \
--replace "from .zeroconf import ServiceBrowser, Zeroconf" "from zeroconf import ServiceBrowser, Zeroconf"
'';
propagatedBuildInputs = [
netifaces
paho-mqtt
pycryptodome
requests
six
zeroconf
];
# Tests are only present in repo, https://github.com/etheralm/libpurecool/issues/36
doCheck = false;
pythonImportsCheck = [ "libpurecool" ];
meta = with lib; {
description = "Python library for Dyson devices";
homepage = "http://libpurecool.readthedocs.io";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -49,6 +49,5 @@ buildPythonPackage rec {
homepage = "https://github.com/multiformats/py-multihash";
license = licenses.mit;
maintainers = with maintainers; [ rakesh4g ];
broken = true; # no longer compatible with base58, no updates in 5 years. Added 2020-11-05
};
}

View file

@ -0,0 +1,39 @@
{ lib
, archinfo
, bitstring
, fetchPypi
, cffi
, buildPythonPackage
, future
, pycparser
}:
buildPythonPackage rec {
pname = "pyvex";
version = "9.0.5739";
src = fetchPypi {
inherit pname version;
sha256 = "1jwxxw2kw7wkz7kh8m8vbavzw6m5k6xph7mazfn3k2qbsshh3lk3";
};
propagatedBuildInputs = [
archinfo
bitstring
cffi
future
pycparser
];
# No tests are available on PyPI, GitHub release has tests
# Switch to GitHub release after all angr parts are present
doCheck = false;
pythonImportsCheck = [ "pyvex" ];
meta = with lib; {
description = "Python interface to libVEX and VEX IR";
homepage = "https://github.com/angr/pyvex";
license = with licenses; [ bsd2 gpl3Plus lgpl3Plus ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -15,12 +15,12 @@
buildPythonPackage rec {
pname = "sqlite-utils";
version = "3.3";
version = "3.4.1";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "1linla3za1gb3w0n0k6h3q8in62qhipizff259p14gzmyr95rjjv";
sha256 = "sha256-LJuvUTbsL2anQENEuW1oaSUsMEiXnSgLEAhZ6EP5bNs=";
};
propagatedBuildInputs = [

View file

@ -0,0 +1,50 @@
{ stdenv, lib, fetchzip, substituteAll, bash, jre }:
stdenv.mkDerivation rec {
pname = "bonnmotion";
version = "3.0.1";
src = fetchzip {
url = "https://sys.cs.uos.de/bonnmotion/src/bonnmotion-${version}.zip";
sha256 = "16bjgr0hy6an892m5r3x9yq6rqrl11n91f9rambq5ik1cxjqarxw";
};
patches = [
# The software has a non-standard install bash script which kind of works.
# However, to make it fully functional, the automatically detection of the
# program paths must be substituted with full paths.
(substituteAll {
src = ./install.patch;
inherit bash jre;
})
];
installPhase = ''
runHook preInstall
./install
mkdir -p $out/bin $out/share/bonnmotion
cp -r ./classes ./lib $out/share/bonnmotion/
cp ./bin/bm $out/bin/
substituteInPlace $out/bin/bm \
--replace /build/source $out/share/bonnmotion
runHook postInstall
'';
meta = with lib; {
description = "A mobility scenario generation and analysis tool";
longDescription = ''
BonnMotion is a Java software which creates and analyzes mobility
scenarios and is most commonly used as a tool for the investigation of
mobile ad hoc network characteristics. The scenarios can also be exported
for several network simulators, such as ns-2, ns-3, GloMoSim/QualNet,
COOJA, MiXiM, and ONE.
'';
homepage = "https://sys.cs.uos.de/bonnmotion/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ oxzi ];
};
}

View file

@ -0,0 +1,75 @@
diff --git a/install b/install
index 95afa2c..70c5fca 100755
--- a/install
+++ b/install
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!@bash@/bin/bash
echo "BonnMotion - a mobility scenario generation and analysis tool"
echo "Copyright (C) 2002-2012 University of Bonn"
@@ -19,28 +19,11 @@ echo "along with this program; if not, write to the Free Software"
echo "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
echo
-OS=`uname -s | tr A-Z a-z | sed -e s/_.\*//`
-
PACKAGE=edu.bonn.cs.iv.bonnmotion
-JAVAPATH=`which java 2> /dev/null`
-if [ ! "$JAVAPATH" = "" ]
-then
- JAVAPATH=`dirname ${JAVAPATH}`
-fi
-echo -n Please enter your Java binary path \[$JAVAPATH\]:\
-read KBDENTRY
-if [ ! "$KBDENTRY" = "" ]
-then
- JAVAPATH=$KBDENTRY
-fi
+JAVAPATH="@jre@/bin"
if [ -x "${JAVAPATH}/java" ]
then
- cd `dirname $0`
- BONNMOTION=`pwd`
-
- cd "${JAVAPATH}"
- JAVAPATH=`pwd`
- cd "${BONNMOTION}"
+ BONNMOTION="$(realpath .)"
CLASSPATH="${BONNMOTION}/classes"
DOCPATH="${BONNMOTION}/javadoc"
@@ -52,14 +35,7 @@ then
then
mkdir "${DOCPATH}"
fi
- if [ $OS = "cygwin" ]
- then
- cd "${CLASSPATH}"
- CLASSPATH=`cmd.exe /c cd`
- cd "${DOCPATH}"
- DOCPATH=`cmd.exe /c cd`
- fi
-
+
for l in $BONNMOTION/lib/*.jar
do
LIBRARYPATH=$LIBRARYPATH:$l
@@ -69,7 +45,7 @@ then
APPS=`ls`
cd "${BONNMOTION}/bin"
- echo \#\!/bin/bash > .head
+ echo \#\!@bash@/bin/bash > .head
echo >> .head
echo BONNMOTION=\"$BONNMOTION\" >> .head
echo PACKAGE=\"$PACKAGE\" >> .head
@@ -103,8 +79,6 @@ then
fi
echo "done."
echo
- echo "$ ./bin/bm -h"
- ./bm
else
echo No executable \"$JAVAPATH/java\", aborting.
fi

View file

@ -16,14 +16,14 @@
mkDerivation rec {
pname = "ppsspp";
version = "1.10.3";
version = "1.11";
src = fetchFromGitHub {
owner = "hrydgard";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-W41Poq5S+opkasIGYo13SQZWQF1HjfFnH7u9DW5HNA0=";
sha256 = "19948jzqpclf8zfzp3k7s580xfjgqcyfwlcp7x7xj8h8lyypzymx";
};
postPatch = ''

View file

@ -2,12 +2,12 @@
stdenvNoCC.mkDerivation rec {
pname = "firmware-linux-nonfree";
version = "2020-12-18";
version = "2021-02-08";
src = fetchgit {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
rev = lib.replaceStrings ["-"] [""] version;
sha256 = "1rb5b3fzxk5bi6kfqp76q1qszivi0v1kdz1cwj2llp5sd9ns03b5";
sha256 = "0c85cd659312isfz1r87qswsgfhy0rljagcwspnvjljqrh9bsgzq";
};
installFlags = [ "DESTDIR=$(out)" ];
@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation rec {
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "1p7vn2hfwca6w69jhw5zq70w44ji8mdnibm1z959aalax6ndy146";
outputHash = "0l4xsgxdvjffad7a98n42nyqy3ihs6m6hy3qsfkqin9z10413x5n";
meta = with lib; {
description = "Binary firmware collection packaged by kernel.org";

View file

@ -1,26 +1,26 @@
{
"4.14": {
"extra": "-hardened1",
"name": "linux-hardened-4.14.219-hardened1.patch",
"sha256": "0pgpb7phjgil01xbpwqdwyk8k3pv5qlikw4721cmy10aj97plpqw",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.219-hardened1/linux-hardened-4.14.219-hardened1.patch"
"name": "linux-hardened-4.14.220-hardened1.patch",
"sha256": "083jc9lwr8lwxyfk4r39jcncf2g89srd50crj17jw9ysrp1jpyks",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.220-hardened1/linux-hardened-4.14.220-hardened1.patch"
},
"4.19": {
"extra": "-hardened1",
"name": "linux-hardened-4.19.173-hardened1.patch",
"sha256": "19ikdwvp3mjh6cl2anhlpzmk1ha4lw1lf9rmvls7pzc7d1bmlwi0",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.173-hardened1/linux-hardened-4.19.173-hardened1.patch"
"name": "linux-hardened-4.19.174-hardened1.patch",
"sha256": "1ggh7rjqm68gih41a9z2pzm1wm483165lvmigdp604p152157974",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.174-hardened1/linux-hardened-4.19.174-hardened1.patch"
},
"5.10": {
"extra": "-hardened1",
"name": "linux-hardened-5.10.13-hardened1.patch",
"sha256": "1pn6ddkpairsij8p5130h8iwqq65v6ngn0c3pf6rlavy4az1sw82",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.13-hardened1/linux-hardened-5.10.13-hardened1.patch"
"name": "linux-hardened-5.10.14-hardened1.patch",
"sha256": "1l84hmwdkyd1nkby0w7vy9j0jhg866bpiw6hriav208dw2r0binx",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.14-hardened1/linux-hardened-5.10.14-hardened1.patch"
},
"5.4": {
"extra": "-hardened1",
"name": "linux-hardened-5.4.95-hardened1.patch",
"sha256": "04c54xk75gb4p4yfrmjam25jafqz47cqapr38jw2v1plwc98ng4m",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.95-hardened1/linux-hardened-5.4.95-hardened1.patch"
"name": "linux-hardened-5.4.96-hardened1.patch",
"sha256": "05cb303llr2m5ik5f4v5ykr8ycldkrdb8gvjdr02zm8g0as7agil",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.96-hardened1/linux-hardened-5.4.96-hardened1.patch"
}
}

View file

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "4.14.219";
version = "4.14.220";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1p81p2g1dax225mbc704g1yl96i93nq19j9fpkrzr4f066kwmvkm";
sha256 = "1qip0c8nvfximgg4fj9xai741cgvi9f141bsps3zmrryjd796i6h";
};
} // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "4.19.173";
version = "4.19.174";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0pqr8k0kfnaklb31y29xvqdmgn0pak4qd9pl77lsh6pkwqvd5zfj";
sha256 = "1rcy0hfbc3ny52mfrfysknm1q2scqz0g8l28j0qlyw8cx41wgxhg";
};
} // (args.argsOverride or {}))

View file

@ -1,11 +1,11 @@
{ buildPackages, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec {
version = "4.4.255";
version = "4.4.256";
extraMeta.branch = "4.4";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0l45csywd30qrs8gwzjjijr5hwpd5s05rbyrxb37vck78znk0f1g";
sha256 = "1z7vfy4h0mjvv0rcvvpb55x5fl16c6cgpcafz5gpjp0pw1p2lva8";
};
} // (args.argsOverride or {}))

View file

@ -1,11 +1,11 @@
{ buildPackages, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec {
version = "4.9.255";
version = "4.9.256";
extraMeta.branch = "4.9";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "066101fzq5lr1pznw1hwlvsdgqpv8n7b2yi09qpv3xi0r41jvpxg";
sha256 = "15qlv4m56dzv195xjy4yp8qsrkbmv51vwfg0qcm664hkrb4i32y4";
};
} // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.10.13";
version = "5.10.14";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1wp1vy9y50ncwlx5yqgya5gy0vdqgzn0icffg6dzmvjwwc68qs86";
sha256 = "0ahxga1jdgn8kxln0pn8j42qxx0dhrhm9vcpwilyjnwb36gvf9zs";
};
} // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.4.95";
version = "5.4.96";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "0jfl2jwq9z6iymn6sfrdcf9w63nijdzf3ncxc77a5gs6yd2fa2h3";
sha256 = "1q7mz69wzk1ps5770l9bj556qyndiz2frjjsl7pigsy5brlxwa7p";
};
} // (args.argsOverride or {}))

View file

@ -1,8 +1,8 @@
{ stdenv, lib, fetchsvn, linux
, scripts ? fetchsvn {
url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
rev = "17812";
sha256 = "150rh6qakyfzr6afzchf7c05z0dvc39gj0rpfb4ggr7xqpzhxrcc";
rev = "17873";
sha256 = "1r1c8wagbq3cgxys7ylvsg6bnxiky66xgx9l0282zsmnn3gh83l7";
}
, ...
}:

View file

@ -195,7 +195,7 @@
"dwd_weather_warnings" = ps: with ps; [ ]; # missing inputs: dwdwfsapi
"dweet" = ps: with ps; [ ]; # missing inputs: dweepy
"dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
"dyson" = ps: with ps; [ aiohttp-cors zeroconf ]; # missing inputs: libpurecool
"dyson" = ps: with ps; [ aiohttp-cors libpurecool zeroconf ];
"eafm" = ps: with ps; [ aioeafm ];
"ebox" = ps: with ps; [ ]; # missing inputs: pyebox
"ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy

View file

@ -22,6 +22,17 @@ in
fastcgi-cache-purge = throw "fastcgi-cache-purge was renamed to cache-purge";
ngx_aws_auth = throw "ngx_aws_auth was renamed to aws-auth";
akamai-token-validate = {
src = fetchFromGitHub {
name = "akamai-token-validate";
owner = "kaltura";
repo = "nginx-akamai-token-validate-module";
rev = "34fd0c94d2c43c642f323491c4f4a226cd83b962";
sha256 = "0yf34s11vgkcl03wbl6gjngm3p9hs8vvm7hkjkwhjh39vkk2a7cy";
};
inputs = [ pkgs.openssl ];
};
aws-auth = {
src = fetchFromGitHub {
name = "aws-auth";
@ -320,6 +331,17 @@ in
};
};
secure-token = {
src = fetchFromGitHub {
name = "secure-token";
owner = "kaltura";
repo = "nginx-secure-token-module";
rev = "95bdc0d1aca06ea7fe42555f71e65910bd74914d";
sha256 = "19wzck1xzq4kz7nyabcwzlank1k7wi7w2wn2c1mwz374c79g8ggp";
};
inputs = [ pkgs.openssl ];
};
set-misc = {
src = fetchFromGitHub {
name = "set-misc";
@ -472,6 +494,17 @@ in
inputs = [ pkgs.ffmpeg_3 ];
};
vod = {
src = fetchFromGitHub {
name = "vod";
owner = "kaltura";
repo = "nginx-vod-module";
rev = "e46079f51282d5a378e6911714b5f3a533bb7700";
sha256 = "0pzzq4xcq7jg8mxwnz7srj1nczg9ajd1b8q58qlm03lny8nd2hr5";
};
inputs = [ pkgs.ffmpeg_3 pkgs.fdk_aac pkgs.openssl pkgs.libxml2 pkgs.libiconv ];
};
vts = {
src = fetchFromGitHub {
name = "vts";

View file

@ -5,20 +5,29 @@
buildGoModule rec {
pname = "promscale";
version = "0.1.4";
version = "0.2.0";
src = fetchFromGitHub {
owner = "timescale";
repo = pname;
rev = version;
sha256 = "0179sw5zx552y14lr56adxcgas642xvxpqly6y4m9pi33r1gs8lj";
sha256 = "sha256-rXOAAd08NTWFRGnJoAY9xllw6dAA7Xu3qcImIVq9ewE=";
};
vendorSha256 = "sha256:04gzf0siz96ar4qdkcw6daswy14i1zvl7ir200adhw1c5phppab6";
vendorSha256 = "sha256-/woSbtrOI3BVBhh+A2kO1CB1BLzBciwOqvSbGkFeMEU=";
buildFlagsArray = [ "-ldflags=-s -w -X github.com/timescale/promscale/pkg/version.Version=${version} -X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ];
doCheck = false; # Requires access to a docker daemon
doInstallCheck = true;
installCheckPhase = ''
if [[ "$("$out/bin/${pname}" -version)" == "${version}" ]]; then
echo '${pname} smoke check passed'
else
echo '${pname} smoke check failed'
exit 1
fi
'';
meta = with lib; {
description = "An open-source analytical platform for Prometheus metrics";

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "roundcube";
version = "1.4.10";
version = "1.4.11";
src = fetchurl {
url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
sha256 = "03sjvmnrspkiq0w73xvp1w61pcxhv0djrdm3mvs8h0dp9pfc1n53";
sha256 = "sha256-rHMZBwwwX8LIjHcjYFVi2GBwMHMr7ukxzbQJHPBeabc=";
};
patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "scrot";
version = "1.4";
version = "1.5";
src = fetchFromGitHub {
owner = "resurrecting-open-source-projects";
repo = pname;
rev = version;
sha256 = "12xq6glg70icwsvbnfw9gm4dahlbnrc7b6adpd0mpf89h4sj2gds";
sha256 = "sha256-4vguodLnCj0sOBLM4oJXTfX1p8hIo3WTwIuViPtZxHQ=";
};
nativeBuildInputs = [ autoreconfHook autoconf-archive ];

View file

@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
stdenv.mkDerivation rec {
pname = "haproxy";
version = "2.3.4";
version = "2.3.5";
src = fetchurl {
url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
sha256 = "sha256-YBSM3+3WsZxAHbzXXM12pTwgvHbEkDK6Mq+YoKXEle0=";
sha256 = "sha256-eSRTlTC79VWCnH9Yhr4Lf8+NnI/+CGe3AQvrZwq/vks=";
};
buildInputs = [ openssl zlib ]

View file

@ -1,30 +1,23 @@
{ lib, fetchFromGitHub, python3Packages, docutils, fetchpatch }:
{ lib, fetchFromGitHub, python3Packages, docutils }:
python3Packages.buildPythonApplication rec {
pname = "httpie";
version = "2.2.0";
version = "2.4.0";
src = fetchFromGitHub {
owner = "jakubroztocil";
owner = "httpie";
repo = "httpie";
rev = version;
sha256 = "0caazv24jr0844c4mdx77vzwwi5m869n10wa42cydb08ppx1xxj6";
sha256 = "00lafjqg9nfnak0nhcr2l2hzzkwn2y6qv0wdkm6r6f69snizy3hf";
};
patches = [
./strip-venv.patch
];
outputs = [ "out" "doc" "man" ];
propagatedBuildInputs = with python3Packages; [ pygments requests setuptools ];
dontUseSetuptoolsCheck = true;
patches = [
./strip-venv.patch
# Fix `test_ciphers_none_can_be_selected`
# TODO: remove on next release
(fetchpatch {
url = "https://github.com/jakubroztocil/httpie/commit/49e71d252f54871a6bc49cb1cba103d385a543b8.patch";
sha256 = "13b2faf50gimj7f17dlx4gmd8ph8ipgihpzfqbvmfjlbf1v95fsj";
})
];
propagatedBuildInputs = with python3Packages; [ pygments requests requests-toolbelt setuptools ];
checkInputs = with python3Packages; [
mock
@ -70,15 +63,6 @@ python3Packages.buildPythonApplication rec {
toHtml CHANGELOG.rst $docdir/html/CHANGELOG.html
toHtml CONTRIBUTING.rst $docdir/html/CONTRIBUTING.html
# change a few links to the local files
substituteInPlace $docdir/html/index.html \
--replace \
'https://github.com/jakubroztocil/httpie/blob/master/CHANGELOG.rst' \
"CHANGELOG.html" \
--replace \
'https://github.com/jakubroztocil/httpie/blob/master/CONTRIBUTING.rst' \
"CONTRIBUTING.html"
${docutils}/bin/rst2man \
--strip-elements-with-class=no-web \
--title=http \
@ -94,10 +78,14 @@ python3Packages.buildPythonApplication rec {
export PATH=${docutils}/bin:$PATH
'';
meta = {
checkPhase = ''
py.test ./httpie ./tests --doctest-modules --verbose ./httpie ./tests -k 'not test_chunked and not test_verbose_chunked and not test_multipart_chunked and not test_request_body_from_file_by_path_chunked'
'';
meta = with lib; {
description = "A command line HTTP client whose goal is to make CLI human-friendly";
homepage = "https://httpie.org/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ antono relrod schneefux ];
license = licenses.bsd3;
maintainers = with maintainers; [ antono relrod schneefux SuperSandro2000 ];
};
}

View file

@ -1,11 +1,11 @@
diff --git a/tests/test_docs.py b/tests/test_docs.py
index 7a41822..720ecf6 100644
index 340e64d..a6b4dc9 100644
--- a/tests/test_docs.py
+++ b/tests/test_docs.py
@@ -41,12 +41,10 @@ assert filenames
@@ -42,15 +42,10 @@ assert filenames
# HACK: hardcoded paths, venv should be irrelevant, etc.
# TODO: replaces the process with Python code
# TODO: simplify by using the Python API instead of a subprocess
# then we wontt need the paths.
-VENV_BIN = Path(__file__).parent.parent / 'venv/bin'
-VENV_PYTHON = VENV_BIN / 'python'
-VENV_RST2PSEUDOXML = VENV_BIN / 'rst2pseudoxml.py'
@ -13,7 +13,10 @@ index 7a41822..720ecf6 100644
+VENV_RST2PSEUDOXML = 'rst2pseudoxml.py'
-@pytest.mark.skipif(not os.path.exists(VENV_RST2PSEUDOXML), reason='docutils not installed')
-@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(

View file

@ -1,52 +0,0 @@
From 4315b58e0bffedd145cec61f96062292cd98278e Mon Sep 17 00:00:00 2001
From: Pascal Bach <pascal.bach@nextrem.ch>
Date: Thu, 23 Jul 2020 21:37:33 +0200
Subject: [PATCH] Make compatible with pdfminer.six version 20200720
---
setup.py | 2 +-
src/ocrmypdf/pdfinfo/layout.py | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/setup.py b/setup.py
index bd95ed9..d1f4ab1 100644
--- a/setup.py
+++ b/setup.py
@@ -83,7 +83,7 @@ setup(
'cffi >= 1.9.1', # must be a setup and install requirement
'coloredlogs >= 14.0', # strictly optional
'img2pdf >= 0.3.0, < 0.4', # pure Python, so track HEAD closely
- 'pdfminer.six >= 20191110, <= 20200517',
+ 'pdfminer.six >= 20191110, <= 20200720',
'pikepdf >= 1.14.0, < 2',
'Pillow >= 7.0.0',
'pluggy >= 0.13.0',
diff --git a/src/ocrmypdf/pdfinfo/layout.py b/src/ocrmypdf/pdfinfo/layout.py
index 98bd82e..8b41e14 100644
--- a/src/ocrmypdf/pdfinfo/layout.py
+++ b/src/ocrmypdf/pdfinfo/layout.py
@@ -26,7 +26,11 @@ import pdfminer.pdfdevice
import pdfminer.pdfinterp
from pdfminer.converter import PDFLayoutAnalyzer
from pdfminer.layout import LAParams, LTChar, LTPage, LTTextBox
-from pdfminer.pdfdocument import PDFTextExtractionNotAllowed
+try:
+ from pdfminer.pdfdocument import PDFTextExtractionNotAllowedError
+except ImportError:
+ # Fallback for pdfminer < 20200720
+ from pdfminer.pdfdocument import PDFTextExtractionNotAllowed as PDFTextExtractionNotAllowedError
from pdfminer.pdffont import PDFSimpleFont, PDFUnicodeNotDefined
from pdfminer.pdfpage import PDFPage
from pdfminer.utils import bbox2str, matrix2str
@@ -239,7 +243,7 @@ def get_page_analysis(infile, pageno, pscript5_mode):
with Path(infile).open('rb') as f:
page = PDFPage.get_pages(f, pagenos=[pageno], maxpages=0)
interp.process_page(next(page))
- except PDFTextExtractionNotAllowed:
+ except PDFTextExtractionNotAllowedError:
raise EncryptedPdfError()
finally:
if pscript5_mode:
--
2.27.0

View file

@ -7,7 +7,8 @@
, python3
, python3Packages
, qpdf
, lib, stdenv
, lib
, stdenv
, tesseract4
, unpaper
, substituteAll
@ -29,18 +30,17 @@ let
in
buildPythonApplication rec {
pname = "ocrmypdf";
version = "11.3.3";
version = "11.6.0";
disabled = ! python3Packages.isPy3k;
src = fetchFromGitHub {
owner = "jbarlow83";
repo = "OCRmyPDF";
rev = "v${version}";
sha256 = "0qv34clid65p11dgqalyk7b7myn5ibiz8i9xxhxkmjblw297p6ak";
sha256 = "0inmmpam0vcm5n4sm6lh9p5swk44clknvm1cdwk9cax01mdqljza";
};
nativeBuildInputs = with python3Packages; [
pytestrunner
setuptools
setuptools-scm-git-archive
setuptools_scm
@ -65,8 +65,7 @@ buildPythonApplication rec {
pytest
pytest-helpers-namespace
pytest_xdist
pytestcov
pytestrunner
pytest-cov
python-xmp-toolkit
pytestCheckHook
] ++ runtimeDeps;
@ -83,7 +82,7 @@ buildPythonApplication rec {
meta = with lib; {
homepage = "https://github.com/jbarlow83/OCRmyPDF";
description = "Adds an OCR text layer to scanned PDF files, allowing them to be searched";
license = licenses.gpl3;
license = with licenses; [ mpl20 mit ];
platforms = platforms.linux;
maintainers = [ maintainers.kiwi ];
};

View file

@ -0,0 +1,48 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
}:
stdenv.mkDerivation rec {
pname = "robodoc";
version = "4.99.44";
src = fetchFromGitHub {
owner = "gumpu";
repo = "ROBODoc";
rev = "v${version}";
sha256 = "l3prSdaGhOvXmZfCPbsZJNocO7y20zJjLQpajRTJOqE=";
};
nativeBuildInputs = [ autoreconfHook ];
hardeningDisable = [ "format" ];
meta = with lib; {
homepage = "https://github.com/gumpu/ROBODoc";
description = "Documentation Extraction Tool";
longDescription = ''
ROBODoc is program documentation tool. The idea is to include for every
function or procedure a standard header containing all sorts of
information about the procedure or function. ROBODoc extracts these
headers from the source file and puts them in a separate
autodocs-file. ROBODoc thus allows you to include the program
documentation in the source code and avoid having to maintain two separate
documents. Or as Petteri puts it: "robodoc is very useful - especially for
programmers who don't like writing documents with Word or some other
strange tool."
ROBODoc can format the headers in a number of different formats: HTML,
RTF, LaTeX, or XML DocBook. In HTML mode it can generate cross links
between headers. You can even include parts of your source code.
ROBODoc works with many programming languages: For instance C, Pascal,
Shell Scripts, Assembler, COBOL, Occam, Postscript, Forth, Tcl/Tk, C++,
Java -- basically any program in which you can use remarks/comments.
'';
license = with licenses; gpl3Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; all;
};
}

View file

@ -1114,6 +1114,8 @@ in
bmap-tools = callPackage ../tools/misc/bmap-tools { };
bonnmotion = callPackage ../development/tools/misc/bonnmotion { };
bonnie = callPackage ../tools/filesystems/bonnie { };
bonfire = callPackage ../tools/misc/bonfire { };
@ -4830,6 +4832,8 @@ in
inherit (darwin.apple_sdk.frameworks) Security;
};
robodoc = callPackage ../tools/text/robodoc { };
ucg = callPackage ../tools/text/ucg { };
grive2 = callPackage ../tools/filesystems/grive2 { };

View file

@ -204,6 +204,8 @@ in {
aioamqp = callPackage ../development/python-modules/aioamqp { };
ailment = callPackage ../development/python-modules/ailment { };
aiocoap = callPackage ../development/python-modules/aiocoap { };
aioconsole = callPackage ../development/python-modules/aioconsole { };
@ -3660,6 +3662,8 @@ in {
inherit python;
})).py;
libpurecool = callPackage ../development/python-modules/libpurecool { };
libredwg = toPythonModule (pkgs.libredwg.override {
enablePython = true;
inherit (self) python libxml2;
@ -6523,6 +6527,8 @@ in {
pyvera = callPackage ../development/python-modules/pyvera { };
pyvex = callPackage ../development/python-modules/pyvex { };
pyviz-comms = callPackage ../development/python-modules/pyviz-comms { };
pyvips = callPackage ../development/python-modules/pyvips {