Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-06-02 02:32:54 +00:00 committed by GitHub
commit 2908f0cd18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 601 additions and 104 deletions

View File

@ -2,7 +2,7 @@
, libxml2, gnutls, sane-backends }:
stdenv.mkDerivation rec {
pname = "sane-airscan";
version = "0.99.24";
version = "0.99.26";
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ avahi gnutls libjpeg libpng libxml2 sane-backends ];
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "alexpevzner";
repo = pname;
rev = version;
sha256 = "sha256-2zSLC9P7Q/GMefHvmrUz6nV2hgScb4BhPAkahNBouqk=";
sha256 = "08snfg5zx9924ryww0kxf1kgl085yw7fg6l4f1kzlhcmqf1958w5";
};
meta = with lib; {

View File

@ -11,11 +11,11 @@ let
in
stdenv.mkDerivation rec {
pname = "jitsi-meet-electron";
version = "2.8.5";
version = "2.8.6";
src = fetchurl {
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
sha256 = "0r3jj3qjx38l1g733vhrwcm2yg7ppp23ciz84x2kqq51mlzr84c6";
sha256 = "sha256-kLX8SZERlyNVSvszkV/fkQh/Z/Z20PAPJ9eug2oKlqI=";
name = "${pname}-${version}.AppImage";
};

View File

@ -13,13 +13,13 @@
mkDerivation rec {
pname = "kdeltachat";
version = "unstable-2021-05-22";
version = "unstable-2021-05-31";
src = fetchFromSourcehut {
owner = "~link2xt";
repo = "kdeltachat";
rev = "9c22c6d6a03f620f14f289b464354159b8a76f6b";
sha256 = "1qmal6dng8ynp5mrkrgykz78c8zp1gbv53s479qvj0h3axrp2s8p";
rev = "318ae67c17f3e64532bad23c2a61a93446db553d";
sha256 = "1qy0hlp0r91sqn26ai9isxw4rl8kcmmb10a2p9yqynhm8py3dfn4";
};
nativeBuildInputs = [

View File

@ -3,6 +3,6 @@
# How to obtain `sha256`:
# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
mkDerivation {
version = "24.0.1";
sha256 = "z01gaKNkKsIPKdPKhX6IUUY9uBSuyA33E4aVM0MdXsg=";
version = "24.0.2";
sha256 = "gAiQc+AVj5xjwAnn9mF4xprjZOft1JvfEFVJMG5isxg=";
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "janet";
version = "1.15.5";
version = "1.16.0";
src = fetchFromGitHub {
owner = "janet-lang";
repo = pname;
rev = "v${version}";
sha256 = "sha256-szqH2Qqc+AKTuoZjYHhTmiHcFQ+PMsljh0RSD/q4gD4=";
sha256 = "sha256-Wrr2zie251oB+uhsLMmkPBV0b3MwTmcPTgNJOsgCems=";
};
nativeBuildInputs = [ meson ninja ];

View File

@ -5,7 +5,7 @@
}:
let
# Poetry2nix version
version = "1.16.1";
version = "1.17.0";
inherit (poetryLib) isCompatible readTOML moduleName;
@ -163,7 +163,7 @@ lib.makeScope pkgs.newScope (self: {
compatible = partitions.right;
incompatible = partitions.wrong;
# Create an overriden version of pythonPackages
# Create an overridden version of pythonPackages
#
# We need to avoid mixing multiple versions of pythonPackages in the same
# closure as python can only ever have one version of a dependency
@ -229,7 +229,12 @@ lib.makeScope pkgs.newScope (self: {
inputAttrs = mkInputAttrs { inherit py pyProject; attrs = { }; includeBuildSystem = false; };
storePackages = builtins.foldl' (acc: v: acc ++ v) [ ] (lib.attrValues inputAttrs);
requiredPythonModules = python.pkgs.requiredPythonModules;
/* Include all the nested dependencies which are required for each package.
This guarantees that using the "poetryPackages" attribute will return
complete list of dependencies for the poetry project to be portable.
*/
storePackages = requiredPythonModules (builtins.foldl' (acc: v: acc ++ v) [ ] (lib.attrValues inputAttrs));
in
{
python = py;

View File

@ -9,12 +9,12 @@ curl="curl \
--cookie-jar cookies \
--insecure \
--speed-time 5 \
-# \
--progress-bar \
--fail \
$curlOpts \
$NIX_CURL_FLAGS"
echo "Trying to fetch wheel with predicted URL: $predictedURL"
echo "Trying to fetch with predicted URL: $predictedURL"
$curl $predictedURL --output $out && exit 0

View File

@ -0,0 +1,72 @@
# Some repositories (such as Devpi) expose the Pypi legacy API
# (https://warehouse.pypa.io/api-reference/legacy.html).
#
# Note it is not possible to use pip
# https://discuss.python.org/t/pip-download-just-the-source-packages-no-building-no-metadata-etc/4651/12
import sys
from urllib.parse import urlparse
from html.parser import HTMLParser
import urllib.request
import shutil
import ssl
import os
# Parse the legacy index page to extract the href and package names
class Pep503(HTMLParser):
def __init__(self):
super().__init__()
self.sources = {}
self.url = None
self.name = None
def handle_data(self, data):
if self.url is not None:
self.name = data
def handle_starttag(self, tag, attrs):
if tag == "a":
for name, value in attrs:
if name == "href":
self.url = value
def handle_endtag(self, tag):
if self.url is not None:
self.sources[self.name] = self.url
self.url = None
url = sys.argv[1]
package_name = sys.argv[2]
index_url = url + "/" + package_name
package_filename = sys.argv[3]
print("Reading index %s" % index_url)
response = urllib.request.urlopen(
index_url,
context=ssl.CERT_NONE)
index = response.read()
parser = Pep503()
parser.feed(str(index))
if package_filename not in parser.sources:
print("The file %s has not be found in the index %s" % (
package_filename, index_url))
exit(1)
package_file = open(package_filename, "wb")
# Sometimes the href is a relative path
if urlparse(parser.sources[package_filename]).netloc == '':
package_url = index_url + "/" + parser.sources[package_filename]
else:
package_url = parser.sources[package_filename]
print("Downloading %s" % package_url)
response = urllib.request.urlopen(
package_url,
context=ssl.CERT_NONE)
with response as r:
shutil.copyfileobj(r, package_file)

View File

@ -93,17 +93,19 @@ let
);
# Fetch the wheels from the PyPI index.
# We need to first get the proper URL to the wheel.
# Fetch from the PyPI index.
# At first we try to fetch the predicated URL but if that fails we
# will use the Pypi API to determine the correct URL.
# Args:
# pname: package name
# file: filename including extension
# version: the version string of the dependency
# hash: SRI hash
# kind: Language implementation and version tag
fetchWheelFromPypi = lib.makeOverridable (
{ pname, file, hash, kind, curlOpts ? "" }:
fetchFromPypi = lib.makeOverridable (
{ pname, file, version, hash, kind, curlOpts ? "" }:
let
version = builtins.elemAt (builtins.split "-" file) 2;
predictedURL = predictURLFromPypi { inherit pname file hash kind; };
in
(pkgs.stdenvNoCC.mkDerivation {
name = file;
@ -111,7 +113,7 @@ let
pkgs.curl
pkgs.jq
];
isWheel = true;
isWheel = lib.strings.hasSuffix "whl" file;
system = "builtin";
preferLocalBuild = true;
@ -119,36 +121,35 @@ let
"NIX_CURL_FLAGS"
];
predictedURL = predictURLFromPypi { inherit pname file hash kind; };
inherit pname file version curlOpts;
inherit pname file version curlOpts predictedURL;
builder = ./fetch-wheel.sh;
builder = ./fetch-from-pypi.sh;
outputHashMode = "flat";
outputHashAlgo = "sha256";
outputHash = hash;
passthru = {
urls = [ predictedURL ]; # retain compatibility with nixpkgs' fetchurl
};
})
);
# Fetch the artifacts from the PyPI index. Since we get all
# info we need from the lock file we don't use nixpkgs' fetchPyPi
# as it modifies casing while not providing anything we don't already
# have.
#
# Args:
# pname: package name
# file: filename including extension
# hash: SRI hash
# kind: Language implementation and version tag https://www.python.org/dev/peps/pep-0427/#file-name-convention
fetchFromPypi = lib.makeOverridable (
{ pname, file, hash, kind }:
if lib.strings.hasSuffix "whl" file then fetchWheelFromPypi { inherit pname file hash kind; }
else
pkgs.fetchurl {
url = predictURLFromPypi { inherit pname file hash kind; };
inherit hash;
}
fetchFromLegacy = lib.makeOverridable (
{ python, pname, url, file, hash }:
pkgs.runCommand file
{
nativeBuildInputs = [ python ];
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
outputHashMode = "flat";
outputHashAlgo = "sha256";
outputHash = hash;
} ''
python ${./fetch_from_legacy.py} ${url} ${pname} ${file}
mv ${file} $out
''
);
getBuildSystemPkgs =
{ pythonPackages
, pyProject
@ -215,7 +216,7 @@ in
{
inherit
fetchFromPypi
fetchWheelFromPypi
fetchFromLegacy
getManyLinuxDeps
isCompatible
readTOML

View File

@ -28,7 +28,7 @@ pythonPackages.callPackage
}@args:
let
inherit (pkgs) stdenv;
inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi moduleName;
inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromLegacy fetchFromPypi moduleName;
inherit (import ./pep425.nix {
inherit lib poetryLib python;
@ -37,7 +37,7 @@ pythonPackages.callPackage
;
fileCandidates =
let
supportedRegex = ("^.*?(" + builtins.concatStringsSep "|" supportedExtensions + ")");
supportedRegex = ("^.*(" + builtins.concatStringsSep "|" supportedExtensions + ")");
matchesVersion = fname: builtins.match ("^.*" + builtins.replaceStrings [ "." ] [ "\\." ] version + ".*$") fname != null;
hasSupportedExtension = fname: builtins.match supportedRegex fname != null;
isCompatibleEgg = fname: ! lib.strings.hasSuffix ".egg" fname || lib.strings.hasSuffix "py${python.pythonVersion}.egg" fname;
@ -48,6 +48,7 @@ pythonPackages.callPackage
isGit = isSource && source.type == "git";
isUrl = isSource && source.type == "url";
isLocal = isSource && source.type == "directory";
isLegacy = isSource && source.type == "legacy";
localDepPath = toPath source.url;
buildSystemPkgs =
@ -171,10 +172,19 @@ pythonPackages.callPackage
}
else if isLocal then
(poetryLib.cleanPythonSources { src = localDepPath; })
else if isLegacy then
fetchFromLegacy
{
pname = name;
inherit python;
inherit (fileInfo) file hash;
inherit (source) url;
}
else
fetchFromPypi {
pname = name;
inherit (fileInfo) file hash kind;
inherit version;
};
}
)

View File

@ -8,7 +8,13 @@ self: super:
{
automat = super.automat.overridePythonAttrs (
old: rec {
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.m2r ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.m2r ];
}
);
aiohttp-swagger3 = super.aiohttp-swagger3.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
}
);
@ -21,7 +27,7 @@ self: super:
# Inputs copied from nixpkgs as ansible doesn't specify it's dependencies
# in a correct manner.
propagatedBuildInputs = old.propagatedBuildInputs ++ [
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
self.pycrypto
self.paramiko
self.jinja2
@ -170,7 +176,7 @@ self: super:
dictdiffer = super.dictdiffer.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.setuptools ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
}
);
@ -178,7 +184,7 @@ self: super:
super.django.overridePythonAttrs (
old: {
propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ])
++ [ pkgs.gettext ];
++ [ pkgs.gettext self.pytest-runner ];
}
)
);
@ -193,6 +199,36 @@ self: super:
}
);
django-cors-headers = super.django-cors-headers.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
}
);
django-hijack = super.django-hijack.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
}
);
django-prometheus = super.django-prometheus.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
}
);
django-rosetta = super.django-rosetta.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
}
);
django-stubs-ext = super.django-stubs-ext.overridePythonAttrs (
old: {
prePatch = (old.prePatch or "") + "touch ../LICENSE.txt";
}
);
dlib = super.dlib.overridePythonAttrs (
old: {
# Parallel building enabled
@ -227,6 +263,16 @@ self: super:
'';
};
# remove eth-hash dependency because eth-hash also depends on eth-utils causing a cycle.
eth-utils = super.eth-utils.overridePythonAttrs (old: {
propagatedBuildInputs =
builtins.filter (i: i.pname != "eth-hash") old.propagatedBuildInputs;
preConfigure = ''
${old.preConfigure or ""}
sed -i '/eth-hash/d' setup.py
'';
});
faker = super.faker.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
@ -244,6 +290,10 @@ self: super:
}
);
fastecdsa = super.fastecdsa.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ];
});
fastparquet = super.fastparquet.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
@ -313,11 +363,11 @@ self: super:
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
buildInputs =
(old.buildInputs or [ ])
++ [ pkgs.hdf5 self.pkg-config self.cython ]
++ [ pkgs.hdf5 self.pkgconfig self.cython ]
++ lib.optional mpiSupport mpi
;
propagatedBuildInputs =
old.propagatedBuildInputs
(old.propagatedBuildInputs or [ ])
++ lib.optionals mpiSupport [ self.mpi4py self.openssh ]
;
preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
@ -333,9 +383,25 @@ self: super:
) else old
);
hid = super.hid.overridePythonAttrs (
old: {
postPatch = ''
found=
for name in libhidapi-hidraw libhidapi-libusb libhidapi-iohidmanager libhidapi; do
full_path=${pkgs.hidapi.out}/lib/$name${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}
if test -f $full_path; then
found=t
sed -i -e "s|'$name\..*'|'$full_path'|" hid/__init__.py
fi
done
test -n "$found" || { echo "ERROR: No known libraries found in ${pkgs.hidapi.out}/lib, please update/fix this build expression."; exit 1; }
'';
}
);
horovod = super.horovod.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.mpi ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ];
}
);
@ -399,7 +465,10 @@ self: super:
# importlib-metadata has an incomplete dependency specification
importlib-metadata = super.importlib-metadata.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ lib.optional self.python.isPy2 self.pathlib2;
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ lib.optional self.python.isPy2 self.pathlib2;
# disable the removal of pyproject.toml, required because of setuptools_scm
dontPreferSetupPy = true;
}
);
@ -411,7 +480,7 @@ self: super:
isort = super.isort.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.setuptools ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
}
);
@ -453,7 +522,7 @@ self: super:
);
jsonslicer = super.jsonslicer.overridePythonAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig ];
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.yajl ];
});
@ -487,7 +556,7 @@ self: super:
lap = super.lap.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
self.numpy
];
}
@ -512,7 +581,7 @@ self: super:
# Set directory containing llvm-config binary
preConfigure = ''
export LLVM_CONFIG=${pkgs.llvm.dev}/bin/llvm-config
export LLVM_CONFIG=${pkgs.llvm}/bin/llvm-config
'';
__impureHostDeps = lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ];
@ -523,7 +592,7 @@ self: super:
lockfile = super.lockfile.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.pbr ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pbr ];
}
);
@ -570,7 +639,7 @@ self: super:
EOF
'';
propagatedBuildInputs = old.propagatedBuildInputs ++ [
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
pkgs.libpng
pkgs.freetype
]
@ -650,7 +719,7 @@ self: super:
};
in
{
propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.mpi ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ];
enableParallelBuilding = true;
preBuild = ''
ln -sf ${cfg} mpi.cfg
@ -670,8 +739,15 @@ self: super:
}
);
mypy = super.mypy.overridePythonAttrs (
old: {
MYPY_USE_MYPYC = pkgs.stdenv.buildPlatform.is64bit;
}
);
mysqlclient = super.mysqlclient.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
}
);
@ -682,7 +758,7 @@ self: super:
self.cython
];
propagatedBuildInputs = old.propagatedBuildInputs ++ [
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
pkgs.zlib
pkgs.netcdf
pkgs.hdf5
@ -769,7 +845,7 @@ self: super:
in
{
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
propagatedBuildInputs = old.propagatedBuildInputs or [ ]
propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
++ lib.optional withPostgres self.psycopg2
++ lib.optional withMysql self.mysql-connector;
}
@ -777,7 +853,7 @@ self: super:
pillow = super.pillow.overridePythonAttrs (
old: {
nativeBuildInputs = [ pkgs.pkg-config ] ++ (old.nativeBuildInputs or [ ]);
nativeBuildInputs = [ pkgs.pkg-config self.pytest-runner ] ++ (old.nativeBuildInputs or [ ]);
buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]);
}
);
@ -924,7 +1000,7 @@ self: super:
pkgs.pkg-config
];
propagatedBuildInputs = old.propagatedBuildInputs ++ [
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
pkgs.cairo
pkgs.xlibsWrapper
];
@ -1028,6 +1104,16 @@ self: super:
}
);
pyproject-flake8 = super.pyproject-flake8.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.flit-core ];
}
);
pytezos = super.pytezos.override (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libsodium ];
});
python-bugzilla = super.python-bugzilla.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
@ -1214,6 +1300,12 @@ self: super:
}
);
python-snappy = super.python-snappy.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.snappy ];
}
);
ffmpeg-python = super.ffmpeg-python.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
@ -1228,10 +1320,20 @@ self: super:
}
);
pyusb = super.pyusb.overridePythonAttrs (
old: {
postPatch = ''
libusb=${pkgs.libusb1.out}/lib/libusb-1.0${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}
test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py
'';
}
);
pyzmq = super.pyzmq.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.zeromq ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.zeromq ];
}
);
@ -1298,7 +1400,7 @@ self: super:
old:
if old.format != "wheel" then {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ];
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.pybind11 ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pybind11 ];
setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
enableParallelBuilding = true;
buildInputs = (old.buildInputs or [ ]) ++ [ self.numpy.blas ];
@ -1329,6 +1431,17 @@ self: super:
}
);
secp256k1 = super.secp256k1.overridePythonAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig pkgs.autoconf pkgs.automake pkgs.libtool ];
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
doCheck = false;
# Local setuptools versions like "x.y.post0" confuse an internal check
postPatch = ''
substituteInPlace setup.py \
--replace 'setuptools_version.' '"${self.setuptools.version}".'
'';
});
shapely = super.shapely.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos self.cython ];
@ -1387,6 +1500,14 @@ self: super:
}
);
# The tokenizers build requires a complex rust setup (cf. nixpkgs override)
#
# Instead of providing a full source build, we use a wheel to keep
# the complexity manageable for now.
tokenizers = super.tokenizers.override {
preferWheel = true;
};
torch = lib.makeOverridable
({ enableCuda ? false
, cudatoolkit ? pkgs.cudatoolkit_10_1
@ -1415,11 +1536,34 @@ self: super:
propagatedBuildInputs = [
self.numpy
self.future
self.typing-extensions
];
})
)
{ };
torchvision = lib.makeOverridable
({ enableCuda ? false
, cudatoolkit ? pkgs.cudatoolkit_10_1
, pkg ? super.torchvision
}: pkg.overrideAttrs (old: {
# without that autoPatchelfHook will fail because cudatoolkit is not in LD_LIBRARY_PATH
autoPatchelfIgnoreMissingDeps = true;
buildInputs = (old.buildInputs or [ ])
++ [ self.torch ]
++ lib.optionals enableCuda [
cudatoolkit
];
preConfigure =
if (enableCuda) then ''
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib:${lib.makeLibraryPath [ cudatoolkit "${cudatoolkit}" ]}"
'' else ''
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib"
'';
}))
{ };
typeguard = super.typeguard.overridePythonAttrs (old: {
postPatch = ''
substituteInPlace setup.py \
@ -1427,12 +1571,18 @@ self: super:
'';
});
typed_ast = super.typed-ast.overridePythonAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
self.pytest-runner
];
});
# nix uses a dash, poetry uses an underscore
typing_extensions = super.typing_extensions or self.typing-extensions;
urwidtrees = super.urwidtrees.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
self.urwid
];
}
@ -1476,6 +1626,7 @@ self: super:
weasyprint = super.weasyprint.overridePythonAttrs (
old: {
inherit (pkgs.python3.pkgs.weasyprint) patches;
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
}
);
@ -1524,7 +1675,7 @@ self: super:
) else super.zipp
).overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
self.toml
];
}
@ -1551,9 +1702,38 @@ self: super:
}
);
psutil = super.psutil.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++
lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.IOKit;
}
);
sentencepiece = super.sentencepiece.overridePythonAttrs (
old: {
dontUseCmakeConfigure = true;
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
pkgs.pkg-config
pkgs.cmake
pkgs.gperftools
];
buildInputs = (old.buildInputs or [ ]) ++ [
pkgs.sentencepiece
];
}
);
sentence-transformers = super.sentence-transformers.overridePythonAttrs (
old: {
buildInputs =
(old.buildInputs or [ ])
++ [ self.typing-extensions ];
}
);
supervisor = super.supervisor.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
self.meld3
self.setuptools
];
@ -1562,7 +1742,7 @@ self: super:
cytoolz = super.cytoolz.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.toolz ];
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.toolz ];
}
);
@ -1607,5 +1787,52 @@ self: super:
}
);
wxpython = super.wxpython.overridePythonAttrs (old:
let
localPython = self.python.withPackages (ps: with ps; [
setuptools
numpy
six
]);
in
{
DOXYGEN = "${pkgs.doxygen}/bin/doxygen";
nativeBuildInputs = with pkgs; [
which
doxygen
gtk3
pkg-config
autoPatchelfHook
] ++ (old.nativeBuildInputs or [ ]);
buildInputs = with pkgs; [
gtk3
webkitgtk
ncurses
SDL2
xorg.libXinerama
xorg.libSM
xorg.libXxf86vm
xorg.libXtst
xorg.xorgproto
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
libGLU
libGL
libglvnd
mesa
] ++ old.buildInputs;
buildPhase = ''
${localPython.interpreter} build.py -v build_wx
${localPython.interpreter} build.py -v dox etg --nodoc sip
${localPython.interpreter} build.py -v build_py
'';
installPhase = ''
${localPython.interpreter} setup.py install --skip-build --prefix=$out
'';
});
}

