about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@protonmail.com>2018-12-05 22:27:45 -0200
committerAndersonTorres <torres.anderson.85@protonmail.com>2018-12-08 17:43:41 -0200
commitc1a9af12a101186d5e28d6ffbff0bb7119c23039 (patch)
treee0c4b47d6931908b40747d1fbb551d97a45fcbd1
parent420d02225438193a6fc32f48f6dc946541026079 (diff)
tecoc: add BSD and Darwin/OSX support
Also, change some minor things.
-rw-r--r--pkgs/applications/editors/tecoc/default.nix51
1 files changed, 29 insertions, 22 deletions
diff --git a/pkgs/applications/editors/tecoc/default.nix b/pkgs/applications/editors/tecoc/default.nix
index 1c5730838ff1f..dd986b346a371 100644
--- a/pkgs/applications/editors/tecoc/default.nix
+++ b/pkgs/applications/editors/tecoc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit
+{ stdenv, fetchFromGitHub
 , ncurses }:
 
 stdenv.mkDerivation rec {
@@ -6,20 +6,27 @@ stdenv.mkDerivation rec {
   name = "tecoc-git-${version}";
   version = "20150606";
 
-  src = fetchgit {
-    url = "https://github.com/blakemcbride/TECOC.git";
+  src = fetchFromGitHub {
+    owner = "blakemcbride";
+    repo = "TECOC";
     rev = "d7dffdeb1dfb812e579d6d3b518545b23e1b50cb";
     sha256 = "11zfa73dlx71c0hmjz5n3wqcvk6082rpb4sss877nfiayisc0njj";
   };
 
   buildInputs = [ ncurses ];
 
-  configurePhase = ''
-    cp src/makefile.linux src/Makefile    
-  '';
-  buildPhase = ''
-    make CC=${stdenv.cc}/bin/cc -C src/
-  '';
+  makefile = if stdenv.hostPlatform.isDarwin
+  	     then "makefile.osx"
+	     else if stdenv.hostPlatform.isFreeBSD
+  	     then "makefile.bsd"
+  	     else if stdenv.hostPlatform.isOpenBSD
+  	     then "makefile.bsd"
+  	     else if stdenv.hostPlatform.isWindows
+  	     then "makefile.win"
+	     else "makefile.linux"; # I think Linux is a safe default...
+
+  makeFlags = [ "CC=${stdenv.cc}/bin/cc" "-C src/" ];
+
   installPhase = ''
     mkdir -p $out/bin $out/share/doc/${name} $out/lib/teco/macros
     cp src/tecoc $out/bin
@@ -31,26 +38,26 @@ stdenv.mkDerivation rec {
      ln -s tecoc teco
      ln -s tecoc Inspect )
   '';
-	
+
   meta = with stdenv.lib; {
     description = "A clone of the good old TECO editor";
     longDescription = ''
-      For those who don't know: TECO is the acronym of Tape Editor and
-      COrrector (because it was a paper tape edition tool in its debut 
-      days). Now the acronym follows after Text Editor and Corrector, 
-      or Text Editor Character-Oriented.
-      
-      TECO is a character-oriented text editor, originally developed
-      bu Dan Murphy at MIT circa 1962. It is also a Turing-complete
-      imperative interpreted programming language for text
-      manipulation, done via user-loaded sets of macros. In fact, Emacs
-      was born as a set of Editor MACroS for TECO.
+      For those who don't know: TECO is the acronym of Tape Editor and COrrector
+      (because it was a paper tape edition tool in its debut days). Now the
+      acronym follows after Text Editor and Corrector, or Text Editor
+      Character-Oriented.
+
+      TECO is a character-oriented text editor, originally developed by Dan
+      Murphy at MIT circa 1962. It is also a Turing-complete imperative
+      interpreted programming language for text manipulation, done via
+      user-loaded sets of macros. In fact, the venerable Emacs was born as a set
+      of Editor MACroS for TECO.
 
       TECOC is a portable C implementation of TECO-11.
  '';
     homepage = https://github.com/blakemcbride/TECOC;
+    license = {  url = https://github.com/blakemcbride/TECOC/tree/master/doc/readme-1st.txt; };
     maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
-# TODO: test in other platforms - especially Darwin