about summary refs log tree commit diff
path: root/pkgs/development/compilers/dmd/2.067.1.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/dmd/2.067.1.nix')
-rw-r--r--pkgs/development/compilers/dmd/2.067.1.nix167
1 files changed, 0 insertions, 167 deletions
diff --git a/pkgs/development/compilers/dmd/2.067.1.nix b/pkgs/development/compilers/dmd/2.067.1.nix
deleted file mode 100644
index 29a8618dc7b9..000000000000
--- a/pkgs/development/compilers/dmd/2.067.1.nix
+++ /dev/null
@@ -1,167 +0,0 @@
-{ stdenv, fetchFromGitHub
-, makeWrapper, unzip, which
-, curl, tzdata
-}:
-
-stdenv.mkDerivation rec {
-  name = "dmd-${version}";
-  # This is the last version of dmd which is buildable without a D compiler.
-  # So we use this as a bootstrap version.
-  # The DMD frontend has been ported to D in 2.069.0 but idgen was already
-  # ported in 2.068.0.
-  version = "2.067.1";
-
-  srcs = [
-  (fetchFromGitHub {
-    owner = "dlang";
-    repo = "dmd";
-    rev = "v${version}";
-    sha256 = "0fm29lg8axfmzdaj0y6vg70lhwb5d9rv4aavnvdd15xjschinlcz";
-    name = "dmd-v${version}-src";
-  })
-  (fetchFromGitHub {
-    owner = "dlang";
-    repo = "druntime";
-    rev = "v${version}";
-    sha256 = "1n2qfw9kmnql0fk2nxikispqs7vh85nhvyyr00fk227n9lgnqf02";
-    name = "druntime-v${version}-src";
-  })
-  (fetchFromGitHub {
-    owner = "dlang";
-    repo = "phobos";
-    rev = "v${version}";
-    sha256 = "0fywgds9xvjcgnqxmpwr67p3wi2m535619pvj159cgwv5y0nr3p1";
-    name = "phobos-v${version}-src";
-  })
-  ];
-
-  sourceRoot = ".";
-
-  postUnpack = ''
-      mv dmd-v${version}-src dmd
-      mv druntime-v${version}-src druntime
-      mv phobos-v${version}-src phobos
-  '';
-
-  # Compile with PIC to prevent colliding modules with binutils 2.28.
-  # https://issues.dlang.org/show_bug.cgi?id=17375
-  usePIC = "-fPIC";
-  ROOT_HOME_DIR = "$(echo ~root)";
-
-  postPatch = ''
-      # Ugly hack so the dlopen call has a chance to succeed.
-      # https://issues.dlang.org/show_bug.cgi?id=15391
-      substituteInPlace phobos/std/net/curl.d \
-          --replace libcurl.so ${curl.out}/lib/libcurl.so
-
-      # Ugly hack to fix the hardcoded path to zoneinfo in the source file.
-      # https://issues.dlang.org/show_bug.cgi?id=15391
-      substituteInPlace phobos/std/datetime.d \
-          --replace /usr/share/zoneinfo/ ${tzdata}/share/zoneinfo/
-
-      substituteInPlace druntime/test/shared/Makefile \
-          --replace "DFLAGS:=" "DFLAGS:=${usePIC} "
-
-      # phobos uses curl, so we need to patch the path to the lib.
-      substituteInPlace phobos/posix.mak \
-          --replace "-soname=libcurl.so.4" "-soname=${curl.out}/lib/libcurl.so.4"
-
-      # Use proper C++ compiler
-      substituteInPlace dmd/src/posix.mak \
-          --replace g++ $CXX
-  ''
-
-  + stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
-      substituteInPlace dmd/src/root/port.c \
-        --replace "#include <bits/mathdef.h>" "#include <complex.h>"
-
-      # See https://github.com/NixOS/nixpkgs/issues/29443
-      substituteInPlace phobos/std/path.d \
-          --replace "\"/root" "\"${ROOT_HOME_DIR}"
-  ''
-
-  + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
-      substituteInPlace dmd/src/posix.mak \
-          --replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_
-
-      # Was not able to compile on darwin due to "__inline_isnanl"
-      # being undefined.
-      substituteInPlace dmd/src/root/port.c --replace __inline_isnanl __inline_isnan
-  '';
-
-  nativeBuildInputs = [ makeWrapper unzip which ];
-  buildInputs = [ curl tzdata ];
-
-  # Buid and install are based on http://wiki.dlang.org/Building_DMD
-  buildPhase = ''
-      cd dmd
-      make -f posix.mak INSTALL_DIR=$out
-      export DMD=$PWD/src/dmd
-      cd ../druntime
-      make -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
-      cd ../phobos
-      make -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
-      cd ..
-  '';
-
-  # disable check phase because some tests are not working with sandboxing
-  doCheck = false;
-
-  checkPhase = ''
-      cd dmd
-      export DMD=$PWD/src/dmd
-      cd ../druntime
-      make -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
-      cd ../phobos
-      make -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
-      cd ..
-  '';
-
-  installPhase = ''
-      cd dmd
-      mkdir $out
-      mkdir $out/bin
-      cp $PWD/src/dmd $out/bin
-      mkdir -p $out/share/man/man1
-      mkdir -p $out/share/man/man5
-      cp -r docs/man/man1/* $out/share/man/man1/
-      cp -r docs/man/man5/* $out/share/man/man5/
-
-      cd ../druntime
-      mkdir $out/include
-      mkdir $out/include/d2
-      cp -r import/* $out/include/d2
-
-      cd ../phobos
-      mkdir $out/lib
-      ${
-          let bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits;
-          osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name;
-          extension = if stdenv.hostPlatform.isDarwin then "a" else "{a,so}"; in
-          "cp generated/${osname}/release/${bits}/libphobos2.${extension} $out/lib"
-      }
-
-      cp -r std $out/include/d2
-      cp -r etc $out/include/d2
-
-      wrapProgram $out/bin/dmd \
-          --prefix PATH ":" "${stdenv.cc}/bin" \
-          --set-default CC "$CC"
-
-      cd $out/bin
-      tee dmd.conf << EOF
-      [Environment]
-      DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!stdenv.cc.isClang) "-L--export-dynamic"} -fPIC
-      EOF
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Official reference compiler for the D language";
-    homepage = http://dlang.org/;
-    # Everything is now Boost licensed, even the backend.
-    # https://github.com/dlang/dmd/pull/6680
-    license = licenses.boost;
-    platforms = platforms.unix;
-  };
-}
-