nixpkgs/pkgs/applications/networking/cluster/pig/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

47 lines
1.3 KiB
Nix

{ lib, stdenv, fetchurl, makeWrapper, hadoop, jre, bash }:
stdenv.mkDerivation rec {
pname = "pig";
version = "0.17.0";
src = fetchurl {
url = "mirror://apache/pig/${pname}-${version}/${pname}-${version}.tar.gz";
sha256 = "1wwpg0w47f49rnivn2d26vrxgyfl9gpqx3vmzbl5lhx6x5l3fqbd";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out
mv * $out
# no need for the windows batch script
rm $out/bin/pig.cmd $out/bin/pig.py
for n in $out/{bin,sbin}"/"*; do
wrapProgram $n \
--prefix PATH : "${lib.makeBinPath [ jre bash ]}" \
--set JAVA_HOME "${jre}" --set HADOOP_PREFIX "${hadoop}"
done
'';
meta = with lib; {
homepage = "https://pig.apache.org/";
description = "High-level language for Apache Hadoop";
mainProgram = "pig";
license = licenses.asl20;
longDescription = ''
Apache Pig is a platform for analyzing large data sets that consists of a
high-level language for expressing data analysis programs, coupled with
infrastructure for evaluating these programs. The salient property of Pig
programs is that their structure is amenable to substantial parallelization,
which in turns enables them to handle very large data sets.
'';
platforms = platforms.linux;
maintainers = [ ];
};
}