curl: split into multiple outputs

Also use pkgconfig to be safer and fix (some) referrers.
This commit is contained in:
Vladimír Čunát 2015-10-06 15:32:17 +02:00
parent e71c9cfaa2
commit 99e4371526
25 changed files with 44 additions and 40 deletions

View File

@ -117,11 +117,11 @@ in {
''; '';
postStart = '' postStart = ''
until ${pkgs.curl}/bin/curl -s -L localhost:${toString cfg.port} ; do until ${pkgs.curl.bin}/bin/curl -s -L localhost:${toString cfg.port} ; do
sleep 10 sleep 10
done done
while true ; do while true ; do
index=`${pkgs.curl}/bin/curl -s -L localhost:${toString cfg.port}` index=`${pkgs.curl.bin}/bin/curl -s -L localhost:${toString cfg.port}`
if [[ !("$index" =~ 'Please wait while Jenkins is restarting' || if [[ !("$index" =~ 'Please wait while Jenkins is restarting' ||
"$index" =~ 'Please wait while Jenkins is getting ready to work') ]]; then "$index" =~ 'Please wait while Jenkins is getting ready to work') ]]; then
exit 0 exit 0

View File

@ -225,7 +225,7 @@ in
if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi
''; '';
postStart = mkBefore '' postStart = mkBefore ''
until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.bindAddress}:${toString cfg.apiPort}/'; do until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.bindAddress}:${toString cfg.apiPort}/'; do
sleep 1; sleep 1;
done done
''; '';

View File

@ -65,7 +65,7 @@ in {
}; };
postStart = '' postStart = ''
until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.host}:${toString cfg.port}/'; do until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.host}:${toString cfg.port}/'; do
sleep 1; sleep 1;
done done
''; '';

View File

@ -71,7 +71,7 @@ in {
after = [ "network.target" "docker.service" "influxdb.service" ]; after = [ "network.target" "docker.service" "influxdb.service" ];
postStart = mkBefore '' postStart = mkBefore ''
until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.host}:${toString cfg.port}/containers/'; do until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.host}:${toString cfg.port}/containers/'; do
sleep 1; sleep 1;
done done
''; '';

View File

@ -8,7 +8,7 @@ let
homeDir = "/var/lib/i2pd"; homeDir = "/var/lib/i2pd";
extip = "EXTIP=\$(${pkgs.curl}/bin/curl -sf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')"; extip = "EXTIP=\$(${pkgs.curl.bin}/bin/curl -sf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')";
i2pSh = pkgs.writeScriptBin "i2pd" '' i2pSh = pkgs.writeScriptBin "i2pd" ''
#!/bin/sh #!/bin/sh

View File

