{ version, stdenv, fetchurl, lib, cmake, openssl, platformAttrs, ... }: stdenv.mkDerivation (finalAttrs: { pname = "hadoop-yarn-containerexecutor"; inherit version; src = fetchurl { url = "mirror://apache/hadoop/common/hadoop-${finalAttrs.version}/hadoop-${finalAttrs.version}-src.tar.gz"; hash = platformAttrs.${stdenv.system}.srcHash; }; sourceRoot = "hadoop-${finalAttrs.version}-src/hadoop-yarn-project/hadoop-yarn/" +"hadoop-yarn-server/hadoop-yarn-server-nodemanager/src"; nativeBuildInputs = [ cmake ]; buildInputs = [ openssl ]; cmakeFlags = [ "-DHADOOP_CONF_DIR=/run/wrappers/yarn-nodemanager/etc/hadoop" ]; installPhase = '' mkdir $out mv target/var/empty/local/bin $out/ ''; meta = with lib; { homepage = "https://hadoop.apache.org/"; description = "Framework for distributed processing of large data sets across clusters of computers"; license = licenses.asl20; longDescription = '' The Hadoop YARN Container Executor is a native component responsible for managing the lifecycle of containers on individual nodes in a Hadoop YARN cluster. It launches, monitors, and terminates containers, ensuring that resources like CPU and memory are allocated according to the policies defined in the ResourceManager. ''; maintainers = with maintainers; [ illustris ]; platforms = filter (strings.hasSuffix "linux") (attrNames platformAttrs); }; })