summary refs log tree commit diff
path: root/pkgs/development/libraries/libx86/default.nix
blob: 271823ace288393d49a6fc4158ebc5930e08b112 (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
{ stdenv, fetchurl }:

stdenv.mkDerivation rec {
  pname = "libx86";
  version = "1.1";
  src = fetchurl {
    url = "https://www.codon.org.uk/~mjg59/libx86/downloads/${pname}-${version}.tar.gz";
    sha256 = "0j6h6bc02c6qi0q7c1ncraz4d1hkm5936r35rfsp4x1jrc233wav";
  };
  patches = [./constants.patch ./non-x86.patch ];

  # using BACKEND=x86emu on 64bit systems fixes:
  #  http://www.mail-archive.com/suspend-devel@lists.sourceforge.net/msg02355.html
  makeFlags = [
    "DESTDIR=$(out)"
  ] ++ stdenv.lib.optional (!stdenv.isi686) "BACKEND=x86emu";

  preBuild = ''
    sed -i lrmi.c -e 's@defined(__i386__)@(defined(__i386__) || defined(__x86_64__))@'
    sed -e s@/usr@@ -i Makefile
  '';

  meta = with stdenv.lib; {
    description = "Real-mode x86 code emulator";
    maintainers = with maintainers; [ raskin ];
    platforms = [ "x86_64-linux" "i686-linux" ];
    license = licenses.mit;
  };
}