Merge pull request #178869 from Artturin/curlies
This commit is contained in:
commit
fb6816eae3
6 changed files with 39 additions and 15 deletions
|
@ -156,6 +156,7 @@ in rec {
|
||||||
(onSystems ["i686-linux"] "nixos.tests.zfs.installer")
|
(onSystems ["i686-linux"] "nixos.tests.zfs.installer")
|
||||||
(onFullSupported "nixpkgs.emacs")
|
(onFullSupported "nixpkgs.emacs")
|
||||||
(onFullSupported "nixpkgs.jdk")
|
(onFullSupported "nixpkgs.jdk")
|
||||||
|
(onFullSupported "nixpkgs.tests.packageTestsForChannelBlockers.curl.withCheck")
|
||||||
["nixpkgs.tarball"]
|
["nixpkgs.tarball"]
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -120,6 +120,7 @@ in rec {
|
||||||
"nixos.tests.proxy.x86_64-linux"
|
"nixos.tests.proxy.x86_64-linux"
|
||||||
"nixos.tests.simple.x86_64-linux"
|
"nixos.tests.simple.x86_64-linux"
|
||||||
"nixpkgs.jdk.x86_64-linux"
|
"nixpkgs.jdk.x86_64-linux"
|
||||||
|
"nixpkgs.tests.packageTestsForChannelBlockers.curl.withCheck.x86_64-linux"
|
||||||
"nixpkgs.tarball"
|
"nixpkgs.tarball"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -24,6 +24,14 @@ with pkgs;
|
||||||
|
|
||||||
config = callPackage ./config.nix { };
|
config = callPackage ./config.nix { };
|
||||||
|
|
||||||
|
# we can't add 'nixpkgs.curl.tests' to hydra jobs due to 'tests' (and 'passthru') being stripped
|
||||||
|
# TODO: add a function in lib-release.nix to get derivations and add `.x86_64-linux` to them
|
||||||
|
# then we can just point release files to nixpkgs.tests.packageTestsForChannelBlockers instead of
|
||||||
|
# nixpkgs.tests.packageTestsForChannelBlockers.curl.withCheck
|
||||||
|
packageTestsForChannelBlockers = recurseIntoAttrs {
|
||||||
|
curl = recurseIntoAttrs pkgs.curl.tests;
|
||||||
|
};
|
||||||
|
|
||||||
haskell = callPackage ./haskell { };
|
haskell = callPackage ./haskell { };
|
||||||
|
|
||||||
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
|
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
, ocamlPackages
|
, ocamlPackages
|
||||||
, phpExtensions
|
, phpExtensions
|
||||||
, python3
|
, python3
|
||||||
|
, tests
|
||||||
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# Note: this package is used for bootstrapping fetchurl, and thus
|
# Note: this package is used for bootstrapping fetchurl, and thus
|
||||||
|
@ -61,14 +63,14 @@ assert wolfsslSupport -> wolfssl != null;
|
||||||
assert zlibSupport -> zlib != null;
|
assert zlibSupport -> zlib != null;
|
||||||
assert zstdSupport -> zstd != null;
|
assert zstdSupport -> zstd != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "curl";
|
pname = "curl";
|
||||||
version = "7.84.0";
|
version = "7.84.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
"https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
|
"https://curl.haxx.se/download/curl-${finalAttrs.version}.tar.bz2"
|
||||||
"https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
|
"https://github.com/curl/curl/releases/download/curl-${finalAttrs.version}/curl-${finalAttrs.version}.tar.bz2"
|
||||||
];
|
];
|
||||||
sha256 = "sha256-cC+ybnMZCjvXcHGqFG9Qe5gXzE384hjSq4fwDNO8BZ0=";
|
sha256 = "sha256-cC+ybnMZCjvXcHGqFG9Qe5gXzE384hjSq4fwDNO8BZ0=";
|
||||||
};
|
};
|
||||||
|
@ -149,7 +151,10 @@ stdenv.mkDerivation rec {
|
||||||
CXX = "${stdenv.cc.targetPrefix}c++";
|
CXX = "${stdenv.cc.targetPrefix}c++";
|
||||||
CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
|
CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
|
||||||
|
|
||||||
doCheck = true;
|
# takes 14 minutes on a 24 core and because many other packages depend on curl
|
||||||
|
# they cannot be run concurrently and are a bottleneck
|
||||||
|
# tests are available in passthru.tests.withCheck
|
||||||
|
doCheck = false;
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
patchShebangs tests/
|
patchShebangs tests/
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
|
@ -174,16 +179,23 @@ stdenv.mkDerivation rec {
|
||||||
ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary}.4.4.0
|
ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary}.4.4.0
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = let
|
||||||
|
useThisCurl = attr: attr.override { curl = finalAttrs.finalPackage; };
|
||||||
|
in {
|
||||||
inherit opensslSupport openssl;
|
inherit opensslSupport openssl;
|
||||||
tests = {
|
tests = {
|
||||||
inherit curlpp coeurl;
|
withCheck = finalAttrs.finalPackage.overrideAttrs (_: { doCheck = true; });
|
||||||
haskell-curl = haskellPackages.curl;
|
fetchpatch = tests.fetchpatch.simple.override { fetchpatch = fetchpatch.override { fetchurl = useThisCurl fetchurl; }; };
|
||||||
ocaml-curly = ocamlPackages.curly;
|
curlpp = useThisCurl curlpp;
|
||||||
php-curl = phpExtensions.curl;
|
coeurl = useThisCurl coeurl;
|
||||||
pycurl = python3.pkgs.pycurl;
|
haskell-curl = useThisCurl haskellPackages.curl;
|
||||||
|
ocaml-curly = useThisCurl ocamlPackages.curly;
|
||||||
|
pycurl = useThisCurl python3.pkgs.pycurl;
|
||||||
|
php-curl = useThisCurl phpExtensions.curl;
|
||||||
|
# error: attribute 'override' missing
|
||||||
# Additional checking with support http3 protocol.
|
# Additional checking with support http3 protocol.
|
||||||
inherit (nixosTests) nginx-http3;
|
# nginx-http3 = useThisCurl nixosTests.nginx-http3;
|
||||||
|
nginx-http3 = nixosTests.nginx-http3;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -196,4 +208,4 @@ stdenv.mkDerivation rec {
|
||||||
# Fails to link against static brotli or gss
|
# Fails to link against static brotli or gss
|
||||||
broken = stdenv.hostPlatform.isStatic && (brotliSupport || gssSupport);
|
broken = stdenv.hostPlatform.isStatic && (brotliSupport || gssSupport);
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -66,8 +66,8 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
#
|
#
|
||||||
# Build inputs is used for extra deps that may be needed. And zendExtension
|
# Build inputs is used for extra deps that may be needed. And zendExtension
|
||||||
# will mark the extension as a zend extension or not.
|
# will mark the extension as a zend extension or not.
|
||||||
mkExtension =
|
mkExtension = lib.makeOverridable
|
||||||
{ name
|
({ name
|
||||||
, configureFlags ? [ "--enable-${name}" ]
|
, configureFlags ? [ "--enable-${name}" ]
|
||||||
, internalDeps ? [ ]
|
, internalDeps ? [ ]
|
||||||
, postPhpize ? ""
|
, postPhpize ? ""
|
||||||
|
@ -151,7 +151,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
description = "PHP upstream extension: ${name}";
|
description = "PHP upstream extension: ${name}";
|
||||||
inherit (php.meta) maintainers homepage license;
|
inherit (php.meta) maintainers homepage license;
|
||||||
};
|
};
|
||||||
});
|
}));
|
||||||
|
|
||||||
php = phpPackage;
|
php = phpPackage;
|
||||||
|
|
||||||
|
|
|
@ -97,6 +97,7 @@ let
|
||||||
jobs.lib-tests
|
jobs.lib-tests
|
||||||
jobs.pkgs-lib-tests
|
jobs.pkgs-lib-tests
|
||||||
jobs.stdenv.x86_64-linux
|
jobs.stdenv.x86_64-linux
|
||||||
|
jobs.tests.packageTestsForChannelBlockers.curl.withCheck.x86_64-linux
|
||||||
jobs.cargo.x86_64-linux
|
jobs.cargo.x86_64-linux
|
||||||
jobs.go.x86_64-linux
|
jobs.go.x86_64-linux
|
||||||
jobs.linux.x86_64-linux
|
jobs.linux.x86_64-linux
|
||||||
|
@ -133,6 +134,7 @@ let
|
||||||
++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools
|
++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools
|
||||||
++ lib.optionals supportDarwin.x86_64 [
|
++ lib.optionals supportDarwin.x86_64 [
|
||||||
jobs.stdenv.x86_64-darwin
|
jobs.stdenv.x86_64-darwin
|
||||||
|
jobs.tests.packageTestsForChannelBlockers.curl.withCheck.x86_64-darwin
|
||||||
jobs.cargo.x86_64-darwin
|
jobs.cargo.x86_64-darwin
|
||||||
jobs.cachix.x86_64-darwin
|
jobs.cachix.x86_64-darwin
|
||||||
jobs.go.x86_64-darwin
|
jobs.go.x86_64-darwin
|
||||||
|
|
Loading…
Reference in a new issue