about summary refs log tree commit diff
path: root/pkgs/tools/package-management/rpm/default.nix
blob: dee5d81b5580f7700e399910eabcf77403e12698 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{stdenv, fetchurl, cpio, zlib, bzip2, file, sqlite, beecrypt, neon, elfutils}:

stdenv.mkDerivation {
  name = "rpm-4.4.8";

  src = fetchurl {
    url = http://wraptastic.org/pub/rpm-4.4.x/rpm-4.4.8.tar.gz;
    sha256 = "02ddf076bwcpxzxq9i0ii1fzw2r69fk0gjkk2yrzgzsmb01na230";
  };

  # Note: we don't add elfutils to buildInputs, since it provides a
  # bad `ld' and other stuff.
  buildInputs = [cpio zlib bzip2 file sqlite beecrypt neon];

  NIX_CFLAGS_COMPILE = "-I${beecrypt}/include/beecrypt -I${neon}/include/neon -I${elfutils}/include";

  NIX_CFLAGS_LINK = "-L${elfutils}/lib";

  preConfigure = "
    rm -rf zlib file sqlite

    # Grrr, rpcgen can't find cpp. (NIXPKGS-48)
    mkdir rpcgen
    echo \"#! $shell\" > rpcgen/rpcgen
    echo \"exec $(type -tp rpcgen) -Y $(dirname $(type -tp cpp)) \\\"\\$@\\\"\" >> rpcgen/rpcgen
    chmod +x rpcgen/rpcgen
    export PATH=$(pwd)/rpcgen:$PATH

    substituteInPlace ./installplatform --replace /usr/bin/env $(type -tp env)
    substituteInPlace Makefile.in --replace /var/tmp $(pwd)/dummy
  ";

  configureFlags = "--without-selinux --without-lua --without-python --without-perl";

  patches = [./no-lua.patch];
}