nixpkgs: add kdb+ 3.2
Signed-off-by: Austin Seipp <aseipp@pobox.com>
This commit is contained in:
parent
e6b664cafe
commit
834c731a72
75
pkgs/applications/misc/kdbplus/default.nix
Normal file
75
pkgs/applications/misc/kdbplus/default.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{ stdenv, requireFile, unzip, rlwrap, bash }:
|
||||
|
||||
assert (stdenv.system == "i686-linux");
|
||||
|
||||
let
|
||||
libPath = stdenv.lib.makeLibraryPath
|
||||
[ stdenv.cc.libc stdenv.cc.cc ];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kdbplus-${version}";
|
||||
version = "3.2";
|
||||
|
||||
src = requireFile {
|
||||
message = ''
|
||||
Nix can't download kdb+ for you automatically. Go to
|
||||
http://kx.com and download the free, 32-bit version for
|
||||
Linux. Then run "nix-prefetch-url file:///linux.zip" in the
|
||||
directory where you saved it. Note you need version 3.2.
|
||||
'';
|
||||
name = "linux.zip";
|
||||
sha256 = "0ah1kfvxnrck1kg8j7rpzgj6amji62zbm4ya6q55l54gm3qq6q0r";
|
||||
};
|
||||
|
||||
dontStrip = true;
|
||||
buildInputs = [ unzip ];
|
||||
|
||||
phases = "unpackPhase installPhase";
|
||||
unpackPhase = "mkdir ${name} && cd ${name} && unzip -qq ${src}";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/libexec
|
||||
|
||||
patchelf \
|
||||
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath ${libPath} \
|
||||
./q/l32/q
|
||||
mv ./q/l32/q $out/libexec/q
|
||||
|
||||
# Shell script wrappers to make things more convenient...
|
||||
|
||||
cat > $out/bin/q-install <<- EOF
|
||||
#!${bash}/bin/bash
|
||||
if [ -f \$HOME/q/q.k ]; then
|
||||
echo "kdb has already been unpacked in \$HOME. Skipping..."
|
||||
exit 0
|
||||
fi
|
||||
echo -n "Unzipping ${src} into \$HOME... "
|
||||
cd \$HOME && ${unzip}/bin/unzip -qq ${src}
|
||||
echo "Done"
|
||||
EOF
|
||||
|
||||
cat > $out/bin/q <<- EOF
|
||||
#!${bash}/bin/bash
|
||||
if [ ! -f \$HOME/q/q.k ]; then
|
||||
echo "ERROR: You need to unzip the Q sources into \$HOME before running q."
|
||||
echo
|
||||
echo "Try:"
|
||||
echo " cd \$HOME && unzip ${src}"
|
||||
echo "(or run q-install)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec ${rlwrap}/bin/rlwrap $out/libexec/q \$@
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/q $out/bin/q-install
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Analytics and time-series database";
|
||||
homepage = "http://www.kx.com/";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
platforms = [ "i686-linux" ];
|
||||
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
|
||||
};
|
||||
}
|
@ -1757,6 +1757,8 @@ let
|
||||
|
||||
kalibrate-rtl = callPackage ../tools/misc/kalibrate-rtl { };
|
||||
|
||||
kdbplus = callPackage_i686 ../applications/misc/kdbplus { };
|
||||
|
||||
kexectools = callPackage ../os-specific/linux/kexectools { };
|
||||
|
||||
keybase-node-client = callPackage ../applications/misc/keybase-node-client { };
|
||||
|
Loading…
Reference in New Issue
Block a user