diff options
author | Ben Siraphob <bensiraphob@gmail.com> | 2020-11-04 21:13:06 +0700 |
---|---|---|
committer | Ben Siraphob <bensiraphob@gmail.com> | 2020-11-09 19:49:55 +0700 |
commit | 445dde63041d516195926d2a2358541f9fbc8b7e (patch) | |
tree | 713c0324323691be06cb95adba5e995dabbb60e1 /pkgs | |
parent | b52da4e64108eb1496c037b4ca0f347624e50d51 (diff) |
Initial implementation of mmix cross-compile
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/build-support/bintools-wrapper/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/tools/mmixware/default.nix | 44 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 786f0f9c5983f..9c5aef135fd6a 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -179,6 +179,7 @@ stdenv.mkDerivation { mips64 = "btsmip"; mips64el = "ltsmip"; }.${targetPlatform.parsed.cpu.name} + else if targetPlatform.isMmix then "mmix" else if targetPlatform.isPower then if targetPlatform.isBigEndian then "ppc" else "lppc" else if targetPlatform.isSparc then "sparc" else if targetPlatform.isMsp430 then "msp430" diff --git a/pkgs/development/tools/mmixware/default.nix b/pkgs/development/tools/mmixware/default.nix new file mode 100644 index 0000000000000..0b0d394b4e1e9 --- /dev/null +++ b/pkgs/development/tools/mmixware/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchFromGitLab, tetex }: + +stdenv.mkDerivation { + pname = "mmixware"; + version = "unstable-2019-02-19"; + + src = fetchFromGitLab { + domain = "gitlab.lrz.de"; + owner = "mmix"; + repo = "mmixware"; + rev = "a330d68aafcfe739ecaaece888a669b8e7d9bcb8"; + sha256 = "0bq0d19vqhfbpk4mcqzmd0hygbkhapl1mzlfkcr6afx0fhlhi087"; + }; + + hardeningDisable = [ "format" ]; + + postPatch = '' + substituteInPlace Makefile --replace 'rm abstime.h' "" + ''; + + nativeBuildInputs = [ tetex ]; + enableParallelBuilding = true; + + makeFlags = [ "all" "doc" "CFLAGS=-O2" ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/doc + cp *.ps $out/share/doc + install -Dm755 mmixal -t $out/bin + install -Dm755 mmix -t $out/bin + install -Dm755 mmotype -t $out/bin + install -Dm755 mmmix -t $out/bin + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "MMIX simulator and assembler"; + homepage = "https://www-cs-faculty.stanford.edu/~knuth/mmix-news.html"; + maintainers = with maintainers; [ siraben ]; + platforms = platforms.unix; + license = licenses.publicDomain; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d017efe6dfb1a..e67708b4255ff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5642,6 +5642,8 @@ in mmake = callPackage ../tools/misc/mmake { }; + mmixware = callPackage ../development/tools/mmixware { }; + modemmanager = callPackage ../tools/networking/modem-manager {}; modem-manager-gui = callPackage ../applications/networking/modem-manager-gui {}; |