@ -142,7 +142,7 @@ in {
ln -s ${esPlugins}/plugins ${cfg.dataDir}/plugins ln -s ${esPlugins}/plugins ${cfg.dataDir}/plugins
''; '';
postStart = mkBefore '' postStart = mkBefore ''
until ${pkgs.curl}/bin/curl -s -o /dev/null ${cfg.host}:${toString cfg.port}; do until ${pkgs.curl.bin}/bin/curl -s -o /dev/null ${cfg.host}:${toString cfg.port}; do
sleep 1 sleep 1
done done
''; '';

View File

@ -14,7 +14,7 @@ import ./make-test.nix ({ pkgs, ... } : {
services.cadvisor.storageDriver = "influxdb"; services.cadvisor.storageDriver = "influxdb";
services.influxdb.enable = true; services.influxdb.enable = true;
systemd.services.influxdb.postStart = mkAfter '' systemd.services.influxdb.postStart = mkAfter ''
${pkgs.curl}/bin/curl -X POST 'http://localhost:8086/db?u=root&p=root' \ ${pkgs.curl.bin}/bin/curl -X POST 'http://localhost:8086/db?u=root&p=root' \
-d '{"name": "root"}' -d '{"name": "root"}'
''; '';
}; };

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec{
configureFlags = [ configureFlags = [
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.lib}/lib"
"--with-libcurl-headers=${curl}/include" "--with-libcurl-headers=${curl.dev}/include"
] ++ optionals withGui [ "--with-gui=qt4" ]; ] ++ optionals withGui [ "--with-gui=qt4" ];
meta = { meta = {

View File

@ -104,13 +104,9 @@ in stdenv.mkDerivation rec {
--prefix PATH ":" "${pythonFull}/bin" \ --prefix PATH ":" "${pythonFull}/bin" \
--prefix PATH ":" "${glxinfo}/bin" \ --prefix PATH ":" "${glxinfo}/bin" \
--prefix PATH ":" "${xdpyinfo}/bin" \ --prefix PATH ":" "${xdpyinfo}/bin" \
--prefix LD_LIBRARY_PATH ":" "${curl}/lib" \ --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
--prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \ [ curl systemd libmad libvdpau libcec libcec_platform rtmpdump ]
--prefix LD_LIBRARY_PATH ":" "${libmad}/lib" \ }"
--prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib" \
--prefix LD_LIBRARY_PATH ":" "${libcec}/lib" \
--prefix LD_LIBRARY_PATH ":" "${libcec_platform}/lib" \
--prefix LD_LIBRARY_PATH ":" "${rtmpdump}/lib"
done done
''; '';

View File

@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
sed -i nova/flags.py \ sed -i nova/flags.py \
-e "/DEFINE.*'state_path'/ s|../|/var/lib/nova|" -e "/DEFINE.*'state_path'/ s|../|/var/lib/nova|"
substituteInPlace nova/virt/images.py --replace /usr/bin/curl ${curl}/bin/curl substituteInPlace nova/virt/images.py --replace /usr/bin/curl ${curl.bin}/bin/curl
substituteInPlace nova/api/ec2/cloud.py \ substituteInPlace nova/api/ec2/cloud.py \
--replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh --replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh

View File

@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
#cmakeFlags = "-DGENERATE_MANPAGES=ON"; #cmakeFlags = "-DGENERATE_MANPAGES=ON";
LD_LIBRARY_PATH = "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib"; LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";
GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0"; GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0";
LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so"; LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
LUA_PATH = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"; LUA_PATH = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
@ -70,8 +70,8 @@ stdenv.mkDerivation rec {
--prefix LUA_CPATH ";" '"${lgi}/lib/lua/${lua.luaversion}/?.so"' \ --prefix LUA_CPATH ";" '"${lgi}/lib/lua/${lua.luaversion}/?.so"' \
--prefix LUA_PATH ";" '"${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"' \ --prefix LUA_PATH ";" '"${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"' \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix LD_LIBRARY_PATH : "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib" \ --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
--prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl}/bin:${alsaUtils}/bin:${findutils}/bin:${xterm}/bin" --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl.bin}/bin:${alsaUtils}/bin:${findutils}/bin:${xterm}/bin"
wrapProgram $out/bin/awesome-client \ wrapProgram $out/bin/awesome-client \
--prefix PATH : "${which}/bin" --prefix PATH : "${which}/bin"

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation {
b=$(basename $f) b=$(basename $f)
if [ $b == "mix" ]; then continue; fi if [ $b == "mix" ]; then continue; fi
wrapProgram $f \ wrapProgram $f \
--prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl}/bin:${bash}/bin" \ --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl.bin}/bin:${bash}/bin" \
--set CURL_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt --set CURL_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt
done done

View File

@ -1562,7 +1562,7 @@ let
}); });
curl = old.curl.overrideDerivation (attrs: { curl = old.curl.overrideDerivation (attrs: {
preConfigure = "export CURL_INCLUDES=${pkgs.curl}/include"; preConfigure = "export CURL_INCLUDES=${pkgs.curl.dev}/include";
}); });
iFes = old.iFes.overrideDerivation (attrs: { iFes = old.iFes.overrideDerivation (attrs: {

View File

@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
# curl: curl # curl: curl
rm opt/vagrant/embedded/bin/curl rm opt/vagrant/embedded/bin/curl
ln -s ${curl}/bin/curl opt/vagrant/embedded/bin ln -s ${curl.bin}/bin/curl opt/vagrant/embedded/bin
# libarchive: bsdtar, bsdcpio # libarchive: bsdtar, bsdcpio
rm opt/vagrant/embedded/bin/{bsdtar,bsdcpio} rm opt/vagrant/embedded/bin/{bsdtar,bsdcpio}

View File

@ -25,7 +25,7 @@ in stdenv.mkDerivation {
cmakeFlags = [ cmakeFlags = [
"-DENABLE_FREETYPE=1" "-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1" "-DENABLE_GETTEXT=1"
"-DCURL_INCLUDE_DIR=${curl}/include/curl" "-DCURL_INCLUDE_DIR=${curl.dev}/include/curl"
"-DIRRLICHT_INCLUDE_DIR=${irrlicht}/include/irrlicht" "-DIRRLICHT_INCLUDE_DIR=${irrlicht}/include/irrlicht"
]; ];

View File

@ -32,9 +32,9 @@ stdenv.mkDerivation rec {
#''; #'';
NIX_LDFLAGS = '' NIX_LDFLAGS = ''
-rpath ${zlib}/lib -rpath ${zlib.out}/lib
-rpath ${libvorbis}/lib -rpath ${libvorbis.out}/lib
-rpath ${curl}/lib -rpath ${curl.out}/lib
''; '';
buildPhase = '' buildPhase = ''

View File

@ -56,9 +56,9 @@ rec {
# This used to be in-nixpkgs, but now is in the bundle # This used to be in-nixpkgs, but now is in the bundle
# because I can't be bothered to make it partially static # because I can't be bothered to make it partially static
cp ${curl}/bin/curl $out/bin cp ${curl.bin}/bin/curl $out/bin
cp -d ${curl}/lib/libcurl*.dylib $out/lib cp -d ${curl.out}/lib/libcurl*.dylib $out/lib
cp -d ${libssh2}/lib/libssh*.dylib $out/lib cp -d ${libssh2.out}/lib/libssh*.dylib $out/lib
cp -d ${openssl.out}/lib/*.dylib $out/lib cp -d ${openssl.out}/lib/*.dylib $out/lib
cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib

View File

@ -56,9 +56,9 @@ rec {
# This used to be in-nixpkgs, but now is in the bundle # This used to be in-nixpkgs, but now is in the bundle
# because I can't be bothered to make it partially static # because I can't be bothered to make it partially static
cp ${curl}/bin/curl $out/bin cp ${curl.bin}/bin/curl $out/bin
cp -d ${curl}/lib/libcurl*.dylib $out/lib cp -d ${curl.out}/lib/libcurl*.dylib $out/lib
cp -d ${libssh2}/lib/libssh*.dylib $out/lib cp -d ${libssh2.out}/lib/libssh*.dylib $out/lib
cp -d ${openssl.out}/lib/*.dylib $out/lib cp -d ${openssl.out}/lib/*.dylib $out/lib
cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib

View File

@ -45,5 +45,5 @@ stdenv.mkDerivation {
glib gtk pkgconfig dbus_glib realCurl pcre libsexy libgnomeui gtkspell libnotify libgtkhtml glib gtk pkgconfig dbus_glib realCurl pcre libsexy libgnomeui gtkspell libnotify libgtkhtml
]; ];
configureFlags="--with-libcurl-libraries=${curl}/lib --with-libcurl-headers=${curl}/include --with-pcre_libraries=${pcre}/lib --with-pcre_headers=${pcre}/include"; configureFlags="--with-libcurl-libraries=${curl.out}/lib --with-libcurl-headers=${curl.dev}/include --with-pcre_libraries=${pcre.out}/lib --with-pcre_headers=${pcre.dev}/include";
} }

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
-e "s@/usr/(s|)bin/sendmail@${sendmailPath}@g" \ -e "s@/usr/(s|)bin/sendmail@${sendmailPath}@g" \
-e "s@/usr/bin/diff@${diffutils}/bin/diff@g" \ -e "s@/usr/bin/diff@${diffutils}/bin/diff@g" \
-e "s@/usr/bin/gpgv(2|)@${gnupg}/bin/gpgv2@g" \ -e "s@/usr/bin/gpgv(2|)@${gnupg}/bin/gpgv2@g" \
-e "s@(command -v|/usr/bin/)curl@${curl}/bin/curl@g" \ -e "s@(command -v|/usr/bin/)curl@${curl.bin}/bin/curl@g" \
-i {} + -i {} +
sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile
sed -r \ sed -r \

View File

@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
--wine-path=${wine_custom} \ --wine-path=${wine_custom} \
--gpg-exec=${gnupg}/bin/gpg2 \ --gpg-exec=${gnupg}/bin/gpg2 \
--bash-interp=${bash}/bin/bash \ --bash-interp=${bash}/bin/bash \
--downloader=${curl}/bin/curl --downloader=${curl.bin}/bin/curl
$configureFlags $configureFlags
''; '';

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
make PREFIX="$out" install make PREFIX="$out" install
for fn in plow{del,down,list,up}; do for fn in plow{del,down,list,up}; do
wrapProgram "$out/bin/$fn" --prefix PATH : "${curl}/bin:${spidermonkey}/bin" wrapProgram "$out/bin/$fn" --prefix PATH : "${curl.bin}/bin:${spidermonkey.bin}/bin"
done done
''; '';

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl { stdenv, fetchurl, pkgconfig
, idnSupport ? false, libidn ? null , idnSupport ? false, libidn ? null
, ldapSupport ? false, openldap ? null , ldapSupport ? false, openldap ? null
, zlibSupport ? false, zlib ? null , zlibSupport ? false, zlib ? null
@ -23,6 +23,9 @@ stdenv.mkDerivation rec {
sha256 = "050q6i20lbh7dyyhva2sbp8dbyp6sghlkbpvq2bvcasqwsx4298y"; sha256 = "050q6i20lbh7dyyhva2sbp8dbyp6sghlkbpvq2bvcasqwsx4298y";
}; };
outputs = [ "dev" "out" "bin" "doc" ]; # man3 is "dev-doc"
nativeBuildInputs = [ pkgconfig ];
# Zlib and OpenSSL must be propagated because `libcurl.la' contains # Zlib and OpenSSL must be propagated because `libcurl.la' contains
# "-lz -lssl", which aren't necessary direct build inputs of # "-lz -lssl", which aren't necessary direct build inputs of
# applications that use Curl. # applications that use Curl.
@ -59,6 +62,11 @@ stdenv.mkDerivation rec {
CXX = "g++"; CXX = "g++";
CXXCPP = "g++ -E"; CXXCPP = "g++ -E";
postInstall = ''
_moveToOutput bin/curl-config "$dev"
sed '/^dependency_libs/s|${libssh2.dev}|${libssh2.out}|' -i "$out"/lib/*.la
'';
crossAttrs = { crossAttrs = {
# We should refer to the cross built openssl # We should refer to the cross built openssl
# For the 'urandom', maybe it should be a cross-system option # For the 'urandom', maybe it should be a cross-system option

View File

@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
cp -R . $out cp -R . $out
cp -R ${modulesSrc}/* $out/modules/ cp -R ${modulesSrc}/* $out/modules/
wrapProgram "$out/prey.sh" \ wrapProgram "$out/prey.sh" \
--prefix PATH ":" "${xawtv}/bin:${imagemagick}/bin:${curl}/bin:${scrot}/bin:${inetutils}/bin:${coreutils}/bin" \ --prefix PATH ":" "${xawtv}/bin:${imagemagick}/bin:${curl.bin}/bin:${scrot}/bin:${inetutils}/bin:${coreutils}/bin" \
--set CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt" --set CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt"
''; '';

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation {
installPhase = installPhase =
'' ''
mkdir -p $out/bin mkdir -p $out/bin
sed 's|\[curl|[${curl}/bin/curl|g' $src > $out/bin/aws sed 's|\[curl|[${curl.bin}/bin/curl|g' $src > $out/bin/aws
chmod +x $out/bin/aws chmod +x $out/bin/aws
''; '';