Merge branch 'staging' into python-unstable
This commit is contained in:
commit
1e7ed8b2f3
|
@ -43,6 +43,7 @@ let
|
|||
"nginx"
|
||||
"nginxlog"
|
||||
"node"
|
||||
"openldap"
|
||||
"openvpn"
|
||||
"postfix"
|
||||
"postgres"
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.prometheus.exporters.openldap;
|
||||
in {
|
||||
port = 9330;
|
||||
extraOpts = {
|
||||
ldapCredentialFile = mkOption {
|
||||
type = types.path;
|
||||
example = "/run/keys/ldap_pass";
|
||||
description = ''
|
||||
Environment file to contain the credentials to authenticate against
|
||||
<package>openldap</package>.
|
||||
|
||||
The file should look like this:
|
||||
<programlisting>
|
||||
---
|
||||
ldapUser: "cn=monitoring,cn=Monitor"
|
||||
ldapPass: "secret"
|
||||
</programlisting>
|
||||
'';
|
||||
};
|
||||
protocol = mkOption {
|
||||
default = "tcp";
|
||||
example = "udp";
|
||||
type = types.str;
|
||||
description = ''
|
||||
Which protocol to use to connect against <package>openldap</package>.
|
||||
'';
|
||||
};
|
||||
ldapAddr = mkOption {
|
||||
default = "localhost:389";
|
||||
type = types.str;
|
||||
description = ''
|
||||
Address of the <package>openldap</package>-instance.
|
||||
'';
|
||||
};
|
||||
metricsPath = mkOption {
|
||||
default = "/metrics";
|
||||
type = types.str;
|
||||
description = ''
|
||||
URL path where metrics should be exposed.
|
||||
'';
|
||||
};
|
||||
interval = mkOption {
|
||||
default = "30s";
|
||||
type = types.str;
|
||||
example = "1m";
|
||||
description = ''
|
||||
Scrape interval of the exporter.
|
||||
'';
|
||||
};
|
||||
};
|
||||
serviceOpts.serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.prometheus-openldap-exporter}/bin/openldap_exporter \
|
||||
--promAddr ${cfg.listenAddress}:${toString cfg.port} \
|
||||
--metrPath ${cfg.metricsPath} \
|
||||
--ldapNet ${cfg.protocol} \
|
||||
--interval ${cfg.interval} \
|
||||
--config ${cfg.ldapCredentialFile} \
|
||||
${concatStringsSep " \\\n " cfg.extraFlags}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -603,6 +603,66 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
openldap = {
|
||||
exporterConfig = {
|
||||
enable = true;
|
||||
ldapCredentialFile = "${pkgs.writeText "exporter.yml" ''
|
||||
ldapUser: "cn=root,dc=example"
|
||||
ldapPass: "notapassword"
|
||||
''}";
|
||||
};
|
||||
metricProvider = {
|
||||
services.openldap = {
|
||||
enable = true;
|
||||
settings.children = {
|
||||
"cn=schema".includes = [
|
||||
"${pkgs.openldap}/etc/schema/core.ldif"
|
||||
"${pkgs.openldap}/etc/schema/cosine.ldif"
|
||||
"${pkgs.openldap}/etc/schema/inetorgperson.ldif"
|
||||
"${pkgs.openldap}/etc/schema/nis.ldif"
|
||||
];
|
||||
"olcDatabase={1}mdb" = {
|
||||
attrs = {
|
||||
objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ];
|
||||
olcDatabase = "{1}mdb";
|
||||
olcDbDirectory = "/var/db/openldap";
|
||||
olcSuffix = "dc=example";
|
||||
olcRootDN = {
|
||||
# cn=root,dc=example
|
||||
base64 = "Y249cm9vdCxkYz1leGFtcGxl";
|
||||
};
|
||||
olcRootPW = {
|
||||
path = "${pkgs.writeText "rootpw" "notapassword"}";
|
||||
};
|
||||
};
|
||||
};
|
||||
"olcDatabase={2}monitor".attrs = {
|
||||
objectClass = [ "olcDatabaseConfig" ];
|
||||
olcDatabase = "{2}monitor";
|
||||
olcAccess = [ "to dn.subtree=cn=monitor by users read" ];
|
||||
};
|
||||
};
|
||||
declarativeContents."dc=example" = ''
|
||||
dn: dc=example
|
||||
objectClass: domain
|
||||
dc: example
|
||||
|
||||
dn: ou=users,dc=example
|
||||
objectClass: organizationalUnit
|
||||
ou: users
|
||||
'';
|
||||
};
|
||||
};
|
||||
exporterTest = ''
|
||||
wait_for_unit("prometheus-openldap-exporter.service")
|
||||
wait_for_open_port(389)
|
||||
wait_for_open_port(9330)
|
||||
wait_until_succeeds(
|
||||
"curl -sSf http://localhost:9330/metrics | grep -q 'openldap_scrape{result=\"ok\"} 1'"
|
||||
)
|
||||
'';
|
||||
};
|
||||
|
||||
openvpn = {
|
||||
exporterConfig = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, fetchurl, pythonPackages, gettext, klick}:
|
||||
{ lib, fetchurl, python2Packages, gettext, klick}:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "gtklick";
|
||||
version = "0.6.4";
|
||||
|
||||
|
@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec {
|
|||
sha256 = "7799d884126ccc818678aed79d58057f8cf3528e9f1be771c3fa5b694d9d0137";
|
||||
};
|
||||
|
||||
pythonPath = with pythonPackages; [
|
||||
pythonPath = with python2Packages; [
|
||||
pyliblo
|
||||
pyGtkGlade
|
||||
];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
||||
, lv2, makeWrapper, pkg-config, python, raul, rdflib, serd, sord, sratom
|
||||
, lv2, makeWrapper, pkg-config, python3, raul, serd, sord, sratom
|
||||
, wafHook
|
||||
, suil
|
||||
}:
|
||||
|
@ -16,24 +16,21 @@ stdenv.mkDerivation rec {
|
|||
deepClone = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wafHook ];
|
||||
nativeBuildInputs = [ pkg-config wafHook python3 python3.pkgs.wrapPython ];
|
||||
buildInputs = [
|
||||
boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper
|
||||
python raul serd sord sratom suil
|
||||
boost ganv glibmm gtkmm2 libjack2 lilv lv2
|
||||
python3 raul serd sord sratom suil
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript
|
||||
'';
|
||||
strictDeps = true;
|
||||
|
||||
propagatedBuildInputs = [ rdflib ];
|
||||
pythonPath = [
|
||||
python3
|
||||
python3.pkgs.rdflib
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
for program in ingenams ingenish
|
||||
do
|
||||
wrapProgram $out/bin/$program \
|
||||
--prefix PYTHONPATH : $out/${python.sitePackages}:$PYTHONPATH
|
||||
done
|
||||
wrapPythonProgramsIn "$out/bin" "$out $pythonPath"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkg-config, python
|
||||
{ lib, stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkg-config, python3
|
||||
, serd, sord , sratom, suil, wafHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkg-config wafHook ];
|
||||
buildInputs = [
|
||||
gtk2 libjack2 lilv lv2 python serd sord sratom suil
|
||||
gtk2 libjack2 lilv lv2 python3 serd sord sratom suil
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, fetchurl, pythonPackages }:
|
||||
{ lib, fetchurl, python2Packages }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "lastfmsubmitd";
|
||||
version = "1.0.6";
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ lib, stdenv, callPackage, fetchurl
|
||||
, python
|
||||
, jdk, cmake, libxml2, zlib, python3, ncurses5
|
||||
, dotnet-sdk_3
|
||||
, vmopts ? null
|
||||
|
@ -199,7 +198,7 @@ let
|
|||
platforms = platforms.linux;
|
||||
};
|
||||
}).override {
|
||||
propagatedUserEnvPkgs = [ python ];
|
||||
propagatedUserEnvPkgs = [ python3 ];
|
||||
};
|
||||
|
||||
buildRider = { name, version, src, license, description, wmClass, ... }:
|
||||
|
|
|
@ -13,10 +13,10 @@ let
|
|||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "0fpa3b807hy3wrb98h5s0p6ljya279bikv2qwq30nvr0f4zn48bk";
|
||||
x86_64-darwin = "0bw7pdzn0a0zr7x8fpwck7v73dq5vh71ja00z11mhjrkjnvmmd9k";
|
||||
aarch64-linux = "04wrqcmyamhwiwcyay1z0q0dvf6g7k3pcs93x7hahy16l65w7s2c";
|
||||
armv7l-linux = "1hkc9i4z021jwjn275w790bppfvi63g0cnwvkssqdh1c94939rhv";
|
||||
x86_64-linux = "0z1diiiykv4ilsiljffz9sl2mlvrxq0xwm8ga2ralfvjwbhzr6dn";
|
||||
x86_64-darwin = "02gzw46w3kzw1ya9nx8fkhvzi0mbpz2fyp47n58jki2zkdsfiwzh";
|
||||
aarch64-linux = "0bkvgdxch95dqcb41ncsjkaaswmwv6zad4hzdsr3famjm2vym1ky";
|
||||
armv7l-linux = "0wdp97ihdnx9bcyn2dh6wzhb7qvdj6x730r7ng1q3i9jhd19wfi3";
|
||||
}.${system};
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
|
@ -25,7 +25,7 @@ in
|
|||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.54.3";
|
||||
version = "1.55.0";
|
||||
pname = "vscode";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
|
|
|
@ -13,10 +13,10 @@ let
|
|||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1577wxmm8623aj513hxqcfim4d9p1r9wbla9my0c0c1x6pik0h8h";
|
||||
x86_64-darwin = "1n8q626nlqw78wlpfppzj365gmlz2swll6csg3ic7p4ik3nak95b";
|
||||
aarch64-linux = "1a7rkmhz456rsqw95lrknp1wqsdp63pkzh76vhzy5bazb1h081v0";
|
||||
armv7l-linux = "1qjik1r41c8n9fs7p09p0zdj8c5xgqjniwv23hcy6mp28i4whclr";
|
||||
x86_64-linux = "0zzdbknmljf1hizmxnrby17i8v3kp98rklinywnr632jwgjms81j";
|
||||
x86_64-darwin = "0mccq1b0l6r1ipxp5gvyam43c2hh8hxdvwqikkz6g7y93p29wz9g";
|
||||
aarch64-linux = "12gpday6gzl1adcykqhgz3xrdm9568a26gsndmplkn2n6l6agnp0";
|
||||
armv7l-linux = "0l886vdw7az0nvvhh14pjawz0yyib59ymychy7gbk8ay5g9vfv03";
|
||||
}.${system};
|
||||
|
||||
sourceRoot = {
|
||||
|
@ -33,7 +33,7 @@ in
|
|||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.54.3";
|
||||
version = "1.55.0";
|
||||
pname = "vscodium";
|
||||
|
||||
executableName = "codium";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
mkDerivation, lib,
|
||||
extra-cmake-modules, kdoctools,
|
||||
karchive, ki18n, kio, perl, python, php, qttools
|
||||
karchive, ki18n, kio, perl, python3, php, qttools
|
||||
, kdbusaddons
|
||||
}:
|
||||
|
||||
|
@ -12,5 +12,5 @@ mkDerivation {
|
|||
maintainers = with lib.maintainers; [ orivej ];
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
buildInputs = [ karchive ki18n kio perl python php qttools kdbusaddons ];
|
||||
buildInputs = [ karchive ki18n kio perl python3 php qttools kdbusaddons ];
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
extra-cmake-modules, kdoctools,
|
||||
gettext,
|
||||
kcoreaddons, kconfig, kdbusaddons, kwidgetsaddons, kitemviews, kcompletion,
|
||||
qtbase, python
|
||||
qtbase, python3
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
|
@ -15,7 +15,7 @@ mkDerivation {
|
|||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
buildInputs = [
|
||||
gettext kcoreaddons kconfig kdbusaddons kwidgetsaddons kitemviews kcompletion python
|
||||
gettext kcoreaddons kconfig kdbusaddons kwidgetsaddons kitemviews kcompletion python3
|
||||
];
|
||||
propagatedUserEnvPkgs = [ ];
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ mkDerivation, qtbase
|
||||
, lib, extra-cmake-modules, gettext, python
|
||||
, lib, extra-cmake-modules, gettext, python3
|
||||
, drumstick, fluidsynth
|
||||
, kcoreaddons, kcrash, kdoctools
|
||||
, qtquickcontrols2, qtsvg, qttools, qtdeclarative
|
||||
|
@ -13,7 +13,7 @@ mkDerivation {
|
|||
broken = lib.versionOlder qtbase.version "5.14";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python qtdeclarative ];
|
||||
nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python3 qtdeclarative ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
drumstick fluidsynth
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
|
||||
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
|
||||
index 31da529..90308aa 100644
|
||||
--- a/build_files/cmake/platform/platform_apple.cmake
|
||||
+++ b/build_files/cmake/platform/platform_apple.cmake
|
||||
@@ -80,7 +80,6 @@ else()
|
||||
@@ -77,7 +77,6 @@ else()
|
||||
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
|
||||
endif()
|
||||
if(NOT EXISTS "${LIBDIR}/")
|
||||
- message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'")
|
||||
endif()
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
@@ -112,10 +111,6 @@ if(WITH_CODEC_SNDFILE)
|
||||
# Prefer lib directory paths
|
||||
@@ -113,10 +112,6 @@ if(WITH_CODEC_SNDFILE)
|
||||
find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib)
|
||||
find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib)
|
||||
list(APPEND LIBSNDFILE_LIBRARIES
|
||||
|
@ -20,7 +21,7 @@ diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platf
|
|||
)
|
||||
|
||||
print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}")
|
||||
@@ -132,7 +127,7 @@ if(WITH_PYTHON)
|
||||
@@ -133,7 +128,7 @@ if(WITH_PYTHON)
|
||||
# normally cached but not since we include them with blender
|
||||
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
|
||||
set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m")
|
||||
|
@ -29,7 +30,7 @@ diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platf
|
|||
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
|
||||
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
|
||||
else()
|
||||
@@ -173,9 +168,7 @@ endif()
|
||||
@@ -174,9 +169,7 @@ endif()
|
||||
if(WITH_CODEC_FFMPEG)
|
||||
set(FFMPEG_FIND_COMPONENTS
|
||||
avcodec avdevice avformat avutil
|
||||
|
@ -40,20 +41,20 @@ diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platf
|
|||
find_package(FFmpeg)
|
||||
endif()
|
||||
|
||||
@@ -266,7 +259,6 @@ if(WITH_BOOST)
|
||||
@@ -267,7 +260,6 @@ if(WITH_BOOST)
|
||||
endif()
|
||||
|
||||
if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
|
||||
- set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -liconv") # boost_locale and ffmpeg needs it !
|
||||
- string(APPEND PLATFORM_LINKFLAGS " -liconv") # boost_locale and ffmpeg needs it !
|
||||
endif()
|
||||
|
||||
if(WITH_OPENIMAGEIO)
|
||||
@@ -439,7 +431,7 @@ else()
|
||||
if(WITH_PUGIXML)
|
||||
@@ -451,7 +443,7 @@ else()
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic")
|
||||
endif()
|
||||
|
||||
-if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5)
|
||||
+if(FALSE)
|
||||
# Xcode 5 is always using CLANG, which has too low template depth of 128 for libmv
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024")
|
||||
string(APPEND CMAKE_CXX_FLAGS " -ftemplate-depth=1024")
|
||||
endif()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, mkDerivation, fetchFromGitHub, fetchpatch
|
||||
, python, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
|
||||
, python3, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
|
||||
, which, perl, makeWrapper
|
||||
}:
|
||||
|
||||
|
@ -21,11 +21,11 @@ mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [
|
||||
which
|
||||
python3
|
||||
ruby
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python
|
||||
ruby
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qttools
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
, desktop-file-utils, libSM, imagemagick }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20.09";
|
||||
version = "21.03";
|
||||
pname = "mediainfo-gui";
|
||||
src = fetchurl {
|
||||
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
|
||||
sha256 = "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir";
|
||||
sha256 = "07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "fluxctl";
|
||||
version = "1.22.0";
|
||||
version = "1.22.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "weaveworks";
|
||||
repo = "flux";
|
||||
rev = version;
|
||||
sha256 = "sha256-7uS8704YZ7lQTSSnbVvc6T5iadl02TeVpwVPf2uS9L4=";
|
||||
sha256 = "sha256-SaDO3a50CLhgLafCdgKEfHpuHdIweSy5L/TUgEUv5CM=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-oqfJaQA8ybh0UNWYJ2ukoWkwdgORwvXzRCquGstwA4M=";
|
||||
vendorSha256 = "sha256-4uSw/9lI/rdDqy78jNC9eHYW/v/sMFb+sQvwYG6GZks=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kubeval";
|
||||
version = "0.15.0";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "instrumenta";
|
||||
repo = "kubeval";
|
||||
rev = version;
|
||||
sha256 = "05li0qv4q7fy2lr50r6c1r8dhx00jb1g01qmgc72a9zqp378yiq0";
|
||||
sha256 = "sha256-c5UESyWK1rfnD0etOuIroBUSqZQuu57jio7/ArItMP0=";
|
||||
};
|
||||
|
||||
vendorSha256 = "1kpwvi84i3h1yjprd6m6hn8l9j235931871y3qk9cl0g8q0hv9ja";
|
||||
vendorSha256 = "sha256-SqYNAUYPUJYmHj4cFEYqQ8hEkYWmmpav9AGOSFDc/M4=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -44,14 +44,14 @@
|
|||
, pname ? "gnuradio"
|
||||
, versionAttr ? {
|
||||
major = "3.9";
|
||||
minor = "0";
|
||||
minor = "1";
|
||||
patch = "0";
|
||||
}
|
||||
, fetchSubmodules ? false
|
||||
}:
|
||||
|
||||
let
|
||||
sourceSha256 = "ZjQzioAuWrd8jsYOnLNH1mK4n9EbrjgvPX3mTzVFdLk=";
|
||||
sourceSha256 = "0zydmrr3gkaqiv4jv8f42awrfzs177bqb349q34rnr6j3d32z2vp";
|
||||
featuresInfo = {
|
||||
# Needed always
|
||||
basic = {
|
||||
|
@ -190,11 +190,10 @@ let
|
|||
runtime = [ SDL ];
|
||||
cmakeEnableFlag = "GR_VIDEO_SDL";
|
||||
};
|
||||
# codec2 and gsm support is broken with gr3.9: https://github.com/gnuradio/gnuradio/issues/4278
|
||||
# gr-vocoder = {
|
||||
# runtime = [ codec2 gsm ];
|
||||
# cmakeEnableFlag = "GR_VOCODER";
|
||||
# };
|
||||
gr-vocoder = {
|
||||
runtime = [ codec2 gsm ];
|
||||
cmakeEnableFlag = "GR_VOCODER";
|
||||
};
|
||||
gr-wavelet = {
|
||||
cmakeEnableFlag = "GR_WAVELET";
|
||||
runtime = [ gsl libsodium ];
|
||||
|
@ -234,7 +233,6 @@ stdenv.mkDerivation rec {
|
|||
src
|
||||
nativeBuildInputs
|
||||
buildInputs
|
||||
cmakeFlags
|
||||
disallowedReferences
|
||||
stripDebugList
|
||||
doCheck
|
||||
|
@ -250,6 +248,19 @@ stdenv.mkDerivation rec {
|
|||
} // lib.optionalAttrs (hasFeature "gr-qtgui" features) {
|
||||
inherit (libsForQt5) qwt;
|
||||
};
|
||||
cmakeFlags = shared.cmakeFlags
|
||||
# From some reason, if these are not set, libcodec2 and gsm are not
|
||||
# detected properly.
|
||||
++ lib.optionals (hasFeature "gr-vocoder" features) [
|
||||
"-DLIBCODEC2_FOUND=TRUE"
|
||||
"-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
|
||||
"-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
|
||||
"-DLIBCODEC2_HAS_FREEDV_API=ON"
|
||||
"-DLIBGSM_FOUND=TRUE"
|
||||
"-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
|
||||
"-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
|
||||
]
|
||||
;
|
||||
|
||||
postInstall = shared.postInstall
|
||||
# This is the only python reference worth removing, if needed.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, gmp, mpfr, python
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, gmp, mpfr, python2
|
||||
, gperftools, ninja, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ cmake makeWrapper ninja ];
|
||||
buildInputs = [ gmp mpfr python gperftools ];
|
||||
buildInputs = [ gmp mpfr python2 gperftools ];
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs bin/leantags
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{lib, stdenv, fetchFromGitHub, gmp, cmake, python}:
|
||||
{lib, stdenv, fetchFromGitHub, gmp, cmake, python3}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libpoly";
|
||||
|
@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ gmp python ];
|
||||
buildInputs = [ gmp python3 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SRI-CSL/libpoly";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, cln, pkg-config, readline, gmp, python }:
|
||||
{ lib, stdenv, fetchurl, cln, pkg-config, readline, gmp, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ginac-1.8.0";
|
||||
|
@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ readline ] ++ lib.optional stdenv.isDarwin gmp;
|
||||
|
||||
nativeBuildInputs = [ pkg-config python ];
|
||||
nativeBuildInputs = [ pkg-config python3 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
preConfigure = "patchShebangs ginsh";
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, lib, fetchurl, autoPatchelfHook, python }:
|
||||
{ stdenv, lib, fetchurl, autoPatchelfHook, python2 }:
|
||||
|
||||
let
|
||||
majorVersion = "8.1";
|
||||
|
@ -14,7 +14,9 @@ in stdenv.mkDerivation rec {
|
|||
sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
buildInputs = [ (python.withPackages (ps: [ ps.gurobipy ])) ];
|
||||
buildInputs = [ (python2.withPackages (ps: [ ps.gurobipy ])) ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
buildPhase = ''
|
||||
cd src/build
|
||||
|
|
|
@ -18,10 +18,14 @@
|
|||
, pkg-config
|
||||
, allowPgo ? true
|
||||
, python3 # for PGO
|
||||
# for clang stdenv check
|
||||
, foot
|
||||
, llvmPackages
|
||||
, llvmPackages_latest
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.7.0";
|
||||
version = "1.7.1";
|
||||
|
||||
# build stimuli file for PGO build and the script to generate it
|
||||
# independently of the foot's build, so we can cache the result
|
||||
|
@ -67,8 +71,8 @@ let
|
|||
|
||||
# https://codeberg.org/dnkl/foot/src/branch/master/INSTALL.md#performance-optimized-pgo
|
||||
pgoCflags = {
|
||||
"clang" = "-O3 -Wno-ignored-optimization-argument -Wno-profile-instr-out-of-date -Wno-profile-instr-unprofiled";
|
||||
"gcc" = "-O3 -Wno-missing-profile";
|
||||
"clang" = "-O3 -Wno-ignored-optimization-argument";
|
||||
"gcc" = "-O3";
|
||||
}."${compilerName}";
|
||||
|
||||
# ar with lto support
|
||||
|
@ -89,7 +93,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchzip {
|
||||
url = "https://codeberg.org/dnkl/${pname}/archive/${version}.tar.gz";
|
||||
sha256 = "0w07fw7y31g891335ji3fm783r4dsk5py82qp0zx6z3rfr07paby";
|
||||
sha256 = "1x6nyhlp0zynnbdjx87c4ybfx6fyr0r53vypkfima56dwbfh98ka";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -130,12 +134,26 @@ stdenv.mkDerivation rec {
|
|||
preBuild = lib.optionalString doPgo ''
|
||||
meson configure -Db_pgo=generate
|
||||
ninja
|
||||
# make sure there is _some_ profiling data on all binaries
|
||||
./footclient --version
|
||||
./foot --version
|
||||
# generate pgo data of wayland independent code
|
||||
./pgo ${stimuliFile} ${stimuliFile} ${stimuliFile}
|
||||
meson configure -Db_pgo=use
|
||||
'' + lib.optionalString (doPgo && stdenv.cc.cc.pname == "clang") ''
|
||||
'' + lib.optionalString (doPgo && compilerName == "clang") ''
|
||||
llvm-profdata merge default_*profraw --output=default.profdata
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
clang-default-compilation = foot.override {
|
||||
inherit (llvmPackages) stdenv;
|
||||
};
|
||||
|
||||
clang-latest-compilation = foot.override {
|
||||
inherit (llvmPackages_latest) stdenv;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://codeberg.org/dnkl/foot/";
|
||||
changelog = "https://codeberg.org/dnkl/foot/releases/tag/${version}";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, fetchgit
|
||||
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, makeWrapper, xmlto
|
||||
, pythonPackages }:
|
||||
, python2Packages }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "git-bz";
|
||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
|||
asciidoc docbook_xml_dtd_45 docbook_xsl libxslt makeWrapper xmlto
|
||||
];
|
||||
buildInputs = []
|
||||
++ (with pythonPackages; [ python pysqlite ]);
|
||||
++ (with python2Packages; [ python pysqlite ]);
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs configure
|
||||
|
@ -27,8 +27,8 @@ stdenv.mkDerivation {
|
|||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/git-bz \
|
||||
--prefix PYTHONPATH : "$(toPythonPath "${pythonPackages.pycrypto}")" \
|
||||
--prefix PYTHONPATH : "$(toPythonPath "${pythonPackages.pysqlite}")"
|
||||
--prefix PYTHONPATH : "$(toPythonPath "${python2Packages.pycrypto}")" \
|
||||
--prefix PYTHONPATH : "$(toPythonPath "${python2Packages.pysqlite}")"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, fetchFromGitHub, pythonPackages }:
|
||||
{ lib, fetchFromGitHub, python2Packages }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "git-crecord";
|
||||
version = "20161216.0";
|
||||
|
||||
|
@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec {
|
|||
sha256 = "0v3y90zi43myyi4k7q3892dcrbyi9dn2q6xgk12nw9db9zil269i";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ docutils ];
|
||||
propagatedBuildInputs = with python2Packages; [ docutils ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/andrewshadura/git-crecord";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchzip, perl, python, gnuplot, coreutils, gnugrep }:
|
||||
{ lib, stdenv, fetchzip, perl, python2, gnuplot, coreutils, gnugrep }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gitstats";
|
||||
|
@ -11,7 +11,11 @@ stdenv.mkDerivation rec {
|
|||
name = "${pname}-${version}" + "-src";
|
||||
};
|
||||
|
||||
buildInputs = [ perl python ];
|
||||
nativeBuildInputs = [ perl ];
|
||||
|
||||
buildInputs = [ python2 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
postPatch = ''
|
||||
sed -e "s|gnuplot_cmd = .*|gnuplot_cmd = '${gnuplot}/bin/gnuplot'|" \
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "papirus-icon-theme";
|
||||
version = "20210302";
|
||||
version = "20210401";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PapirusDevelopmentTeam";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0h1cja8qqlnddm92hkyhkyj5rqfj494v0pss2mg95qqkjijpcgd0";
|
||||
sha256 = "sha256-t0zoeIpj+0QVH1wmbEIJdqzEDOGzpclePv+bcZgtnwo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -25,12 +25,14 @@ stdenv.mkDerivation rec {
|
|||
dontDropIconThemeCache = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/icons
|
||||
mv {,e}Papirus* $out/share/icons
|
||||
|
||||
for theme in $out/share/icons/*; do
|
||||
gtk-update-icon-cache $theme
|
||||
done
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -39,6 +41,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.gpl3Only;
|
||||
# darwin gives hash mismatch in source, probably because of file names differing only in case
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
maintainers = with maintainers; [ romildo fortuneteller2k ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
, extra-cmake-modules
|
||||
, gettext
|
||||
, kdoctools
|
||||
, python
|
||||
, python3
|
||||
, appstream-qt
|
||||
, discount
|
||||
, flatpak
|
||||
|
@ -34,7 +34,7 @@
|
|||
mkDerivation {
|
||||
name = "discover";
|
||||
meta.broken = lib.versionOlder qtbase.version "5.15.0";
|
||||
nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
|
||||
nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python3 ];
|
||||
buildInputs = [
|
||||
# discount is needed for libmarkdown
|
||||
appstream-qt
|
||||
|
|
|
@ -27,13 +27,13 @@ let
|
|||
ghcWithPackages = ghc.withPackages (g: (with g; [old-time regex-compat syb split ]));
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "bluespec";
|
||||
version = "unstable-2021.02.14";
|
||||
version = "unstable-2021.03.29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "B-Lang-org";
|
||||
repo = "bsc";
|
||||
rev = "c085ecd807d85f31d102d8bec71f5c28dc96b31d";
|
||||
sha256 = "0c86gwhrarw78cr9c9slb9vij6kcwx3x281kbqji96qqzs0dfb32";
|
||||
rev = "00185f7960bd1bd5554a1167be9f37e1f18ac454";
|
||||
sha256 = "1bcdhql4cla137d8xr8m2h21dyxv0jpjpalpr5mgj2jxqfsmkbrn";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
, flex
|
||||
, llvmPackages_8
|
||||
, opencl-clang
|
||||
, python
|
||||
, python3
|
||||
, spirv-llvm-translator
|
||||
|
||||
, buildWithPatches ? true
|
||||
|
@ -33,9 +33,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1jp3c67ppl1x4pazr5nzy52615cpx0kyckaridhc0fsmrkgilyxq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ clang cmake bison flex llvm python ];
|
||||
nativeBuildInputs = [ clang cmake bison flex python3 ];
|
||||
|
||||
buildInputs = [ clang opencl-clang spirv-llvm-translator ];
|
||||
buildInputs = [ clang opencl-clang spirv-llvm-translator llvm ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# checkInputs = [ lit pythonPackages.nose ];
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchgit, boost, gtk2, pkg-config, python, wafHook }:
|
||||
{ lib, stdenv, fetchgit, boost, gtk2, pkg-config, python3, wafHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "raul";
|
||||
|
@ -12,8 +12,10 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1z37jb6ghc13b8nv8a8hcg669gl8vh4ni9djvfgga9vcz8rmcg8l";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wafHook ];
|
||||
buildInputs = [ boost gtk2 python ];
|
||||
nativeBuildInputs = [ pkg-config wafHook python3 ];
|
||||
buildInputs = [ boost gtk2 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A C++ utility library primarily aimed at audio/musical applications";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, lib, fetchurl, gtk2, lv2, pkg-config, python, serd, sord, sratom
|
||||
{ stdenv, lib, fetchurl, gtk2, lv2, pkg-config, python3, serd, sord, sratom
|
||||
, wafHook
|
||||
, withQt4 ? true, qt4 ? null
|
||||
, withQt5 ? false, qt5 ? null }:
|
||||
|
@ -17,13 +17,15 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0z4v01pjw4wh65x38w6icn28wdwxz13ayl8hvn4p1g9kmamp1z06";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wafHook ];
|
||||
buildInputs = [ gtk2 lv2 python serd sord sratom ]
|
||||
nativeBuildInputs = [ pkg-config wafHook python3 ];
|
||||
buildInputs = [ gtk2 lv2 serd sord sratom ]
|
||||
++ (lib.optionals withQt4 [ qt4 ])
|
||||
++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://drobilla.net/software/suil";
|
||||
description = "A lightweight C library for loading and wrapping LV2 plugin UIs";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchurl, unzip, libjpeg, libtiff, zlib
|
||||
, postgresql, libmysqlclient, libgeotiff, pythonPackages, proj, geos, openssl
|
||||
, postgresql, libmysqlclient, libgeotiff, python2Packages, proj, geos, openssl
|
||||
, libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
|
||||
, libiconv, libxml2
|
||||
, netcdfSupport ? true, netcdf, hdf5, curl
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [ libjpeg libtiff libgeotiff libpng proj openssl sqlite
|
||||
libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
|
||||
++ (with pythonPackages; [ python numpy wrapPython ])
|
||||
++ (with python2Packages; [ python numpy wrapPython ])
|
||||
++ lib.optional stdenv.isDarwin libiconv
|
||||
++ lib.optionals netcdfSupport [ netcdf hdf5 curl ];
|
||||
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
{ lib, stdenv, fetchurl, unzip, libjpeg, libtiff, zlib
|
||||
, postgresql, mysql57, libgeotiff, python, pythonPackages, proj, geos, openssl
|
||||
, libpng }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gdal";
|
||||
version = "1.11.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.osgeo.org/gdal/${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0hphxzvy23v3vqxx1y22hhhg4cypihrb8555y12nb4mrhzlw7zfl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [ libjpeg libtiff libgeotiff libpng python pythonPackages.numpy proj openssl ];
|
||||
|
||||
patches = [
|
||||
# This ensures that the python package is installed into gdal's prefix,
|
||||
# rather than trying to install into python's prefix.
|
||||
./python.patch
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" "fortify" ];
|
||||
|
||||
# Don't use optimization for gcc >= 4.3. That's said to be causing segfaults.
|
||||
# Unset CC and CXX as they confuse libtool.
|
||||
preConfigure = "export CFLAGS=-O0 CXXFLAGS=-O0; unset CC CXX";
|
||||
|
||||
configureFlags = [
|
||||
"--with-jpeg=${libjpeg.dev}"
|
||||
"--with-libtiff=${libtiff.dev}" # optional (without largetiff support)
|
||||
"--with-libpng=${libpng.dev}" # optional
|
||||
"--with-libz=${zlib.dev}" # optional
|
||||
|
||||
"--with-pg=${postgresql}/bin/pg_config"
|
||||
"--with-mysql=${mysql57.connector-c}/bin/mysql_config"
|
||||
"--with-geotiff=${libgeotiff.dev}"
|
||||
"--with-python" # optional
|
||||
"--with-static-proj4=${proj}" # optional
|
||||
"--with-geos=${geos}/bin/geos-config"# optional
|
||||
];
|
||||
|
||||
# Allow use of old proj_api.h
|
||||
NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1";
|
||||
|
||||
# Prevent this:
|
||||
#
|
||||
# Checking .pth file support in /nix/store/xkrmb8xnvqxzjwsdmasqmsdh1a5y2y99-gdal-1.11.2/lib/python2.7/site-packages/
|
||||
# /nix/store/pbi1lgank10fy0xpjckbdpgacqw34dsz-python-2.7.9/bin/python -E -c pass
|
||||
# TEST FAILED: /nix/store/xkrmb8xnvqxzjwsdmasqmsdh1a5y2y99-gdal-1.11.2/lib/python2.7/site-packages/ does NOT support .pth files
|
||||
# error: bad install directory or PYTHONPATH
|
||||
preBuild = ''
|
||||
pythonInstallDir=$out/lib/${python.libPrefix}/site-packages
|
||||
mkdir -p $pythonInstallDir
|
||||
export PYTHONPATH=''${PYTHONPATH:+''${PYTHONPATH}:}$pythonInstallDir
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "Translator library for raster geospatial data formats";
|
||||
homepage = "https://www.gdal.org/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.marcweber ];
|
||||
platforms = with lib.platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
diff --git a/swig/python/GNUmakefile.old b/swig/python/GNUmakefile
|
||||
index b4d5e90..2160b83 100644
|
||||
--- a/swig/python/GNUmakefile
|
||||
+++ b/swig/python/GNUmakefile
|
||||
@@ -67,11 +67,7 @@ egg:
|
||||
|
||||
install:
|
||||
|
||||
-ifeq ($(PY_HAVE_SETUPTOOLS),1)
|
||||
- $(PYTHON) setup.py install
|
||||
-else
|
||||
$(PYTHON) setup.py install --prefix=$(DESTDIR)$(prefix)
|
||||
-endif
|
||||
|
||||
for f in $(SCRIPTS) ; do $(INSTALL) ./scripts/$$f $(DESTDIR)$(INST_BIN) ; done
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{ fetchurl, fetchpatch, lib, stdenv,
|
||||
cmake, netcdf, gfortran, libpng, openjpeg,
|
||||
enablePython ? false, pythonPackages }:
|
||||
enablePython ? false, pythonPackages ? null }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "grib-api";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, boost, cmake, hwloc, gperftools, pkg-config, python }:
|
||||
{ lib, stdenv, fetchFromGitHub, boost, cmake, hwloc, gperftools, pkg-config, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hpx";
|
||||
|
@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs = [ boost hwloc gperftools ];
|
||||
nativeBuildInputs = [ cmake pkg-config python ];
|
||||
nativeBuildInputs = [ cmake pkg-config python3 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
description = "C++ standard library for concurrency and parallelism";
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ mkDerivation, lib, extra-cmake-modules, python }:
|
||||
{ mkDerivation, lib, extra-cmake-modules, python3 }:
|
||||
|
||||
mkDerivation {
|
||||
name = "kapidox";
|
||||
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
|
||||
nativeBuildInputs = [ extra-cmake-modules python ];
|
||||
nativeBuildInputs = [ extra-cmake-modules python3 python3.pkgs.setuptools ];
|
||||
postFixup = ''
|
||||
moveToOutput bin $bin
|
||||
'';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libdrm
|
||||
, withPython ? false, python }:
|
||||
, withPython ? false, python ? null }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "kmsxx";
|
||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
|||
cmakeFlags = lib.optional (!withPython) "-DKMSXX_ENABLE_PYTHON=OFF";
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ libdrm python ];
|
||||
buildInputs = [ libdrm ] ++ lib.optionals withPython [ python ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "C++11 library, utilities and python bindings for Linux kernel mode setting";
|
||||
|
@ -24,5 +24,6 @@ stdenv.mkDerivation {
|
|||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ gnidorah ];
|
||||
platforms = platforms.linux;
|
||||
broken = true; # marked broken 2021-03-26
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
, cmake
|
||||
, blas
|
||||
# Check Inputs
|
||||
, python
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -26,8 +26,10 @@ stdenv.mkDerivation rec {
|
|||
"-DCMAKE_INSTALL_PREFIX=" # ends up double-adding /nix/store/... prefix, this avoids issue
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ python.pkgs.numpy ];
|
||||
checkInputs = [ python3.pkgs.numpy ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "General GTO integrals for quantum chemistry";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python, llvmPackages }:
|
||||
{ lib, stdenv, fetchFromGitHub, python3, llvmPackages }:
|
||||
|
||||
let
|
||||
llvm = llvmPackages.llvm;
|
||||
|
@ -16,8 +16,9 @@ stdenv.mkDerivation {
|
|||
sha256 = "03l9frx3iw3qdsb9rrscgzdwm6872gv6mkssvn027ndf9y321xk7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python ];
|
||||
buildInputs = [ llvm clang clang-unwrapped ];
|
||||
nativeBuildInputs = [ python3 llvm ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's,llvm_clang =.*,llvm_clang = "${clang-unwrapped}/bin/clang",' configure.py
|
||||
|
@ -25,7 +26,7 @@ stdenv.mkDerivation {
|
|||
'';
|
||||
|
||||
configurePhase = ''
|
||||
${python.interpreter} ./configure.py --prefix=$out
|
||||
${python3.interpreter} ./configure.py --prefix=$out
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, python
|
||||
, python2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -13,7 +13,9 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0chsgam5dqr9vjfhdcp8cgk7la6nf3lq44zs6z6si98cq743550g";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python ];
|
||||
nativeBuildInputs = [ python2 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
patchPhase = ''
|
||||
patchShebangs src
|
||||
|
|
|
@ -111,6 +111,8 @@ stdenv.mkDerivation rec {
|
|||
pkg-config
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# Some grammar files needed to be copied too from some dependencies. I suppose
|
||||
# if one define a dependency in such a way that its share directory is found,
|
||||
# then this copying would be unnecessary. Instead of actually copying these
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20.09";
|
||||
version = "21.03";
|
||||
pname = "libmediainfo";
|
||||
src = fetchurl {
|
||||
url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
|
||||
sha256 = "15ni9pnch6688m72swwax109a7mg4a08yx75qknrx7qa6dbyhz6h";
|
||||
sha256 = "1jm4mk539wf3crgpcddgwdixshwdzm37mkb5441lifhcz2mykdsn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, autoreconfHook, fetchFromGitHub, pkg-config, enablePython ? false, python, glib }:
|
||||
{ lib, stdenv, autoreconfHook, fetchFromGitHub, pkg-config, enablePython ? false, python ? null, glib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libplist";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, texinfo, pcre2
|
||||
, enablePython ? false, python, swig, libxml2, ncurses
|
||||
, enablePython ? false, python ? null, swig, libxml2, ncurses
|
||||
}:
|
||||
let
|
||||
isPython3 = enablePython && python.pythonAtLeast "3";
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ lib, stdenv, fetchurl, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.4.38";
|
||||
version = "0.4.39";
|
||||
pname = "libzen";
|
||||
src = fetchurl {
|
||||
url = "https://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
|
||||
sha256 = "1nkygc17sndznpcf71fdrhwpm8z9a3hc9csqlafwswh49axhfkjr";
|
||||
sha256 = "1rwaxmid9iv65n0y6xlcyxxydsvihjni9ldxpg6pbqz43amp49xx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
, cmake
|
||||
, ninja
|
||||
, perl # Project uses Perl for scripting and testing
|
||||
, python
|
||||
, python3
|
||||
|
||||
, enableThreading ? true # Threading can be disabled to increase security https://tls.mbed.org/kb/development/thread-safety-and-multi-threading
|
||||
}:
|
||||
|
@ -20,7 +20,9 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0mz7n373b8d287crwi6kq2hb8ryyi228j38h25744lqai23qj5cf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ninja perl python ];
|
||||
nativeBuildInputs = [ cmake ninja perl python3 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
postConfigure = lib.optionals enableThreading ''
|
||||
perl scripts/config.pl set MBEDTLS_THREADING_C # Threading abstraction layer
|
||||
|
|
|
@ -87,6 +87,8 @@ stdenv.mkDerivation rec {
|
|||
srtp
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# Do not build static libraries
|
||||
cmakeFlags = [ "-DENABLE_STATIC=NO" ];
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ callPackage, ... }:
|
||||
|
||||
callPackage ./generic-v3.nix {
|
||||
version = "3.15.5";
|
||||
sha256 = "1znxzy4illsr4a08642h6s83jawzrq40m6pzkp05q0cpm8hcpvda";
|
||||
version = "3.15.7";
|
||||
sha256 = "03fx96rwxfbmr47f1nrflvaq5kk5p3a9wms4688nbnmymyghyml0";
|
||||
}
|
||||
|
|
|
@ -35,5 +35,12 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.asl20;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
knownVulnerabilities = [
|
||||
"CVE-2018-1320"
|
||||
"CVE-2018-11798"
|
||||
"CVE-2019-0205"
|
||||
"CVE-2019-0210"
|
||||
"CVE-2020-13949"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,26 +1,17 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, boost, zlib, libevent, openssl, python, cmake, pkg-config
|
||||
{ lib, stdenv, fetchurl, boost, zlib, libevent, openssl, python, cmake, pkg-config
|
||||
, bison, flex, twisted
|
||||
, static ? stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "thrift";
|
||||
version = "0.13.0";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "0yai9c3bdsrkkjshgim7zk0i7malwfprg00l9774dbrkh2w4ilvs";
|
||||
sha256 = "198c855mjy5byqfb941hiyq2j37baz63f0wcfy4vp8y8v4f5xnhk";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix a failing test on darwin
|
||||
# https://issues.apache.org/jira/browse/THRIFT-4976
|
||||
(fetchpatch {
|
||||
url = "https://github.com/apache/thrift/commit/6701dbb8e89f6550c7843e9b75b118998df471c3.diff";
|
||||
sha256 = "14rqma2b2zv3zxkkl5iv9kvyp3zihvad6fdc2gcdqv37nqnswx9d";
|
||||
})
|
||||
];
|
||||
|
||||
# Workaround to make the python wrapper not drop this package:
|
||||
# pythonFull.buildEnv.override { extraLibs = [ thrift ]; }
|
||||
pythonPath = [];
|
||||
|
@ -32,6 +23,9 @@ stdenv.mkDerivation rec {
|
|||
preConfigure = "export PY_PREFIX=$out";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_JAVASCRIPT:BOOL=OFF"
|
||||
"-DBUILD_NODEJS:BOOL=OFF"
|
||||
|
||||
# FIXME: Fails to link in static mode with undefined reference to
|
||||
# `boost::unit_test::unit_test_main(bool (*)(), int, char**)'
|
||||
"-DBUILD_TESTING:BOOL=${if static then "OFF" else "ON"}"
|
||||
|
@ -40,11 +34,32 @@ stdenv.mkDerivation rec {
|
|||
"-DOPENSSL_USE_STATIC_LIBS=ON"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"PythonTestSSLSocket"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# tests that hang up in the darwin sandbox
|
||||
"SecurityTest"
|
||||
"SecurityFromBufferTest"
|
||||
"python_test"
|
||||
|
||||
# tests that fail in the darwin sandbox when trying to use network
|
||||
"UnitTests"
|
||||
"TInterruptTest"
|
||||
"TServerIntegrationTest"
|
||||
"processor"
|
||||
"TNonblockingServerTest"
|
||||
"TNonblockingSSLServerTest"
|
||||
"StressTest"
|
||||
"StressTestConcurrent"
|
||||
"StressTestNonBlocking"
|
||||
"PythonThriftTNonblockingServer"
|
||||
];
|
||||
|
||||
doCheck = !static;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH=$PWD/lib ctest -E PythonTestSSLSocket
|
||||
${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH=$PWD/lib ctest -E "($(echo "$disabledTests" | tr " " "|"))"
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioshelly";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-2igN5mmkXyYpQeAoPAYzhirictuionVMbqifNigEYdw=";
|
||||
sha256 = "sha256-vlIon+VAHeJiaSIVMEKEpwQC4gXA52vxfEkiQMC9yiw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -1,21 +1,30 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pyserial
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aqualogic";
|
||||
version = "2.5";
|
||||
version = "2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swilson";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-yxd+A5dsB9gBwVlPNjz+IgDHKTktNky84bWZMhA/xa4=";
|
||||
sha256 = "sha256-dAC/0OjvrC8J/5pu5vcOKV/WqgkAlz0LuFl0up6FQRM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "allow-iobase-objects.patch";
|
||||
url = "https://github.com/swilson/aqualogic/commit/185fe25a86c82c497a55c78914b55ed39f5ca339.patch";
|
||||
sha256 = "072jrrsqv86bn3skibjc57111jlpm8pq2503997fl3h4v6ziwdxg";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ pyserial ];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "axis";
|
||||
version = "43";
|
||||
version = "44";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kane610";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1p9yfixsrkw7rxbvgybcb653rbqv0x18wzqkh620g193snm9sgm2";
|
||||
sha256 = "sha256-GC8GiDP/QHU+8swe60VFPRx8kSMMHuXjIPEKCja8HPE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, setuptools_scm
|
||||
, setuptools-scm
|
||||
, pycryptodome
|
||||
, requests
|
||||
, six
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
@ -15,13 +16,17 @@ buildPythonPackage rec {
|
|||
sha256 = "1rkc3zwsq53rjsmc47335m4viljiwdbmw3y2zry4z70j8q1dbmki";
|
||||
};
|
||||
|
||||
buildInputs = [ setuptools_scm ];
|
||||
propagatedBuildInputs = [ pycryptodome requests ];
|
||||
buildInputs = [
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
# Jailbreak pycryptodome
|
||||
preBuild = ''
|
||||
substituteInPlace setup.py --replace "==3.4.7" ""
|
||||
'';
|
||||
propagatedBuildInputs = [
|
||||
pycryptodome
|
||||
requests
|
||||
six
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "httpsig" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Sign HTTP requests with secure signatures";
|
||||
|
|
|
@ -32,14 +32,22 @@ buildPythonPackage rec {
|
|||
disabledTests = [
|
||||
# Some tests needs network capabilities
|
||||
"test_str_types_empty"
|
||||
"test_associate_reject"
|
||||
"TestEchoSCP"
|
||||
"TestEchoSCPCLI"
|
||||
"TestFindSCP"
|
||||
"TestFindSCPCLI"
|
||||
"TestGetSCP"
|
||||
"TestGetSCPCLI"
|
||||
"TestMoveSCP"
|
||||
"TestMoveSCPCLI"
|
||||
"TestQRGetServiceClass"
|
||||
"TestQRMoveServiceClass"
|
||||
"TestStoreSCP"
|
||||
"TestStoreSCPCLI"
|
||||
"TestStoreSCU"
|
||||
"TestStoreSCUCLI"
|
||||
"TestQRGetServiceClass"
|
||||
"TestQRMoveServiceClass"
|
||||
"TestState"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "pynetdicom" ];
|
||||
|
@ -49,7 +57,7 @@ buildPythonPackage rec {
|
|||
homepage = "https://github.com/pydicom/pynetdicom";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
# Tests are not passing on Darwin, thus it's assumed that it doesn't work
|
||||
broken = stdenv.isDarwin;
|
||||
# Tests are not passing on Darwin/Aarch64, thus it's assumed that it doesn't work
|
||||
broken = stdenv.isDarwin || stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -36,7 +36,8 @@ buildPythonPackage rec {
|
|||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'croniter = "^0"' 'croniter = "*"' \
|
||||
--replace 'defusedxml = "^0.6"' 'defusedxml = "*"'
|
||||
--replace 'defusedxml = "^0.6"' 'defusedxml = "*"' \
|
||||
--replace 'zeroconf = "^0.28"' 'zeroconf = "*"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
45
pkgs/development/python-modules/pyturbojpeg/default.nix
Normal file
45
pkgs/development/python-modules/pyturbojpeg/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, python
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, substituteAll
|
||||
, libjpeg_turbo
|
||||
, numpy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyturbojpeg";
|
||||
version = "1.4.1";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "PyTurboJPEG";
|
||||
inherit version;
|
||||
sha256 = "09688a93331281e566569b4d313e1d1a058ca32ccae1a2473847a10e4ca2f2a7";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./lib-path.patch;
|
||||
libturbojpeg = "${libjpeg_turbo.out}/lib/libturbojpeg${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
];
|
||||
|
||||
# upstream has no tests, but we want to test whether the library is found
|
||||
checkPhase = ''
|
||||
${python.interpreter} -c 'from turbojpeg import TurboJPEG; TurboJPEG()'
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "turbojpeg" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Python wrapper of libjpeg-turbo for decoding and encoding JPEG image";
|
||||
homepage = "https://github.com/lilohuang/PyTurboJPEG";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
};
|
||||
}
|
28
pkgs/development/python-modules/pyturbojpeg/lib-path.patch
Normal file
28
pkgs/development/python-modules/pyturbojpeg/lib-path.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
diff --git a/turbojpeg.py b/turbojpeg.py
|
||||
index 73edb38..bfa8c67 100644
|
||||
--- a/turbojpeg.py
|
||||
+++ b/turbojpeg.py
|
||||
@@ -408,22 +408,7 @@ class TurboJPEG(object):
|
||||
|
||||
def __find_turbojpeg(self):
|
||||
"""returns default turbojpeg library path if possible"""
|
||||
- lib_path = find_library('turbojpeg')
|
||||
- if lib_path is not None:
|
||||
- return lib_path
|
||||
- for lib_path in DEFAULT_LIB_PATHS[platform.system()]:
|
||||
- if os.path.exists(lib_path):
|
||||
- return lib_path
|
||||
- if platform.system() == 'Linux' and 'LD_LIBRARY_PATH' in os.environ:
|
||||
- ld_library_path = os.environ['LD_LIBRARY_PATH']
|
||||
- for path in ld_library_path.split(':'):
|
||||
- lib_path = os.path.join(path, 'libturbojpeg.so.0')
|
||||
- if os.path.exists(lib_path):
|
||||
- return lib_path
|
||||
- raise RuntimeError(
|
||||
- 'Unable to locate turbojpeg library automatically. '
|
||||
- 'You may specify the turbojpeg library path manually.\n'
|
||||
- 'e.g. jpeg = TurboJPEG(lib_path)')
|
||||
+ return '@libturbojpeg@'
|
||||
|
||||
def __getaddr(self, nda):
|
||||
"""returns the memory address for a given ndarray"""
|
|
@ -3,27 +3,26 @@
|
|||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, ifaddr
|
||||
, typing
|
||||
, isPy27
|
||||
, pythonOlder
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zeroconf";
|
||||
version = "0.28.8";
|
||||
disabled = isPy27;
|
||||
version = "0.29.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0narq8haa3b375vfblbyil77n8bw0wxqnanl91pl0wwwm884mqjb";
|
||||
sha256 = "sha256-eu+7ZYtFKx/X5REkNk+TjG9eQtbqiT+iVXvqjAbFQK8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ ifaddr ]
|
||||
++ lib.optionals (pythonOlder "3.5") [ typing ];
|
||||
propagatedBuildInputs = [ ifaddr ];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
||||
pytestFlagsArray = [ "zeroconf/test.py" ];
|
||||
|
||||
disabledTests = [
|
||||
# disable tests that expect some sort of networking in the build container
|
||||
"test_launch_and_close"
|
||||
|
@ -33,6 +32,7 @@ buildPythonPackage rec {
|
|||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"test_lots_of_names"
|
||||
];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
pythonImportsCheck = [ "zeroconf" ];
|
||||
|
@ -40,7 +40,7 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "Python implementation of multicast DNS service discovery";
|
||||
homepage = "https://github.com/jstasiak/python-zeroconf";
|
||||
license = licenses.lgpl21;
|
||||
license = licenses.lgpl21Only;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{lib, stdenv, fetchFromGitHub, cmake, pkg-config, zlib, curl, elfutils, python, libiberty, libopcodes}:
|
||||
{lib, stdenv, fetchFromGitHub, cmake, pkg-config, zlib, curl, elfutils, python3, libiberty, libopcodes}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kcov";
|
||||
|
@ -12,9 +12,11 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
preConfigure = "patchShebangs src/bin-to-c-source.py";
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
nativeBuildInputs = [ cmake pkg-config python3 ];
|
||||
|
||||
buildInputs = [ zlib curl elfutils python libiberty libopcodes ];
|
||||
buildInputs = [ curl zlib elfutils libiberty libopcodes ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Code coverage tester for compiled programs, Python scripts and shell scripts";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, nix-update-source, lib, python
|
||||
{ stdenv, fetchFromGitHub, nix-update-source, lib, python3
|
||||
, which, runtimeShell, pychecker ? null }:
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.7.0";
|
||||
|
@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1pwnmlq2pgkkln9sgz4wlb9dqlqw83bkf105qljnlvggc21zm3pv";
|
||||
};
|
||||
pname = "gup";
|
||||
buildInputs = lib.remove null [ python which pychecker ];
|
||||
nativeBuildInputs = [ python3 which pychecker ];
|
||||
buildInputs = [ python3 ];
|
||||
strictDeps = true;
|
||||
SKIP_PYCHECKER = pychecker == null;
|
||||
buildPhase = "make python";
|
||||
installPhase = ''
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "cloud-nuke";
|
||||
version = "0.1.25";
|
||||
version = "0.1.27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruntwork-io";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-tbwmHsiR/RJl3CJrzJtI6GA3v9mNAirbEHXX+wDMd2k=";
|
||||
sha256 = "1708g8msv5cw0b4gljyjqns328wbci3p3avwysms4aknm4vky0g0";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-vOaklBsMuKTQ3cJgXDClM1RWh+ovemO1uDWXeK1ygU4=";
|
||||
vendorSha256 = "0m7k6k790i06i8a5r8y7787mmikfibbvl7s8xqxygq1f5cpdspd6";
|
||||
|
||||
buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ];
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
, jinja2
|
||||
, pylint
|
||||
, pyyaml
|
||||
, six
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
|
@ -21,7 +22,7 @@ buildPythonApplication rec {
|
|||
sha256 = "0kmggnfbv6bba75l3zfzqwk0swi90brjka307m2kcz2w35kr8jvn";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ autopep8 flake8 jinja2 pylint pyyaml ];
|
||||
propagatedBuildInputs = [ autopep8 flake8 jinja2 pylint pyyaml six ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, fetchFromGitHub, pythonPackages }:
|
||||
{ lib, fetchFromGitHub, python3Packages }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "grabserial";
|
||||
version = "2.0.2";
|
||||
|
||||
|
@ -11,7 +11,10 @@ pythonPackages.buildPythonApplication rec {
|
|||
sha256 = "0ryk4w8q6zfmia71nwnk5b7xaxw0sf45dw9q50xp7k76i3k5f9f3";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pythonPackages.pyserial ];
|
||||
propagatedBuildInputs = [ python3Packages.pyserial ];
|
||||
|
||||
# no usable tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python based serial dump and timing program";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python, pcsclite, pth }:
|
||||
{ lib, stdenv, fetchFromGitHub, pcsclite, pth, python2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hexio";
|
||||
|
@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
|
|||
repo = "hexio";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ python ];
|
||||
buildInputs = [ pcsclite pth ];
|
||||
strictDeps = true;
|
||||
|
||||
buildInputs = [ pcsclite pth python2 ];
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace Makefile \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ mkDerivation, lib, fetchurl, makeWrapper, python, qmake, ctags, gdb }:
|
||||
{ mkDerivation, lib, fetchurl, makeWrapper, python3, qmake, ctags, gdb }:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "gede";
|
||||
|
@ -9,10 +9,12 @@ mkDerivation rec {
|
|||
sha256 = "0hbsy2ymzgl8xd9mnh43gxdfncy7g6czxfvfyh7zp3ij8yiwf8x3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake makeWrapper python ];
|
||||
nativeBuildInputs = [ qmake makeWrapper python3 ];
|
||||
|
||||
buildInputs = [ ctags ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
dontUseQmakeConfigure = true;
|
||||
|
||||
buildPhase = ":";
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{ fetchurl, lib, stdenv, libtool, makeWrapper
|
||||
, coreutils, ctags, ncurses, pythonPackages, sqlite, universal-ctags
|
||||
, coreutils, ctags, ncurses, python3Packages, sqlite, universal-ctags
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
pygments = python3Packages.pygments;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "global";
|
||||
version = "6.6.5";
|
||||
|
||||
|
@ -15,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
propagatedBuildInputs = [ pythonPackages.pygments ];
|
||||
propagatedBuildInputs = [ pygments ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-ltdl-include=${libtool}/include"
|
||||
|
@ -34,9 +36,9 @@ stdenv.mkDerivation rec {
|
|||
cp -v *.el "$out/share/emacs/site-lisp"
|
||||
|
||||
wrapProgram $out/bin/gtags \
|
||||
--prefix PYTHONPATH : "$(toPythonPath ${pythonPackages.pygments})"
|
||||
--prefix PYTHONPATH : "$(toPythonPath ${pygments})"
|
||||
wrapProgram $out/bin/global \
|
||||
--prefix PYTHONPATH : "$(toPythonPath ${pythonPackages.pygments})"
|
||||
--prefix PYTHONPATH : "$(toPythonPath ${pygments})"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ autoconf, fetchurl, makedepend, perl, python, lib, stdenv, unzip, zip }:
|
||||
{ autoconf, fetchurl, makedepend, perl, python3, lib, stdenv, unzip, zip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jscoverage-0.5.1";
|
||||
|
@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
|
|||
./jsfalse_to_null.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [ autoconf makedepend perl python zip ];
|
||||
nativeBuildInputs = [ unzip perl python3 zip ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# It works without MOZ_FIX_LINK_PATHS, circumventing an impurity
|
||||
# issue. Maybe we could kick js/ (spidermonkey) completely and
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, bison, flex, gperf, ncurses, pythonPackages }:
|
||||
{ lib, stdenv, fetchurl, pkg-config, bison, flex, gperf, ncurses, python3, bash }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
basename = "kconfig-frontends";
|
||||
|
@ -10,17 +10,15 @@ stdenv.mkDerivation rec {
|
|||
url = "http://ymorin.is-a-geek.org/download/${basename}/${name}.tar.xz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ bison flex gperf ncurses pythonPackages.python pythonPackages.wrapPython ];
|
||||
nativeBuildInputs = [ bison flex gperf pkg-config ];
|
||||
buildInputs = [ bash ncurses python3 ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
configureFlags = [
|
||||
"--enable-frontends=conf,mconf,nconf"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=format-security";
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -135,7 +135,5 @@ rustPlatform.buildRustPackage {
|
|||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ Profpatsch ];
|
||||
# Aarch has test failures with how tree-sitter compiles the generated C files
|
||||
broken = stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake
|
||||
, freetype, SDL2, SDL2_mixer, openal, zlib, libpng, python, libvorbis
|
||||
, freetype, SDL2, SDL2_mixer, openal, zlib, libpng, python2, libvorbis
|
||||
, libiconv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
# TODO: make libpng, libvorbis, sdl_mixer, freetype, vlc, glew (and other gl
|
||||
# reqs) optional
|
||||
buildInputs = [ freetype python openal SDL2 SDL2_mixer zlib libpng libvorbis libiconv ];
|
||||
buildInputs = [ freetype python2 openal SDL2 SDL2_mixer zlib libpng libvorbis libiconv ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, glib, python, gtk2, readline }:
|
||||
{ lib, stdenv, fetchurl, pkg-config, glib, python3, gtk2, readline }:
|
||||
|
||||
let version = "1.06.002"; in
|
||||
stdenv.mkDerivation {
|
||||
|
@ -9,8 +9,10 @@ stdenv.mkDerivation {
|
|||
sha256 = "11xwhcli1h12k6rnhhyq4jphzrhfik7i8ah3k32pqw803460n6yf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ python glib gtk2 readline ];
|
||||
nativeBuildInputs = [ pkg-config python3 glib ];
|
||||
buildInputs = [ gtk2 readline ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
configureFlags = [ "--with-gtk" "--with--board3d" ];
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, gcc-arm-embedded, binutils-arm-embedded, makeWrapper
|
||||
, python, pythonPackages
|
||||
, python2Packages
|
||||
|
||||
# Extra options
|
||||
, device ? "fsij", vid ? "234b", pid ? "0000"
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
|||
inherit src;
|
||||
|
||||
nativeBuildInputs = [ gcc-arm-embedded binutils-arm-embedded makeWrapper ];
|
||||
buildInputs = [ python ] ++ (with pythonPackages; [ pyusb colorama ]);
|
||||
buildInputs = with python2Packages; [ python pyusb colorama ];
|
||||
|
||||
configurePhase = ''
|
||||
cd src
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, file, lib, fetchFromGitHub, autoreconfHook, bison, flex, pkg-config
|
||||
, pythonSupport ? false, swig ? null, python}:
|
||||
, pythonSupport ? false, swig ? null, python ? null}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libnl";
|
||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
postBuild = lib.optionalString (pythonSupport) ''
|
||||
cd python
|
||||
${python}/bin/python setup.py install --prefix=../pythonlib
|
||||
${python.interpreter} setup.py install --prefix=../pythonlib
|
||||
cd -
|
||||
'';
|
||||
|
||||
|
|
|
@ -277,7 +277,7 @@
|
|||
"foscam" = ps: with ps; [ ]; # missing inputs: libpyfoscam
|
||||
"foursquare" = ps: with ps; [ aiohttp-cors ];
|
||||
"free_mobile" = ps: with ps; [ ]; # missing inputs: freesms
|
||||
"freebox" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: freebox-api
|
||||
"freebox" = ps: with ps; [ aiohttp-cors freebox-api netdisco zeroconf ];
|
||||
"freedns" = ps: with ps; [ ];
|
||||
"fritz" = ps: with ps; [ fritzconnection ];
|
||||
"fritzbox" = ps: with ps; [ pyfritzhome ];
|
||||
|
@ -353,7 +353,7 @@
|
|||
"hlk_sw16" = ps: with ps; [ ]; # missing inputs: hlk-sw16
|
||||
"home_connect" = ps: with ps; [ aiohttp-cors ]; # missing inputs: homeconnect
|
||||
"homeassistant" = ps: with ps; [ ];
|
||||
"homekit" = ps: with ps; [ HAP-python pyqrcode aiohttp-cors base36 fnvhash ha-ffmpeg zeroconf ]; # missing inputs: PyTurboJPEG
|
||||
"homekit" = ps: with ps; [ HAP-python pyqrcode pyturbojpeg aiohttp-cors base36 fnvhash ha-ffmpeg zeroconf ];
|
||||
"homekit_controller" = ps: with ps; [ aiohomekit aiohttp-cors zeroconf ];
|
||||
"homematic" = ps: with ps; [ pyhomematic ];
|
||||
"homematicip_cloud" = ps: with ps; [ ]; # missing inputs: homematicip
|
||||
|
|
|
@ -190,6 +190,7 @@ in with py.pkgs; buildPythonApplication rec {
|
|||
"api"
|
||||
"auth"
|
||||
"automation"
|
||||
"axis"
|
||||
"bayesian"
|
||||
"binary_sensor"
|
||||
"caldav"
|
||||
|
@ -224,6 +225,7 @@ in with py.pkgs; buildPythonApplication rec {
|
|||
"flux"
|
||||
"folder"
|
||||
"folder_watcher"
|
||||
"freebox"
|
||||
"fritzbox"
|
||||
"fritzbox_callmonitor"
|
||||
"frontend"
|
||||
|
@ -235,6 +237,7 @@ in with py.pkgs; buildPythonApplication rec {
|
|||
"hddtemp"
|
||||
"history"
|
||||
"history_stats"
|
||||
"homekit"
|
||||
"homekit_controller"
|
||||
"homeassistant"
|
||||
"homematic"
|
||||
|
@ -400,5 +403,6 @@ in with py.pkgs; buildPythonApplication rec {
|
|||
description = "Open source home automation that puts local control and privacy first";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ dotlambda globin mic92 hexa ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitLab, python, pkg-config
|
||||
{ lib, stdenv, fetchFromGitLab, python3, pkg-config
|
||||
, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_412 }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
@ -15,12 +15,14 @@ stdenv.mkDerivation {
|
|||
nativeBuildInputs = [ pkg-config xmlto docbook2x docbook_xsl docbook_xml_dtd_412 ];
|
||||
|
||||
buildInputs = [
|
||||
python
|
||||
python3
|
||||
# Needed for proxy support I believe, which I haven't tested.
|
||||
# Probably needs to be propagated and some wrapPython magic
|
||||
# python.pkgs.pysocks
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace '-o 0 -g 0' ""
|
||||
|
|
|
@ -1,100 +0,0 @@
|
|||
# This is the installation portion of kippo.
|
||||
# This is somewhat jumbled together. There is no "easy_install" for kippo,
|
||||
# and there isn't a way to regenerate the twistd plugin cache.
|
||||
#
|
||||
# Use the services.kippo options to properly configure if on NixOS.
|
||||
# On other platforms there is a problem with hardcoded paths.
|
||||
# Your best bet is to change kippo source to customise
|
||||
# or manually copy the proper filesystems.
|
||||
# At a minimum the following are required in /var/lib/kippo:
|
||||
# honeyfs/
|
||||
# fs.pickle
|
||||
# data/
|
||||
# txtcmds/
|
||||
#
|
||||
# There is also benefit in preparing /var/log/kippo
|
||||
# tty/
|
||||
# dl/
|
||||
#
|
||||
# Most of these files need read/write permissions.
|
||||
#
|
||||
# Read only files: kippo.tac and kippo.cfg
|
||||
#
|
||||
# Execution may look like this:
|
||||
# twistd -y kippo.tac --syslog --pidfile=kippo.pid
|
||||
#
|
||||
# Use this package at your own risk.
|
||||
|
||||
{lib, stdenv, fetchurl, pythonPackages }:
|
||||
|
||||
let
|
||||
|
||||
twisted_13 = pythonPackages.buildPythonPackage rec {
|
||||
# NOTE: When updating please check if new versions still cause issues
|
||||
# to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem)
|
||||
disabled = pythonPackages.isPy3k;
|
||||
|
||||
name = "Twisted-13.2.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/T/Twisted/${name}.tar.bz2";
|
||||
sha256 = "1wrcqv5lvgwk2aq83qb2s2ng2vx14hbjjk2gc30cg6h1iiipal89";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ zope_interface ];
|
||||
|
||||
# Generate Twisted's plug-in cache. Twited users must do it as well. See
|
||||
# http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3
|
||||
# and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for
|
||||
# details.
|
||||
postInstall = "$out/bin/twistd --help > /dev/null";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://twistedmatrix.com/";
|
||||
description = "Twisted, an event-driven networking engine written in Python";
|
||||
longDescription = ''
|
||||
Twisted is an event-driven networking engine written in Python
|
||||
and licensed under the MIT license.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
};
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "kippo";
|
||||
version = "0.8";
|
||||
src = fetchurl {
|
||||
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/kippo/${pname}-${version}.tar.gz";
|
||||
sha256 = "0rd2mk36d02qd24z8s4xyy64fy54rzpar4379iq4dcjwg7l7f63d";
|
||||
};
|
||||
buildInputs = with pythonPackages; [ pycrypto pyasn1 twisted_13 ];
|
||||
installPhase = ''
|
||||
substituteInPlace ./kippo.tac --replace "kippo.cfg" "$out/src/kippo.cfg"
|
||||
substituteInPlace ./kippo.cfg --replace "log_path = log" "log_path = /var/log/kippo" \
|
||||
--replace "download_path = dl" "download_path = /var/log/kippo/dl" \
|
||||
--replace "contents_path = honeyfs" "filesystem_file = /var/lib/kippo/honeyfs" \
|
||||
--replace "filesystem_file = fs.pickle" "filesystem_file = /var/lib/kippo/fs.pickle" \
|
||||
--replace "data_path = data" "data_path = /var/lib/kippo/data" \
|
||||
--replace "txtcmds_path = txtcmds" "txtcmds_path = /var/lib/kippo/txtcmds" \
|
||||
--replace "public_key = public.key" "public_key = /var/lib/kippo/keys/public.key" \
|
||||
--replace "private_key = private.key" "private_key = /var/lib/kippo/keys/private.key"
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/src
|
||||
mv ./* $out/src
|
||||
mv $out/src/utils/* $out/bin
|
||||
'';
|
||||
|
||||
passthru.twisted = twisted_13;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/desaster/kippo";
|
||||
description = "SSH Honeypot";
|
||||
longDescription = ''
|
||||
Default port is 2222. Recommend using something like this for port redirection to default SSH port:
|
||||
networking.firewall.extraCommands = '''
|
||||
iptables -t nat -A PREROUTING -i IN_IFACE -p tcp --dport 22 -j REDIRECT --to-port 2222''' '';
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ tomberek ];
|
||||
broken = true; # 2018-09-12, failed on hydra since 2017-12-11
|
||||
};
|
||||
}
|
29
pkgs/servers/monitoring/prometheus/openldap-exporter.nix
Normal file
29
pkgs/servers/monitoring/prometheus/openldap-exporter.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ buildGoPackage, lib, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "openldap_exporter";
|
||||
version = "2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tomcz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Di1GiyVp/hGCFhqxhlqJSucGZK7f/FDDUFtJRaiAZu4=";
|
||||
};
|
||||
|
||||
buildFlagsArray = ''
|
||||
-ldflags=
|
||||
-s -w
|
||||
-X github.com/tomcz/openldap_exporter.tag=v${version}
|
||||
-X github.com/tomcz/openldap_exporter.commit=unknown
|
||||
'';
|
||||
|
||||
goPackagePath = "github.com/tomcz/openldap_exporter";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/tomcz/openldap_exporter";
|
||||
description = " Simple service that scrapes metrics from OpenLDAP and exports them via HTTP for Prometheus consumption";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ma27 ];
|
||||
};
|
||||
}
|
|
@ -3,14 +3,14 @@ let
|
|||
package = (import ./node.nix { inherit pkgs system; }).package;
|
||||
in
|
||||
package.override rec {
|
||||
version = "1.18.2";
|
||||
version = "1.16.2";
|
||||
reconstructLock = true;
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Koenkk";
|
||||
repo = "zigbee2mqtt";
|
||||
rev = version;
|
||||
sha256 = "sha256-95RhoJ0aqprzMNOUw9UbLosBwBtQvudKOQaBvBJohn8=";
|
||||
sha256 = "0rpmm4pwm8s4i9fl26ql0czg5kijv42k9wwik7jb3ppi5jzxrakd";
|
||||
};
|
||||
|
||||
passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt;
|
||||
|
|
4363
pkgs/servers/zigbee2mqtt/node-packages.nix
generated
4363
pkgs/servers/zigbee2mqtt/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -1,17 +1,17 @@
|
|||
# This file has been generated by node2nix 1.9.0. Do not edit!
|
||||
# This file has been generated by node2nix 1.8.0. Do not edit!
|
||||
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
|
||||
|
||||
let
|
||||
nodeEnv = import ../../development/node-packages/node-env.nix {
|
||||
inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
|
||||
inherit pkgs nodejs;
|
||||
nodeEnv = import ./node-env.nix {
|
||||
inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
|
||||
inherit nodejs;
|
||||
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
|
||||
};
|
||||
in
|
||||
import ./node-packages.nix {
|
||||
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
|
||||
inherit (pkgs) fetchurl fetchgit;
|
||||
inherit nodeEnv;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, meson, ninja, fetchFromGitHub, which, python, fetchpatch
|
||||
{ lib, stdenv, meson, ninja, fetchFromGitHub, which, python3, fetchpatch
|
||||
, libiconv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -19,10 +19,12 @@ stdenv.mkDerivation rec {
|
|||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ meson ninja which python ];
|
||||
nativeBuildInputs = [ meson ninja which python3 ];
|
||||
|
||||
buildInputs = [ libiconv ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "KornShell Command And Programming Language";
|
||||
longDescription = ''
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "stripe-cli";
|
||||
version = "1.5.11";
|
||||
version = "1.5.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stripe";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aoflV4C7eH0RNdq8j7kPeAfnOEZECmfZ91/QBQy7oxY=";
|
||||
sha256 = "sha256-eMxukwaJqsXL0+Euvk5mM+pcAsT3GsF9filuyRL4tXg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-e7EZ5o30vDpS904/R1y7/Mds7HxQNmsIftrnc1Bj2bc=";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, cmake, makeWrapper, python
|
||||
{ lib, stdenv, fetchurl, cmake, makeWrapper
|
||||
, boost, lzma
|
||||
, withGog ? false, unar ? null }:
|
||||
|
||||
|
@ -10,10 +10,15 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "09l1z1nbl6ijqqwszdwch9mqr54qb7df0wp2sd77v17dq6gsci33";
|
||||
};
|
||||
|
||||
buildInputs = [ python lzma boost ];
|
||||
buildInputs = [ lzma boost ];
|
||||
|
||||
# Python is reported as missing during the build, however
|
||||
# including Python does not change the output.
|
||||
|
||||
nativeBuildInputs = [ cmake makeWrapper ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# we need unar to for multi-archive extraction
|
||||
postFixup = lib.optionalString withGog ''
|
||||
wrapProgram $out/bin/innoextract \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, which, ninja, python, pkg-config, protobuf
|
||||
{ lib, stdenv, fetchFromGitHub, which, ninja, pkg-config, protobuf
|
||||
, ibus, gtk2, zinnia, qt5, libxcb, tegaki-zinnia-japanese, python3Packages }:
|
||||
|
||||
let
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "chezmoi";
|
||||
version = "2.0.5";
|
||||
version = "2.0.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "twpayne";
|
||||
repo = "chezmoi";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mq9kwkEeh+kVhiVy/h44oP3Rj819gGQDiMifSb7ryeY=";
|
||||
sha256 = "sha256-mJJtkJ57rYEe1BWK3TWAMOar/IUUC9ybiccx81puHsE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-YU+t8GVsLYWONezUIB4NUrVxtYOmf/2b5v4v3VSYtBU=";
|
||||
|
|
33
pkgs/tools/misc/clickclack/default.nix
Normal file
33
pkgs/tools/misc/clickclack/default.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromSourcehut
|
||||
, SDL2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clickclack";
|
||||
version = "0.1.1";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~proycon";
|
||||
repo = "clickclack";
|
||||
rev = version;
|
||||
sha256 = "1q8r0ng1bld5n82gh7my7ck90f4plf8vf019hm2wz475dl38izd5";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
SDL2
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A vibration/audio feedback tool to be used with virtual keyboards";
|
||||
homepage = "https://git.sr.ht/~proycon/clickclack";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
};
|
||||
}
|
|
@ -4,15 +4,15 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "exa";
|
||||
version = "unstable-2021-01-14";
|
||||
version = "0.10.0";
|
||||
|
||||
cargoSha256 = "1lmjh0grpnx20y6raxnxgjkr92h395r6jk8mm2ypc4cxpxczdqvl";
|
||||
cargoSha256 = "sha256-hslQZkmZ023gKxBbfgwqazBPUk0qWyy51uRJtr3QvWE=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ogham";
|
||||
repo = pname;
|
||||
rev = "13b91cced4cab012413b25c9d3e30c63548639d0";
|
||||
sha256 = "18y4v1s102lh3gvgjwdd66qlsr75wpwpcj8zsk5y5r95a405dkfm";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xolanu4zhAwsbSPdGKgY2/uHtP30DSpr/7Vv1z4jEnQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
|
||||
|
@ -46,6 +46,6 @@ rustPlatform.buildRustPackage rec {
|
|||
'';
|
||||
homepage = "https://the.exa.website";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ehegnes lilyball globin ];
|
||||
maintainers = with maintainers; [ ehegnes lilyball globin fortuneteller2k ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, fetchFromGitHub, pythonPackages, glibcLocales }:
|
||||
{ lib, fetchFromGitHub, python3Packages, glibcLocales }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "i3minator";
|
||||
version = "0.0.4";
|
||||
|
||||
|
@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec {
|
|||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
buildInputs = [ glibcLocales ];
|
||||
propagatedBuildInputs = [ pythonPackages.pyyaml pythonPackages.i3-py ];
|
||||
propagatedBuildInputs = [ python3Packages.pyyaml python3Packages.i3-py ];
|
||||
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
|
139
pkgs/tools/networking/curl/7.74.0-CVE-2021-22876.patch
Normal file
139
pkgs/tools/networking/curl/7.74.0-CVE-2021-22876.patch
Normal file
|
@ -0,0 +1,139 @@
|
|||
Based on upstream 7214288898f5625a6cc196e22a74232eada7861c, adapted by ris to
|
||||
compensate for lack of 95cbcec8f986492766c4be3922af1e7644e1e7c5
|
||||
|
||||
---
|
||||
lib/transfer.c | 25 ++++++++++++++--
|
||||
tests/data/Makefile.inc | 2 +-
|
||||
tests/data/test2081 | 66 +++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 90 insertions(+), 3 deletions(-)
|
||||
create mode 100644 tests/data/test2081
|
||||
|
||||
diff --git a/lib/transfer.c b/lib/transfer.c
|
||||
index 1976bc0338bc..a68c021c84d6 100644
|
||||
--- a/lib/transfer.c
|
||||
+++ b/lib/transfer.c
|
||||
@@ -1581,6 +1581,9 @@ CURLcode Curl_follow(struct Curl_easy *data,
|
||||
data->set.followlocation++; /* count location-followers */
|
||||
|
||||
if(data->set.http_auto_referer) {
|
||||
+ CURLU *u;
|
||||
+ char *referer;
|
||||
+
|
||||
/* We are asked to automatically set the previous URL as the referer
|
||||
when we get the next URL. We pick the ->url field, which may or may
|
||||
not be 100% correct */
|
||||
@@ -1590,9 +1593,27 @@ CURLcode Curl_follow(struct Curl_easy *data,
|
||||
data->change.referer_alloc = FALSE;
|
||||
}
|
||||
|
||||
- data->change.referer = strdup(data->change.url);
|
||||
- if(!data->change.referer)
|
||||
+ /* Make a copy of the URL without crenditals and fragment */
|
||||
+ u = curl_url();
|
||||
+ if(!u)
|
||||
+ return CURLE_OUT_OF_MEMORY;
|
||||
+
|
||||
+ uc = curl_url_set(u, CURLUPART_URL, data->change.url, 0);
|
||||
+ if(!uc)
|
||||
+ uc = curl_url_set(u, CURLUPART_FRAGMENT, NULL, 0);
|
||||
+ if(!uc)
|
||||
+ uc = curl_url_set(u, CURLUPART_USER, NULL, 0);
|
||||
+ if(!uc)
|
||||
+ uc = curl_url_set(u, CURLUPART_PASSWORD, NULL, 0);
|
||||
+ if(!uc)
|
||||
+ uc = curl_url_get(u, CURLUPART_URL, &referer, 0);
|
||||
+
|
||||
+ curl_url_cleanup(u);
|
||||
+
|
||||
+ if(uc || referer == NULL)
|
||||
return CURLE_OUT_OF_MEMORY;
|
||||
+
|
||||
+ data->change.referer = referer;
|
||||
data->change.referer_alloc = TRUE; /* yes, free this later */
|
||||
}
|
||||
}
|
||||
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
|
||||
index 2c7a0ca89fd8..ea52683d2254 100644
|
||||
--- a/tests/data/Makefile.inc
|
||||
+++ b/tests/data/Makefile.inc
|
||||
@@ -225,7 +225,7 @@ test2064 test2065 test2066 test2067 test2068 test2069 \
|
||||
test2064 test2065 test2066 test2067 test2068 test2069 test2070 \
|
||||
test2071 test2072 test2073 test2074 test2075 test2076 test2077 \
|
||||
test2078 \
|
||||
-test2080 \
|
||||
+test2080 test2081 \
|
||||
test2100 \
|
||||
\
|
||||
test3000 test3001 test3002 test3003 test3004 test3005 test3006 test3007 \
|
||||
diff --git a/tests/data/test2081 b/tests/data/test2081
|
||||
new file mode 100644
|
||||
index 000000000000..a6733e737beb
|
||||
--- /dev/null
|
||||
+++ b/tests/data/test2081
|
||||
@@ -0,0 +1,66 @@
|
||||
+<testcase>
|
||||
+<info>
|
||||
+<keywords>
|
||||
+HTTP
|
||||
+HTTP GET
|
||||
+referer
|
||||
+followlocation
|
||||
+--write-out
|
||||
+</keywords>
|
||||
+</info>
|
||||
+
|
||||
+# Server-side
|
||||
+<reply>
|
||||
+<data nocheck="yes">
|
||||
+HTTP/1.1 301 This is a weirdo text message swsclose
|
||||
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
|
||||
+Content-Length: 62
|
||||
+Connection: close
|
||||
+
|
||||
+This server reply is for testing a simple Location: following
|
||||
+</data>
|
||||
+</reply>
|
||||
+
|
||||
+# Client-side
|
||||
+<client>
|
||||
+<server>
|
||||
+http
|
||||
+</server>
|
||||
+ <name>
|
||||
+Automatic referrer credential and anchor stripping check
|
||||
+ </name>
|
||||
+ <command>
|
||||
+http://user:pass@%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER#anchor --location --referer ';auto' --write-out '%{referer}\n'
|
||||
+</command>
|
||||
+</client>
|
||||
+
|
||||
+# Verify data after the test has been "shot"
|
||||
+<verify>
|
||||
+<errorcode>
|
||||
+52
|
||||
+</errorcode>
|
||||
+<protocol>
|
||||
+GET /we/want/our/%TESTNUMBER HTTP/1.1
|
||||
+Host: %HOSTIP:%HTTPPORT
|
||||
+Authorization: Basic dXNlcjpwYXNz
|
||||
+User-Agent: curl/%VERSION
|
||||
+Accept: */*
|
||||
+
|
||||
+GET /we/want/our/data/%TESTNUMBER0002.txt?coolsite=yes HTTP/1.1
|
||||
+Host: %HOSTIP:%HTTPPORT
|
||||
+Authorization: Basic dXNlcjpwYXNz
|
||||
+User-Agent: curl/%VERSION
|
||||
+Accept: */*
|
||||
+Referer: http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER
|
||||
+
|
||||
+</protocol>
|
||||
+<stdout>
|
||||
+HTTP/1.1 301 This is a weirdo text message swsclose
|
||||
+Location: data/%TESTNUMBER0002.txt?coolsite=yes
|
||||
+Content-Length: 62
|
||||
+Connection: close
|
||||
+
|
||||
+http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER
|
||||
+</stdout>
|
||||
+</verify>
|
||||
+</testcase>
|
473
pkgs/tools/networking/curl/7.74.0-CVE-2021-22890.patch
Normal file
473
pkgs/tools/networking/curl/7.74.0-CVE-2021-22890.patch
Normal file
|
@ -0,0 +1,473 @@
|
|||
Based on upstream b09c8ee15771c614c4bf3ddac893cdb12187c844, adapted by ris mostly to
|
||||
compensate for lack of bbe3aa9f881fa27fe828e3c9a36d6831f254a3ee
|
||||
|
||||
diff --git a/lib/vtls/bearssl.c b/lib/vtls/bearssl.c
|
||||
index 36c32d8d55be..39fc1a29209c 100644
|
||||
--- a/lib/vtls/bearssl.c
|
||||
+++ b/lib/vtls/bearssl.c
|
||||
@@ -375,7 +375,8 @@ static CURLcode bearssl_connect_step1(struct Curl_easy *data,
|
||||
void *session;
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, &session, NULL, sockindex)) {
|
||||
+ if(!Curl_ssl_getsessionid(conn, SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ &session, NULL, sockindex)) {
|
||||
br_ssl_engine_set_session_parameters(&backend->ctx.eng, session);
|
||||
infof(data, "BearSSL: re-using session ID\n");
|
||||
}
|
||||
@@ -571,9 +572,13 @@ static CURLcode bearssl_connect_step3(struct Curl_easy *data,
|
||||
br_ssl_engine_get_session_parameters(&backend->ctx.eng, session);
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- incache = !(Curl_ssl_getsessionid(conn, &oldsession, NULL, sockindex));
|
||||
+ incache = !(Curl_ssl_getsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ &oldsession, NULL, sockindex));
|
||||
if(incache)
|
||||
Curl_ssl_delsessionid(conn, oldsession);
|
||||
- ret = Curl_ssl_addsessionid(conn, session, 0, sockindex);
|
||||
+ ret = Curl_ssl_addsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ session, 0, sockindex);
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
if(ret) {
|
||||
free(session);
|
||||
diff --git a/lib/vtls/gtls.c b/lib/vtls/gtls.c
|
||||
index a75937b4646c..3b0d940a60e1 100644
|
||||
--- a/lib/vtls/gtls.c
|
||||
+++ b/lib/vtls/gtls.c
|
||||
@@ -727,5 +727,7 @@ gtls_connect_step1(struct Curl_easy *data,
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, &ssl_sessionid, &ssl_idsize, sockindex)) {
|
||||
+ if(!Curl_ssl_getsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ &ssl_sessionid, &ssl_idsize, sockindex)) {
|
||||
/* we got a session id, use it! */
|
||||
gnutls_session_set_data(session, ssl_sessionid, ssl_idsize);
|
||||
@@ -1286,8 +1287,9 @@ gtls_connect_step3(struct Curl_easy *data,
|
||||
gnutls_session_get_data(session, connect_sessionid, &connect_idsize);
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- incache = !(Curl_ssl_getsessionid(conn, &ssl_sessionid, NULL,
|
||||
- sockindex));
|
||||
+ incache = !(Curl_ssl_getsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ &ssl_sessionid, NULL, sockindex));
|
||||
if(incache) {
|
||||
/* there was one before in the cache, so instead of risking that the
|
||||
previous one was rejected, we just kill that and store the new */
|
||||
@@ -1295,8 +1297,10 @@ gtls_connect_step3(struct Curl_easy *data,
|
||||
}
|
||||
|
||||
/* store this session id */
|
||||
- result = Curl_ssl_addsessionid(conn, connect_sessionid, connect_idsize,
|
||||
- sockindex);
|
||||
+ result = Curl_ssl_addsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ connect_sessionid, connect_idsize,
|
||||
+ sockindex);
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
if(result) {
|
||||
free(connect_sessionid);
|
||||
diff --git a/lib/vtls/mbedtls.c b/lib/vtls/mbedtls.c
|
||||
index 95cd4d99b665..93a7ac1fd87d 100644
|
||||
--- a/lib/vtls/mbedtls.c
|
||||
+++ b/lib/vtls/mbedtls.c
|
||||
@@ -463,7 +463,9 @@ mbed_connect_step1(struct Curl_easy *data, struct connectdata *conn,
|
||||
void *old_session = NULL;
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, &old_session, NULL, sockindex)) {
|
||||
+ if(!Curl_ssl_getsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ &old_session, NULL, sockindex)) {
|
||||
ret = mbedtls_ssl_set_session(&backend->ssl, old_session);
|
||||
if(ret) {
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
@@ -724,6 +726,7 @@ mbed_connect_step3(struct Curl_easy *data, struct connectdata *conn,
|
||||
int ret;
|
||||
mbedtls_ssl_session *our_ssl_sessionid;
|
||||
void *old_ssl_sessionid = NULL;
|
||||
+ bool isproxy = SSL_IS_PROXY() ? TRUE : FALSE;
|
||||
|
||||
our_ssl_sessionid = malloc(sizeof(mbedtls_ssl_session));
|
||||
if(!our_ssl_sessionid)
|
||||
@@ -742,10 +745,12 @@ mbed_connect_step3(struct Curl_easy *data, struct connectdata *conn,
|
||||
|
||||
/* If there's already a matching session in the cache, delete it */
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, &old_ssl_sessionid, NULL, sockindex))
|
||||
+ if(!Curl_ssl_getsessionid(conn, isproxy, &old_ssl_sessionid, NULL,
|
||||
+ sockindex))
|
||||
Curl_ssl_delsessionid(conn, old_ssl_sessionid);
|
||||
|
||||
- retcode = Curl_ssl_addsessionid(conn, our_ssl_sessionid, 0, sockindex);
|
||||
+ retcode = Curl_ssl_addsessionid(conn, isproxy, our_ssl_sessionid,
|
||||
+ 0, sockindex);
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
if(retcode) {
|
||||
mbedtls_ssl_session_free(our_ssl_sessionid);
|
||||
diff --git a/lib/vtls/mesalink.c b/lib/vtls/mesalink.c
|
||||
index 4f1ab8627f49..5d6a1495d790 100644
|
||||
--- a/lib/vtls/mesalink.c
|
||||
+++ b/lib/vtls/mesalink.c
|
||||
@@ -261,7 +261,9 @@ mesalink_connect_step1(struct Curl_easy *data,
|
||||
void *ssl_sessionid = NULL;
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, &ssl_sessionid, NULL, sockindex)) {
|
||||
+ if(!Curl_ssl_getsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ &ssl_sessionid, NULL, sockindex)) {
|
||||
/* we got a session id, use it! */
|
||||
if(!SSL_set_session(BACKEND->handle, ssl_sessionid)) {
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
@@ -345,12 +347,14 @@ mesalink_connect_step3(struct connectdata *conn, int sockindex)
|
||||
bool incache;
|
||||
SSL_SESSION *our_ssl_sessionid;
|
||||
void *old_ssl_sessionid = NULL;
|
||||
+ bool isproxy = SSL_IS_PROXY() ? TRUE : FALSE;
|
||||
|
||||
our_ssl_sessionid = SSL_get_session(BACKEND->handle);
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
incache =
|
||||
- !(Curl_ssl_getsessionid(conn, &old_ssl_sessionid, NULL, sockindex));
|
||||
+ !(Curl_ssl_getsessionid(conn, isproxy, &old_ssl_sessionid, NULL,
|
||||
+ sockindex));
|
||||
if(incache) {
|
||||
if(old_ssl_sessionid != our_ssl_sessionid) {
|
||||
infof(data, "old SSL session ID is stale, removing\n");
|
||||
@@ -361,8 +364,9 @@ mesalink_connect_step3(struct connectdata *conn, int sockindex)
|
||||
}
|
||||
|
||||
if(!incache) {
|
||||
- result = Curl_ssl_addsessionid(
|
||||
- conn, our_ssl_sessionid, 0 /* unknown size */, sockindex);
|
||||
+ result =
|
||||
+ Curl_ssl_addsessionid(conn, isproxy, our_ssl_sessionid, 0,
|
||||
+ sockindex);
|
||||
if(result) {
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
failf(data, "failed to store ssl session");
|
||||
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
|
||||
index 498f8b9d1d08..68b98984b460 100644
|
||||
--- a/lib/vtls/openssl.c
|
||||
+++ b/lib/vtls/openssl.c
|
||||
@@ -393,12 +393,23 @@ static int ossl_get_ssl_conn_index(void)
|
||||
*/
|
||||
static int ossl_get_ssl_sockindex_index(void)
|
||||
{
|
||||
- static int ssl_ex_data_sockindex_index = -1;
|
||||
- if(ssl_ex_data_sockindex_index < 0) {
|
||||
- ssl_ex_data_sockindex_index = SSL_get_ex_new_index(0, NULL, NULL, NULL,
|
||||
- NULL);
|
||||
+ static int sockindex_index = -1;
|
||||
+ if(sockindex_index < 0) {
|
||||
+ sockindex_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
- return ssl_ex_data_sockindex_index;
|
||||
+ return sockindex_index;
|
||||
+}
|
||||
+
|
||||
+/* Return an extra data index for proxy boolean.
|
||||
+ * This index can be used with SSL_get_ex_data() and SSL_set_ex_data().
|
||||
+ */
|
||||
+static int ossl_get_proxy_index(void)
|
||||
+{
|
||||
+ static int proxy_index = -1;
|
||||
+ if(proxy_index < 0) {
|
||||
+ proxy_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
|
||||
+ }
|
||||
+ return proxy_index;
|
||||
}
|
||||
|
||||
static int passwd_callback(char *buf, int num, int encrypting,
|
||||
@@ -1174,6 +1185,7 @@ static int ossl_init(void)
|
||||
|
||||
/* Initialize the extra data indexes */
|
||||
- if(ossl_get_ssl_conn_index() < 0 || ossl_get_ssl_sockindex_index() < 0)
|
||||
+ if(ossl_get_ssl_conn_index() < 0 ||
|
||||
+ ossl_get_ssl_sockindex_index() < 0 || ossl_get_proxy_index() < 0)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
@@ -2432,8 +2443,10 @@ static int ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
|
||||
curl_socket_t *sockindex_ptr;
|
||||
int connectdata_idx = ossl_get_ssl_conn_index();
|
||||
int sockindex_idx = ossl_get_ssl_sockindex_index();
|
||||
+ int proxy_idx = ossl_get_proxy_index();
|
||||
+ bool isproxy;
|
||||
|
||||
- if(connectdata_idx < 0 || sockindex_idx < 0)
|
||||
+ if(connectdata_idx < 0 || sockindex_idx < 0 || proxy_idx < 0)
|
||||
return 0;
|
||||
|
||||
conn = (struct connectdata*) SSL_get_ex_data(ssl, connectdata_idx);
|
||||
@@ -2446,13 +2459,18 @@ static int ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
|
||||
sockindex_ptr = (curl_socket_t*) SSL_get_ex_data(ssl, sockindex_idx);
|
||||
sockindex = (int)(sockindex_ptr - conn->sock);
|
||||
|
||||
+ isproxy = SSL_get_ex_data(ssl, proxy_idx) ? TRUE : FALSE;
|
||||
+
|
||||
if(SSL_SET_OPTION(primary.sessionid)) {
|
||||
bool incache;
|
||||
void *old_ssl_sessionid = NULL;
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- incache = !(Curl_ssl_getsessionid(conn, &old_ssl_sessionid, NULL,
|
||||
- sockindex));
|
||||
+ if(isproxy)
|
||||
+ incache = FALSE;
|
||||
+ else
|
||||
+ incache = !(Curl_ssl_getsessionid(conn, isproxy,
|
||||
+ &old_ssl_sessionid, NULL, sockindex));
|
||||
if(incache) {
|
||||
if(old_ssl_sessionid != ssl_sessionid) {
|
||||
infof(data, "old SSL session ID is stale, removing\n");
|
||||
@@ -2462,8 +2480,8 @@ static int ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
|
||||
}
|
||||
|
||||
if(!incache) {
|
||||
- if(!Curl_ssl_addsessionid(conn, ssl_sessionid,
|
||||
- 0 /* unknown size */, sockindex)) {
|
||||
+ if(!Curl_ssl_addsessionid(conn, isproxy, ssl_sessionid,
|
||||
+ 0 /* unknown size */, sockindex)) {
|
||||
/* the session has been put into the session cache */
|
||||
res = 1;
|
||||
}
|
||||
@@ -3193,16 +3211,26 @@ static CURLcode ossl_connect_step1(struct Curl_easy *data,
|
||||
void *ssl_sessionid = NULL;
|
||||
int connectdata_idx = ossl_get_ssl_conn_index();
|
||||
int sockindex_idx = ossl_get_ssl_sockindex_index();
|
||||
+ int proxy_idx = ossl_get_proxy_index();
|
||||
|
||||
- if(connectdata_idx >= 0 && sockindex_idx >= 0) {
|
||||
+ if(connectdata_idx >= 0 && sockindex_idx >= 0 &&
|
||||
+ proxy_idx >= 0) {
|
||||
/* Store the data needed for the "new session" callback.
|
||||
* The sockindex is stored as a pointer to an array element. */
|
||||
SSL_set_ex_data(backend->handle, connectdata_idx, conn);
|
||||
SSL_set_ex_data(backend->handle, sockindex_idx, conn->sock + sockindex);
|
||||
+#ifndef CURL_DISABLE_PROXY
|
||||
+ SSL_set_ex_data(backend->handle, proxy_idx, SSL_IS_PROXY() ? (void *) 1:
|
||||
+ NULL);
|
||||
+#else
|
||||
+ SSL_set_ex_data(backend->handle, proxy_idx, NULL);
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, &ssl_sessionid, NULL, sockindex)) {
|
||||
+ if(!Curl_ssl_getsessionid(conn, SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ &ssl_sessionid, NULL, sockindex)) {
|
||||
/* we got a session id, use it! */
|
||||
if(!SSL_set_session(backend->handle, ssl_sessionid)) {
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
diff --git a/lib/vtls/schannel.c b/lib/vtls/schannel.c
|
||||
index d7b89d43f892..931bd853eb8e 100644
|
||||
--- a/lib/vtls/schannel.c
|
||||
+++ b/lib/vtls/schannel.c
|
||||
@@ -496,5 +496,7 @@ schannel_connect_step1(struct Curl_easy *data, struct connectdata *conn,
|
||||
if(SSL_SET_OPTION(primary.sessionid)) {
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, (void **)&old_cred, NULL, sockindex)) {
|
||||
+ if(!Curl_ssl_getsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ (void **)&old_cred, NULL, sockindex)) {
|
||||
BACKEND->cred = old_cred;
|
||||
DEBUGF(infof(data, "schannel: re-using existing credential handle\n"));
|
||||
@@ -1337,8 +1338,9 @@ schannel_connect_step3(struct Curl_easy *data, struct connectdata *conn,
|
||||
struct ssl_connect_data *connssl = &conn->ssl[sockindex];
|
||||
SECURITY_STATUS sspi_status = SEC_E_OK;
|
||||
CERT_CONTEXT *ccert_context = NULL;
|
||||
+ bool isproxy = SSL_IS_PROXY();
|
||||
#ifdef DEBUGBUILD
|
||||
- const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name :
|
||||
+ const char * const hostname = isproxy ? conn->http_proxy.host.name :
|
||||
conn->host.name;
|
||||
#endif
|
||||
#ifdef HAS_ALPN
|
||||
@@ -1414,8 +1416,8 @@ schannel_connect_step3(struct Curl_easy *data, struct connectdata *conn,
|
||||
struct Curl_schannel_cred *old_cred = NULL;
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- incache = !(Curl_ssl_getsessionid(conn, (void **)&old_cred, NULL,
|
||||
- sockindex));
|
||||
+ incache = !(Curl_ssl_getsessionid(conn, isproxy, (void **)&old_cred,
|
||||
+ NULL, sockindex));
|
||||
if(incache) {
|
||||
if(old_cred != BACKEND->cred) {
|
||||
DEBUGF(infof(data,
|
||||
@@ -1426,7 +1428,7 @@ schannel_connect_step3(struct Curl_easy *data, struct connectdata *conn,
|
||||
}
|
||||
}
|
||||
if(!incache) {
|
||||
- result = Curl_ssl_addsessionid(conn, (void *)BACKEND->cred,
|
||||
+ result = Curl_ssl_addsessionid(conn, isproxy, BACKEND->cred,
|
||||
sizeof(struct Curl_schannel_cred),
|
||||
sockindex);
|
||||
if(result) {
|
||||
diff --git a/lib/vtls/sectransp.c b/lib/vtls/sectransp.c
|
||||
index 05b57dfaad91..e69b99b72cd6 100644
|
||||
--- a/lib/vtls/sectransp.c
|
||||
+++ b/lib/vtls/sectransp.c
|
||||
@@ -1400,10 +1400,12 @@ static CURLcode sectransp_connect_step1(struct Curl_easy *data,
|
||||
char * const ssl_cert = SSL_SET_OPTION(primary.clientcert);
|
||||
const struct curl_blob *ssl_cert_blob = SSL_SET_OPTION(primary.cert_blob);
|
||||
#ifndef CURL_DISABLE_PROXY
|
||||
- const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name :
|
||||
+ bool isproxy = SSL_IS_PROXY();
|
||||
+ const char * const hostname = isproxy ? conn->http_proxy.host.name :
|
||||
conn->host.name;
|
||||
const long int port = SSL_IS_PROXY() ? conn->port : conn->remote_port;
|
||||
#else
|
||||
+ const isproxy = FALSE;
|
||||
const char * const hostname = conn->host.name;
|
||||
const long int port = conn->remote_port;
|
||||
#endif
|
||||
@@ -1613,7 +1615,7 @@ static CURLcode sectransp_connect_step1(struct Curl_easy *data,
|
||||
#ifdef USE_NGHTTP2
|
||||
if(data->state.httpversion >= CURL_HTTP_VERSION_2
|
||||
#ifndef CURL_DISABLE_PROXY
|
||||
- && (!SSL_IS_PROXY() || !conn->bits.tunnel_proxy)
|
||||
+ && (!isproxy || !conn->bits.tunnel_proxy)
|
||||
#endif
|
||||
) {
|
||||
CFArrayAppendValue(alpnArr, CFSTR(NGHTTP2_PROTO_VERSION_ID));
|
||||
@@ -1953,7 +1955,7 @@ static CURLcode sectransp_connect_step1(struct Curl_easy *data,
|
||||
size_t ssl_sessionid_len;
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, (void **)&ssl_sessionid,
|
||||
+ if(!Curl_ssl_getsessionid(conn, isproxy, (void **)&ssl_sessionid,
|
||||
&ssl_sessionid_len, sockindex)) {
|
||||
/* we got a session id, use it! */
|
||||
err = SSLSetPeerID(backend->ssl_ctx, ssl_sessionid, ssl_sessionid_len);
|
||||
@@ -1981,7 +1983,7 @@ static CURLcode sectransp_connect_step1(struct Curl_easy *data,
|
||||
return CURLE_SSL_CONNECT_ERROR;
|
||||
}
|
||||
|
||||
- result = Curl_ssl_addsessionid(conn, ssl_sessionid, ssl_sessionid_len,
|
||||
+ result = Curl_ssl_addsessionid(conn, isproxy, ssl_sessionid, ssl_sessionid_len,
|
||||
sockindex);
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
if(result) {
|
||||
diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
|
||||
index 6a0069237fdb..95fd6356285f 100644
|
||||
--- a/lib/vtls/vtls.c
|
||||
+++ b/lib/vtls/vtls.c
|
||||
@@ -367,5 +367,6 @@ void Curl_ssl_sessionid_unlock(struct Curl_easy *data)
|
||||
*/
|
||||
bool Curl_ssl_getsessionid(struct connectdata *conn,
|
||||
+ const bool isProxy,
|
||||
void **ssl_sessionid,
|
||||
size_t *idsize, /* set 0 if unknown */
|
||||
int sockindex)
|
||||
@@ -377,7 +378,6 @@ bool Curl_ssl_getsessionid(struct Curl_easy *data,
|
||||
bool no_match = TRUE;
|
||||
|
||||
#ifndef CURL_DISABLE_PROXY
|
||||
- const bool isProxy = CONNECT_PROXY_SSL();
|
||||
struct ssl_primary_config * const ssl_config = isProxy ?
|
||||
&conn->proxy_ssl_config :
|
||||
&conn->ssl_config;
|
||||
@@ -389,10 +389,15 @@ bool Curl_ssl_getsessionid(struct Curl_easy *data,
|
||||
struct ssl_primary_config * const ssl_config = &conn->ssl_config;
|
||||
const char * const name = conn->host.name;
|
||||
int port = conn->remote_port;
|
||||
- (void)sockindex;
|
||||
#endif
|
||||
+ (void)sockindex;
|
||||
*ssl_sessionid = NULL;
|
||||
|
||||
+#ifdef CURL_DISABLE_PROXY
|
||||
+ if(isProxy)
|
||||
+ return TRUE;
|
||||
+#endif
|
||||
+
|
||||
DEBUGASSERT(SSL_SET_OPTION(primary.sessionid));
|
||||
|
||||
if(!SSL_SET_OPTION(primary.sessionid))
|
||||
@@ -480,5 +485,6 @@ void Curl_ssl_delsessionid(struct Curl_easy *data, void *ssl_sessionid)
|
||||
*/
|
||||
CURLcode Curl_ssl_addsessionid(struct connectdata *conn,
|
||||
+ bool isProxy,
|
||||
void *ssl_sessionid,
|
||||
size_t idsize,
|
||||
int sockindex)
|
||||
@@ -492,7 +498,6 @@ CURLcode Curl_ssl_addsessionid(struct Curl_easy *data,
|
||||
int conn_to_port;
|
||||
long *general_age;
|
||||
#ifndef CURL_DISABLE_PROXY
|
||||
- const bool isProxy = CONNECT_PROXY_SSL();
|
||||
struct ssl_primary_config * const ssl_config = isProxy ?
|
||||
&conn->proxy_ssl_config :
|
||||
&conn->ssl_config;
|
||||
@@ -505,6 +510,7 @@ CURLcode Curl_ssl_addsessionid(struct Curl_easy *data,
|
||||
const char *hostname = conn->host.name;
|
||||
(void)sockindex;
|
||||
#endif
|
||||
+ (void)sockindex;
|
||||
DEBUGASSERT(SSL_SET_OPTION(primary.sessionid));
|
||||
|
||||
clone_host = strdup(hostname);
|
||||
diff --git a/lib/vtls/vtls.h b/lib/vtls/vtls.h
|
||||
index 273184f1894a..2b43e7744b19 100644
|
||||
--- a/lib/vtls/vtls.h
|
||||
+++ b/lib/vtls/vtls.h
|
||||
@@ -235,5 +235,6 @@ void Curl_ssl_sessionid_unlock(struct Curl_easy *data);
|
||||
*/
|
||||
bool Curl_ssl_getsessionid(struct connectdata *conn,
|
||||
+ const bool isproxy,
|
||||
void **ssl_sessionid,
|
||||
size_t *idsize, /* set 0 if unknown */
|
||||
int sockindex);
|
||||
@@ -245,5 +246,6 @@ bool Curl_ssl_getsessionid(struct Curl_easy *data,
|
||||
*/
|
||||
CURLcode Curl_ssl_addsessionid(struct connectdata *conn,
|
||||
+ const bool isProxy,
|
||||
void *ssl_sessionid,
|
||||
size_t idsize,
|
||||
int sockindex);
|
||||
diff --git a/lib/vtls/wolfssl.c b/lib/vtls/wolfssl.c
|
||||
index 7159ac9d5e64..8fb2ea7acf31 100644
|
||||
--- a/lib/vtls/wolfssl.c
|
||||
+++ b/lib/vtls/wolfssl.c
|
||||
@@ -516,7 +516,9 @@ wolfssl_connect_step1(struct Curl_easy *data, struct connectdata *conn,
|
||||
void *ssl_sessionid = NULL;
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- if(!Curl_ssl_getsessionid(conn, &ssl_sessionid, NULL, sockindex)) {
|
||||
+ if(!Curl_ssl_getsessionid(conn,
|
||||
+ SSL_IS_PROXY() ? TRUE : FALSE,
|
||||
+ &ssl_sessionid, NULL, sockindex)) {
|
||||
/* we got a session id, use it! */
|
||||
if(!SSL_set_session(backend->handle, ssl_sessionid)) {
|
||||
char error_buffer[WOLFSSL_MAX_ERROR_SZ];
|
||||
@@ -772,10 +774,11 @@ wolfssl_connect_step3(struct Curl_easy *data, struct connectdata *conn,
|
||||
void *old_ssl_sessionid = NULL;
|
||||
|
||||
our_ssl_sessionid = SSL_get_session(backend->handle);
|
||||
+ bool isproxy = SSL_IS_PROXY() ? TRUE : FALSE;
|
||||
|
||||
Curl_ssl_sessionid_lock(conn);
|
||||
- incache = !(Curl_ssl_getsessionid(conn, &old_ssl_sessionid, NULL,
|
||||
- sockindex));
|
||||
+ incache = !(Curl_ssl_getsessionid(conn, isproxy,
|
||||
+ &old_ssl_sessionid, NULL, sockindex));
|
||||
if(incache) {
|
||||
if(old_ssl_sessionid != our_ssl_sessionid) {
|
||||
infof(data, "old SSL session ID is stale, removing\n");
|
||||
@@ -786,8 +789,8 @@ wolfssl_connect_step3(struct Curl_easy *data, struct connectdata *conn,
|
||||
}
|
||||
|
||||
if(!incache) {
|
||||
- result = Curl_ssl_addsessionid(conn, our_ssl_sessionid,
|
||||
- 0 /* unknown size */, sockindex);
|
||||
+ result = Curl_ssl_addsessionid(conn, isproxy, our_ssl_sessionid,
|
||||
+ 0, sockindex);
|
||||
if(result) {
|
||||
Curl_ssl_sessionid_unlock(conn);
|
||||
failf(data, "failed to store ssl session");
|
|
@ -45,6 +45,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "19bp3d91xq9vqwlbzq261j23mk9lz4lyka4gr2fm6dhnd3k66k8g";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./7.74.0-CVE-2021-22876.patch
|
||||
./7.74.0-CVE-2021-22890.patch
|
||||
];
|
||||
|
||||
outputs = [ "bin" "dev" "out" "man" "devdoc" ];
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, fetchFromGitHub, curl, pythonPackages, glibcLocales }:
|
||||
{ lib, fetchFromGitHub, curl, python3Packages, glibcLocales }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "httpstat";
|
||||
version = "1.3.1";
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper,
|
||||
pkg-config, systemd, gmp, unbound, bison, flex, pam, libevent, libcap_ng, curl, nspr,
|
||||
bash, iproute, iptables, procps, coreutils, gnused, gawk, nss, which, python,
|
||||
bash, iproute, iptables, procps, coreutils, gnused, gawk, nss, which, python3,
|
||||
docs ? false, xmlto, libselinux, ldns
|
||||
}:
|
||||
|
||||
let
|
||||
binPath = lib.makeBinPath [
|
||||
bash iproute iptables procps coreutils gnused gawk nss.tools which python
|
||||
bash iproute iptables procps coreutils gnused gawk nss.tools which python3
|
||||
];
|
||||
in
|
||||
|
||||
|
@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0bj3g6qwd3ir3gk6hdl9npy3k44shf56vcgjahn30qpmx3z5fsr3";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# These flags were added to compile v3.18. Try to lift them when updating.
|
||||
NIX_CFLAGS_COMPILE = toString [ "-Wno-error=redundant-decls" "-Wno-error=format-nonliteral"
|
||||
# these flags were added to build with gcc7
|
||||
|
@ -35,9 +37,15 @@ stdenv.mkDerivation rec {
|
|||
"-DNSS_PKCS11_2_0_COMPAT=1"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper pkg-config ];
|
||||
buildInputs = [ bash iproute iptables systemd coreutils gnused gawk gmp unbound bison flex pam libevent
|
||||
libcap_ng curl nspr nss python ldns ]
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
flex
|
||||
makeWrapper
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [ bash iproute iptables systemd coreutils gnused gawk gmp unbound pam libevent
|
||||
libcap_ng curl nspr nss python3 ldns ]
|
||||
++ lib.optional docs xmlto
|
||||
++ lib.optional stdenv.isLinux libselinux;
|
||||
|
||||
|
|
|
@ -3,22 +3,22 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "4.36.2";
|
||||
version = "4.37.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2fly";
|
||||
repo = "v2ray-core";
|
||||
rev = "v${version}";
|
||||
sha256 = "1gvzr4kq4klld8m0jv6mizgrx3xj6s2i69kl9vmh5n355bakb7kk";
|
||||
sha256 = "00bw91n7210gsnc7bw2spl6k1yl2i7d1j55w98qf4rvn80z9d59r";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-8O0xUNIdu3W//LtwiMZlSs1wkpa6Jt+vFkTavz6TBKU=";
|
||||
vendorSha256 = "sha256-sc001qWdmhhaUh0nmvaqwwVE2Ee8IFWYi4K8aAURWBE=";
|
||||
|
||||
assets = {
|
||||
# MIT licensed
|
||||
"geoip.dat" = let
|
||||
geoipRev = "202103170314";
|
||||
geoipSha256 = "147kajdhby92yxsvcpa6bpk11ilzvc4nj7rc0h84wp2f0y692kq2";
|
||||
geoipRev = "202104010913";
|
||||
geoipSha256 = "1kq6d68ii9hr2w0caxacqh5q8jran154b99aik4g7ripgx7lckpr";
|
||||
in fetchurl {
|
||||
url = "https://github.com/v2fly/geoip/releases/download/${geoipRev}/geoip.dat";
|
||||
sha256 = geoipSha256;
|
||||
|
@ -26,8 +26,8 @@ let
|
|||
|
||||
# MIT licensed
|
||||
"geosite.dat" = let
|
||||
geositeRev = "20210317031429";
|
||||
geositeSha256 = "0nzd0ll0x7hv75cbh1i3kgmffasi002a8n3mjw22zywj71v2jwmz";
|
||||
geositeRev = "20210403111045";
|
||||
geositeSha256 = "1b64yci0dmvw9divfv3njpzczz2ag3cnvyr29c2mk8y85vp05ysc";
|
||||
in fetchurl {
|
||||
url = "https://github.com/v2fly/domain-list-community/releases/download/${geositeRev}/dlc.dat";
|
||||
sha256 = geositeSha256;
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "doppler";
|
||||
version = "3.23.1";
|
||||
version = "3.23.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dopplerhq";
|
||||
repo = "cli";
|
||||
rev = version;
|
||||
sha256 = "sha256-6sTsASfHIFH1V3Q20R2y8AiOVZ4NR4GGRCKRVr25kkc=";
|
||||
sha256 = "sha256-qdBq1vjvvb55gyL4XuPDrPK58YLSSH5kLp1oP84vJsU=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-UaR/xYGMI+C9aID85aPSfVzmTWXj4KcjfOJ6TTJ8KoY=";
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue