Merge pull request #91908 from purcell/libpromhttp
libpromhttp: init at 0.1.1, build in combination with libprom
This commit is contained in:
commit
cb330dafd5
@ -1,48 +0,0 @@
|
|||||||
{ gccStdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, fetchpatch
|
|
||||||
, cmake
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
stdenv = gccStdenv; # Darwin is clang by default and it doesn't work for this.
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "libprom";
|
|
||||||
version = "0.1.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "digitalocean";
|
|
||||||
repo = "prometheus-client-c";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0g69s24xwrv5974acshrhnp6i8rpby8c6bhz15m3d8kpgjw3cm8f";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Required so CMAKE_INSTALL_PREFIX is honored, otherwise it
|
|
||||||
# installs headers in /usr/include (absolute)
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/digitalocean/prometheus-client-c/commit/5fcedeb506b7d47dd7bab35797f2c3f23db6fe10.patch";
|
|
||||||
sha256 = "10hzg8v5jcgxz224kdq0nha9vs78wz098b0ys7gig2iwgrg018fy";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/digitalocean/prometheus-client-c/commit/0c15e7e45ad0c3726593591fdd7d8f2fde845fe3.patch";
|
|
||||||
sha256 = "06899v1xz3lpsdxww4p3q7pv8nrymnibncdc472056znr5fidlp0";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
cd prom
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/digitalocean/prometheus-client-c/";
|
|
||||||
description = "A Prometheus Client in C";
|
|
||||||
platforms = stdenv.lib.platforms.unix;
|
|
||||||
license = stdenv.lib.licenses.asl20;
|
|
||||||
maintainers = [ stdenv.lib.maintainers.cfsmp3 ];
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
71
pkgs/development/libraries/prometheus-client-c/default.nix
Normal file
71
pkgs/development/libraries/prometheus-client-c/default.nix
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
, cmake
|
||||||
|
, libmicrohttpd
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
build =
|
||||||
|
{ pname
|
||||||
|
, subdir
|
||||||
|
, buildInputs ? [ ]
|
||||||
|
, description
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
inherit pname;
|
||||||
|
version = "0.1.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "digitalocean";
|
||||||
|
repo = "prometheus-client-c";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0g69s24xwrv5974acshrhnp6i8rpby8c6bhz15m3d8kpgjw3cm8f";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
inherit buildInputs;
|
||||||
|
|
||||||
|
# These patches will be in 0.1.2
|
||||||
|
patches = [
|
||||||
|
# Required so CMAKE_INSTALL_PREFIX is honored, otherwise it
|
||||||
|
# installs headers in /usr/include (absolute)
|
||||||
|
(
|
||||||
|
fetchpatch {
|
||||||
|
url = "https://github.com/digitalocean/prometheus-client-c/commit/5fcedeb506b7d47dd7bab35797f2c3f23db6fe10.patch";
|
||||||
|
sha256 = "10hzg8v5jcgxz224kdq0nha9vs78wz098b0ys7gig2iwgrg018fy";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
(
|
||||||
|
fetchpatch {
|
||||||
|
url = "https://github.com/digitalocean/prometheus-client-c/commit/0c15e7e45ad0c3726593591fdd7d8f2fde845fe3.patch";
|
||||||
|
sha256 = "06899v1xz3lpsdxww4p3q7pv8nrymnibncdc472056znr5fidlp0";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
cd ${subdir}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/digitalocean/prometheus-client-c/";
|
||||||
|
inherit description;
|
||||||
|
platforms = stdenv.lib.platforms.unix;
|
||||||
|
license = stdenv.lib.licenses.asl20;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.cfsmp3 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
libprom = build {
|
||||||
|
pname = "libprom";
|
||||||
|
subdir = "prom";
|
||||||
|
description = "A Prometheus Client in C";
|
||||||
|
};
|
||||||
|
libpromhttp = build {
|
||||||
|
pname = "libpromhttp";
|
||||||
|
subdir = "promhttp";
|
||||||
|
buildInputs = [ libmicrohttpd libprom ];
|
||||||
|
description = "A Prometheus HTTP Endpoint in C";
|
||||||
|
};
|
||||||
|
}
|
@ -13534,7 +13534,9 @@ in
|
|||||||
|
|
||||||
libpqxx = callPackage ../development/libraries/libpqxx { };
|
libpqxx = callPackage ../development/libraries/libpqxx { };
|
||||||
|
|
||||||
libprom = callPackage ../development/libraries/libprom { };
|
inherit (callPackages ../development/libraries/prometheus-client-c {
|
||||||
|
stdenv = gccStdenv; # Required for darwin
|
||||||
|
}) libprom libpromhttp;
|
||||||
|
|
||||||
libproxy = callPackage ../development/libraries/libproxy {
|
libproxy = callPackage ../development/libraries/libproxy {
|
||||||
inherit (darwin.apple_sdk.frameworks) SystemConfiguration CoreFoundation JavaScriptCore;
|
inherit (darwin.apple_sdk.frameworks) SystemConfiguration CoreFoundation JavaScriptCore;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user