View File

@ -129,7 +129,7 @@ let
if exprs.type == "expr" then
(
let
mVal = ''[a-zA-Z0-9\'"_\. ]+'';
mVal = ''[a-zA-Z0-9\'"_\. \-]+'';
mOp = "in|[!=<>]+";
e = stripStr exprs.value;
m = builtins.map stripStr (builtins.match ''^(${mVal}) *(${mOp}) *(${mVal})$'' e);

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake, fetchpatch
{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake
, libiconv
, useMimalloc ? false
, doCheck ? true
@ -6,32 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped";
version = "2021-05-17";
cargoSha256 = "sha256-uSBukInJ3FEMmMpG9DN3XeXm+hzUFqCrZORb4NIEJhw=";
version = "2021-05-31";
cargoSha256 = "sha256-atfpcP3esMQQ2lOFTKksQH1nV78KAic51XZi+R++vHg=";
src = fetchFromGitHub {
owner = "rust-analyzer";
repo = "rust-analyzer";
rev = version;
sha256 = "sha256-BsabpY4LArfsDPAMsggxKu1+OQZmqRe//+a5uBcuFps=";
sha256 = "sha256-v2zS9qnvNrImQ3UqU80YagwLJKkVxwvwMMISimFbMOI=";
};
patches = [
# Revert updates which require rust 1.52.0.
# We currently have rust 1.51.0 in nixpkgs.
# https://github.com/rust-analyzer/rust-analyzer/pull/8718
(fetchpatch {
url = "https://github.com/rust-analyzer/rust-analyzer/pull/8718/commits/607d8a2f61e56fabb7a3bc5132592917fcdca970.patch";
sha256 = "sha256-g1yyq/XSwGxftnqSW1bR5UeMW4gW28f4JciGvwQ/n08=";
revert = true;
})
(fetchpatch {
url = "https://github.com/rust-analyzer/rust-analyzer/pull/8718/commits/6a16ec52aa0d91945577c99cdf421b303b59301e.patch";
sha256 = "sha256-n7Ew/0fG8zPaMFCi8FVLjQZwJSaczI/QoehC6pDLrAk=";
revert = true;
})
];
buildAndTestSubdir = "crates/rust-analyzer";
cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc";

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "sqlx-cli";
version = "0.5.2";
version = "0.5.5";
src = fetchFromGitHub {
owner = "launchbadge";
repo = "sqlx";
rev = "v${version}";
sha256 = "0jz0gddw1xp51rnap0dsyq4886x2glmr087r1lf3fxlnv6anaqn9";
sha256 = "1051vldajdbkcxvrw2cig201c4nm68cvvnr2yia9f2ysmr68x5rh";
};
cargoSha256 = "046blw366d6zjpq944g9n4cdhhv2w97qfi1ynljc9bnz03d8v39c";
cargoSha256 = "1ry893gjrwb670v80ff61yb00jvf49yp6194gqrjvnyarjc6bbb1";
doCheck = false;
cargoBuildFlags = [ "-p sqlx-cli" ];

View File

@ -0,0 +1,12 @@
diff --git a/libexec/httpd/bozohttpd.c b/libexec/httpd/bozohttpd.c
index 67083b2c6782..273cb5f5a42b 100644
--- a/libexec/httpd/bozohttpd.c
+++ b/libexec/httpd/bozohttpd.c
@@ -138,6 +138,7 @@
#include <grp.h>
#include <stdarg.h>
#include <stdlib.h>
+#include <stdint.h>
#include <strings.h>
#include <string.h>
#include <syslog.h>

View File

@ -0,0 +1,88 @@
diff --git a/libexec/httpd/auth-bozo.c b/libexec/httpd/auth-bozo.c
index a2f2ee4304c1..c9eefe3313dd 100644
--- a/libexec/httpd/auth-bozo.c
+++ b/libexec/httpd/auth-bozo.c
@@ -54,7 +54,7 @@ bozo_auth_check(bozo_httpreq_t *request, const char *file)
bozohttpd_t *httpd = request->hr_httpd;
struct stat sb;
char dir[MAXPATHLEN], authfile[MAXPATHLEN], *basename;
- char user[BUFSIZ], *pass;
+ char user[BOZO_MINBUFSIZE], *pass;
FILE *fp;
int len;
@@ -144,7 +144,7 @@ bozo_auth_check_headers(bozo_httpreq_t *request, char *val, char *str,
if (strcasecmp(val, "authorization") == 0 &&
strncasecmp(str, "Basic ", 6) == 0) {
- char authbuf[BUFSIZ];
+ char authbuf[BOZO_MINBUFSIZE];
char *pass = NULL;
ssize_t alen;
diff --git a/libexec/httpd/bozohttpd.c b/libexec/httpd/bozohttpd.c
index 273cb5f5a42b..f619567ba822 100644
--- a/libexec/httpd/bozohttpd.c
+++ b/libexec/httpd/bozohttpd.c
@@ -2275,7 +2275,7 @@ bozo_http_error(bozohttpd_t *httpd, int code, bozo_httpreq_t *request,
}
#endif /* !NO_USER_SUPPORT */
- size = snprintf(httpd->errorbuf, BUFSIZ,
+ size = snprintf(httpd->errorbuf, BOZO_MINBUFSIZE,
"<html><head><title>%s</title></head>\n"
"<body><h1>%s</h1>\n"
"%s%s: <pre>%s</pre>\n"
@@ -2285,10 +2285,10 @@ bozo_http_error(bozohttpd_t *httpd, int code, bozo_httpreq_t *request,
user ? user : "", file,
reason, hostname, portbuf, hostname, portbuf);
free(user);
- if (size >= (int)BUFSIZ) {
+ if (size >= (int)BOZO_MINBUFSIZE) {
bozowarn(httpd,
"bozo_http_error buffer too small, truncated");
- size = (int)BUFSIZ;
+ size = (int)BOZO_MINBUFSIZE;
}
if (file_alloc)
@@ -2515,7 +2515,7 @@ bozo_init_httpd(bozohttpd_t *httpd)
httpd->mmapsz = BOZO_MMAPSZ;
/* error buffer for bozo_http_error() */
- if ((httpd->errorbuf = malloc(BUFSIZ)) == NULL) {
+ if ((httpd->errorbuf = malloc(BOZO_MINBUFSIZE)) == NULL) {
fprintf(stderr,
"bozohttpd: memory_allocation failure\n");
return 0;
diff --git a/libexec/httpd/bozohttpd.h b/libexec/httpd/bozohttpd.h
index c83bd112d9d7..7b19494cf5ad 100644
--- a/libexec/httpd/bozohttpd.h
+++ b/libexec/httpd/bozohttpd.h
@@ -227,6 +227,8 @@ typedef struct bozoprefs_t {
/* only allow this many total headers bytes */
#define BOZO_HEADERS_MAX_SIZE (16 * 1024)
+#define BOZO_MINBUFSIZE (4 * 1024)
+
/* debug flags */
#define DEBUG_NORMAL 1
#define DEBUG_FAT 2
diff --git a/libexec/httpd/testsuite/t10.out b/libexec/httpd/testsuite/t10.out
index cf410110627c..b3ab88f94fb9 100644
--- a/libexec/httpd/testsuite/t10.out
+++ b/libexec/httpd/testsuite/t10.out
@@ -1,8 +1,8 @@
HTTP/1.0 404 Not Found
Content-Type: text/html
-Content-Length: 1024
-Server: bozohttpd/20140708
+Content-Length: 4096
+Server: bozohttpd/20210403
<html><head><title>404 Not Found</title></head>
<body><h1>404 Not Found</h1>
-/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
\ No newline at end of file
+/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
\ No newline at end of file

View File

@ -0,0 +1,95 @@
{ lib
, stdenv
, fetchurl
, bmake
, groff
, inetutils
, wget
, openssl
, minimal ? false
, userSupport ? !minimal
, cgiSupport ? !minimal
, dirIndexSupport ? !minimal
, dynamicContentSupport ? !minimal
, sslSupport ? !minimal
, luaSupport ? !minimal
, lua
, htpasswdSupport ? !minimal
}:
let inherit (lib) optional optionals;
in
stdenv.mkDerivation rec {
pname = "bozohttpd";
version = "20210227";
# bozohttpd is developed in-tree in pkgsrc, canonical hashes can be found at:
# http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/www/bozohttpd/distinfo
src = fetchurl {
url = "http://www.eterna.com.au/${pname}/${pname}-${version}.tar.bz2";
sha512 = "b838498626ffb7f7e84f31611e0e99aaa3af64bd9376e1a13ec16313c182eebfd9ea2c2d03904497239af723bf34a3d2202dac1f2d3e55f9fd076f6d45ccfa33";
};
# backport two unreleased commits to fix builds on non-netbsd platforms.
patches = [
# add missing `#include <stdint.h>`
# https://freshbsd.org/netbsd/src/commit/qMGNoXfgeieZBVRC
./0001-include-stdint.h.patch
# BUFSIZ is not guaranteed to be large enough
# https://freshbsd.org/netbsd/src/commit/A4ueIHIp3JgjNVRC
./0002-dont-use-host-BUFSIZ.patch
];
patchFlags = [ "-p3" ];
buildInputs = [ openssl ] ++ optional (luaSupport) lua;
nativeBuildInputs = [ bmake groff ];
COPTS = [
"-D_DEFAULT_SOURCE"
"-D_GNU_SOURCE"
# ensure that we can serve >2GB files even on 32-bit systems.
"-D_LARGEFILE_SOURCE"
"-D_FILE_OFFSET_BITS=64"
# unpackaged dependency: https://man.netbsd.org/blocklist.3
"-DNO_BLOCKLIST_SUPPORT"
]
++ optional (!userSupport) "-DNO_USER_SUPPORT"
++ optional (!dirIndexSupport) "-DNO_DIRINDEX_SUPPORT"
++ optional (!dynamicContentSupport) "-DNO_DYNAMIC_CONTENT"
++ optional (!luaSupport) "-DNO_LUA_SUPPORT"
++ optional (!sslSupport) "-DNO_SSL_SUPPORT"
++ optional (!cgiSupport) "-DNO_CGIBIN_SUPPORT"
++ optional (htpasswdSupport) "-DDO_HTPASSWD";
_LDADD = [ "-lm" ]
++ optional (stdenv.hostPlatform.libc != "libSystem") "-lcrypt"
++ optional (luaSupport) "-llua"
++ optionals (sslSupport) [ "-lssl" "-lcrypto" ];
makeFlags = [ "LDADD=$(_LDADD)" "prefix=$(out)" "MANDIR=$(out)/share/man" "BINOWN=" ];
doCheck = true;
checkInputs = [ inetutils wget ];
checkFlags = optional (!cgiSupport) "CGITESTS=";
meta = with lib; {
description = "Bozotic HTTP server; small and secure";
longDescription = ''
bozohttpd is a small and secure HTTP version 1.1 server. Its main
feature is the lack of features, reducing the code size and improving
verifiability.
It supports CGI/1.1, HTTP/1.1, HTTP/1.0, HTTP/0.9, ~user translations,
virtual hosting support, as well as multiple IP-based servers on a
single machine. It is capable of servicing pages via the IPv6 protocol.
It has SSL support. It has no configuration file by design.
'';
homepage = "http://www.eterna.com.au/bozohttpd/";
changelog = "http://www.eterna.com.au/bozohttpd/CHANGES";
license = licenses.bsd2;
maintainers = [ maintainers.embr ];
platforms = platforms.all;
};
}

View File

@ -30,14 +30,14 @@ let
php74-unit = php74.override phpConfig;
in stdenv.mkDerivation rec {
version = "1.22.0";
version = "1.24.0";
pname = "unit";
src = fetchFromGitHub {
owner = "nginx";
repo = pname;
rev = version;
sha256 = "sha256-M5Q8sxI1nZi8+ixO1PHuQpQ81EwyLAsnBI5PTtm+bKA=";
sha256 = "0214dvwz31hxjxnqk3fkqhn2xznaqdrb96m5s2k8ll8rldmk1gd6";
};
nativeBuildInputs = [ which ];

View File

@ -4527,7 +4527,7 @@ let
name = "botamusique";
packageName = "botamusique";
version = "0.0.0";
src = ../../../../../../../../../tmp/tmp.hWY9btrx5g;
src = ../../../../../../../../../tmp/tmp.UAoivnXH3n;
dependencies = [
sources."@babel/code-frame-7.10.4"
sources."@babel/compat-data-7.12.7"

View File

@ -1,9 +1,9 @@
{
"url": "https://github.com/azlux/botamusique",
"rev": "33a9e75ba9d0a382f7a76d23a0ceb626924a8b49",
"date": "2021-05-19T22:37:39+08:00",
"path": "/nix/store/dqc2vjd43cixm49w8g66wvi9zmdfwsdd-botamusique",
"sha256": "18lbgslx9vdwd5nrbkqfjvzaikp2swvv375v9gql7cg8p46w7i11",
"rev": "ba02cdebf2e175dc371995361eafcb88ad2c1b52",
"date": "2021-06-01T23:39:44+02:00",
"path": "/nix/store/dp5vnj7zqv1sp1ab5xycvvqdpia9xb71-botamusique",
"sha256": "01d51y6h38hs4ynjgz050ryy14sp5y2c3n7f80mcv0a4ls8413qp",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "fzf";
version = "0.27.1";
version = "0.27.2";
src = fetchFromGitHub {
owner = "junegunn";
repo = pname;
rev = version;
sha256 = "sha256-TMzyUhgOfcWXKhxy+2SeBy0mws/M+4YoitlPpYt6k9g=";
sha256 = "sha256-JWTyZRZrW1mFy91D+eZL6iYV0CcNxJUT4JA0hrBKZZU=";
};
vendorSha256 = "sha256-FKDCIotyra/TZ48wbpzudJZ2aI2pn+ZR4EoZ+9+19Mw=";

View File

@ -1973,6 +1973,9 @@ in
boxfs = callPackage ../tools/filesystems/boxfs { };
bozohttpd = callPackage ../servers/http/bozohttpd { };
bozohttpd-minimal = callPackage ../servers/http/bozohttpd { minimal = true; };
bpytop = callPackage ../tools/system/bpytop { };
brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { });