summary refs log tree commit diff
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2016-08-31 11:34:46 +0200
committerDomen Kožar <domen@dev.si>2016-08-31 11:34:46 +0200
commitda421bc75f98c1b19f214a3b6b7cda07dc4c088b (patch)
treec6d42a4daa2cd2df716415ce4339f118dd5fb9b3
parent557b329608f666d216d7e274570998d5d8b2e773 (diff)
downloadnixpkgs-da421bc75f98c1b19f214a3b6b7cda07dc4c088b.tar
nixpkgs-da421bc75f98c1b19f214a3b6b7cda07dc4c088b.tar.gz
nixpkgs-da421bc75f98c1b19f214a3b6b7cda07dc4c088b.tar.bz2
nixpkgs-da421bc75f98c1b19f214a3b6b7cda07dc4c088b.tar.lz
nixpkgs-da421bc75f98c1b19f214a3b6b7cda07dc4c088b.tar.xz
nixpkgs-da421bc75f98c1b19f214a3b6b7cda07dc4c088b.tar.zst
nixpkgs-da421bc75f98c1b19f214a3b6b7cda07dc4c088b.zip
Fix #4210: Remove builderDefs
This was one of the ways to build packages, we are trying
hard to minimize different ways so it's easier for newcomers
to learn only one way.

This also:

- removes texLive (old), fixes #14807
- removed upstream-updater, if that code is still used it should be in
  separate repo
- changes a few packages like gitit/mit-scheme to use new texlive
-rw-r--r--doc/old/update-upstream-data.txt14
-rw-r--r--nixos/modules/services/misc/gitit.nix2
-rw-r--r--pkgs/build-support/builder-defs/builder-defs.nix607
-rw-r--r--pkgs/build-support/builder-defs/template-auto-callable.nix48
-rw-r--r--pkgs/build-support/builder-defs/template-bdp-uud.nix26
-rw-r--r--pkgs/build-support/builder-defs/template-composing+config.nix22
-rw-r--r--pkgs/build-support/builder-defs/template-composing-builder.nix26
-rwxr-xr-xpkgs/build-support/upstream-updater/attrset-to-dir.sh21
-rw-r--r--pkgs/development/interpreters/octave/hg.nix49
-rw-r--r--pkgs/tools/typesetting/tex/texlive/aggregate.nix87
-rw-r--r--pkgs/tools/typesetting/tex/texlive/beamer.nix25
-rw-r--r--pkgs/tools/typesetting/tex/texlive/cm-super.nix35
-rw-r--r--pkgs/tools/typesetting/tex/texlive/context.nix25
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix161
-rw-r--r--pkgs/tools/typesetting/tex/texlive/extra.nix26
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderncv.nix24
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderntimeline.nix24
-rw-r--r--pkgs/tools/typesetting/tex/texlive/setup-hook.sh7
-rw-r--r--pkgs/tools/typesetting/tex/texlive/xcolor.nix37
-rw-r--r--pkgs/top-level/all-packages.nix60
-rw-r--r--pkgs/top-level/release-small.nix3
21 files changed, 5 insertions, 1324 deletions
diff --git a/doc/old/update-upstream-data.txt b/doc/old/update-upstream-data.txt
deleted file mode 100644
index 2abce3b4055..00000000000
--- a/doc/old/update-upstream-data.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Semi-automatic source information updating using "update-upstream-data.sh" script and "src-{,info-}for-*.nix"
-
-1. Recognizing when a pre-existing package uses this mechanism.
-
-Packages using this automatical update mechanism have src-info-for-default.nix and src-for-default.nix next to default.nix. src-info-for-default.nix describes getting the freshest source from upstream web site; src-for-default.nix is a generated file with the current data about used source. Both files define a simple attrSet. 
-
-src-info-for-default.nix (for a file grabbed via http) contains at least downloadPage attribute - it is the page we need to look at to find out the latest version. It also contains baseName that is used for automatical generation of package name containing version. It can contain extra data for trickier cases.
-
-src-for-default.nix will contain advertisedUrl (raw URL chosen on the site; its change prompts regeneration of source data), url for fetchurl, hash, version retrieved from the download URL and suggested package name.
-
-2. Updating a package
-
-nixpkgs/pkgs/build-support/upstream-updater directory contains some scripts. The worker script is called update-upstream-data.sh. This script requires main expression name (e.g. default.nix). It can optionally accpet a second parameter, URL which will be used instead of getting one by parsing the downloadPage (version extraction, mirror URL creation etc. will still be run). After running the script, check src-for-default.nix (or replace default.nix with expression name, if there are seceral expressions in the directory) for new version information.
-
diff --git a/nixos/modules/services/misc/gitit.nix b/nixos/modules/services/misc/gitit.nix
index befd8c628f1..44880ebeda1 100644
--- a/nixos/modules/services/misc/gitit.nix
+++ b/nixos/modules/services/misc/gitit.nix
@@ -663,7 +663,7 @@ in
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       path = with pkgs; [ curl ]
-             ++ optional cfg.pdfExport texLiveFull
+             ++ optional cfg.pdfExport texlive.combined.scheme-basic
 	     ++ optional (cfg.repositoryType == "darcs") darcs
 	     ++ optional (cfg.repositoryType == "mercurial") mercurial
 	     ++ optional (cfg.repositoryType == "git") git;
diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix
deleted file mode 100644
index e21b032aacb..00000000000
--- a/pkgs/build-support/builder-defs/builder-defs.nix
+++ /dev/null
@@ -1,607 +0,0 @@
-args @ {stringsWithDeps, lib, stdenv, writeScript, fetchurl, fetchmtn, fetchgit, ...}: with args; with stringsWithDeps; with lib;
-let inherit (builtins) head tail trace; in
-(rec
-{
-        inherit writeScript;
-
-        src = attrByPath ["src"] "" args;
-
-        addSbinPath = attrByPath ["addSbinPath"] false args;
-
-        forceShare = if args ? forceShare then args.forceShare else ["man" "doc" "info"];
-        forceCopy = ["COPYING" "LICENSE" "DISTRIBUTION" "LEGAL"
-          "README" "AUTHORS" "ChangeLog" "CHANGES" "LICENCE" "COPYRIGHT"] ++
-          (optional (attrByPath ["forceCopyDoc"] true args) "doc");
-
-        hasSuffixHack = a: b: hasSuffix (a+(substring 0 0 b)) ((substring 0 0 a)+b);
-
-        archiveType = s:
-                (if hasSuffixHack ".tar" s then "tar"
-                else if (hasSuffixHack ".tar.gz" s) || (hasSuffixHack ".tgz" s) then "tgz"
-                else if (hasSuffixHack ".tar.bz2" s) || (hasSuffixHack ".tbz2" s) ||
-			(hasSuffixHack ".tbz" s) then "tbz2"
-                else if hasSuffixHack ".tar.Z" s then "tZ"
-                else if hasSuffixHack ".tar.lzma" s then "tar.lzma"
-                else if hasSuffixHack ".tar.xz" s then "tar.xz"
-                else if hasSuffixHack ".rar" s then "rar"
-                else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip"
-                else if hasSuffixHack "-cvs-export" s then "cvs-dir"
-                else if hasSuffixHack "-git-export" s then "git-dir"
-                else if hasSuffixHack ".nar.bz2" s then "narbz2"
-                else if hasSuffixHack ".rpm" s then "rpm"
-
-                # Mostly for manually specified directories..
-                else if hasSuffixHack "/" s then "dir"
-
-                # Last block - for single files!! It should be always after .tar.*
-                else if hasSuffixHack ".bz2" s then "plain-bz2"
-                else if hasSuffixHack ".gz" s then "plain-gz"
-
-		# For bootstrap calls
-		else if (s ==("" + (substring 0 0 s))) then "empty"
-
-                else (abort "unknown archive type : ${s}"));
-
-        # changing this ? see [1]
-        defAddToSearchPath = fullDepEntry ("
-                addToSearchPathWithCustomDelimiter() {
-                        local delimiter=\$1
-                        local varName=\$2
-                        local needDir=\$3
-                        local addDir=\${4:-\$needDir}
-                        local prefix=\$5
-                        if [ -d \$prefix\$needDir ]; then
-                                if [ -z \${!varName} ]; then
-                                        eval export \${varName}=\${prefix}\$addDir
-                                else
-                                        eval export \${varName}=\${!varName}\${delimiter}\${prefix}\$addDir
-                                fi
-                        fi
-                }
-
-                addToSearchPath()
-                {
-                        addToSearchPathWithCustomDelimiter \"\${PATH_DELIMITER}\" \"\$@\"
-                }
-        ") ["defNest"];
-
-        # changing this ? see [1]
-        defNest = noDepEntry ("
-                nestingLevel=0
-
-                startNest() {
-                        nestingLevel=\$((\$nestingLevel + 1))
-                                echo -en \"\\e[\$1p\"
-                }
-
-                stopNest() {
-                        nestingLevel=\$((\$nestingLevel - 1))
-                                echo -en \"\\e[q\"
-                }
-
-                header() {
-                        startNest \"\$2\"
-                                echo \"\$1\"
-                }
-
-                # Make sure that even when we exit abnormally, the original nesting
-                # level is properly restored.
-                closeNest() {
-                        while test \$nestingLevel -gt 0; do
-                                stopNest
-                                        done
-                }
-
-                trap \"closeNest\" EXIT
-        ");
-
-
-        # changing this ? see [1]
-        minInit = fullDepEntry ("
-                ${stdenv.preHook}
-                
-                set -e
-                NIX_CC=${stdenv.cc}
-                export SHELL=${stdenv.shell}
-                PATH_DELIMITER=':'
-                
-                # Set up the initial path.
-                PATH=
-                for i in \$NIX_CC ${toString stdenv.initialPath}; do
-                    PATH=\$PATH\${PATH:+\"\${PATH_DELIMITER}\"}\$i/bin
-                done
-
-                export TZ=UTC
-
-                prefix=${if args ? prefix then (toString args.prefix) else "\$out"}
-
-                ") ["defNest" "defAddToSearchPath"];
-                
-        # if you change this rewrite using '' instead of "" to get rid of indentation in builder scripts
-        addInputs = fullDepEntry ("
-                # Recursively find all build inputs.
-                findInputs()
-                {
-                    local pkg=\$1
-
-                    case \$pkgs in
-                        *\\ \$pkg\\ *)
-                            return 0
-                            ;;
-                    esac
-                    
-                    pkgs=\"\$pkgs \$pkg \"
-
-                        echo \$pkg
-                    if test -f \$pkg/nix-support/setup-hook; then
-                        source \$pkg/nix-support/setup-hook
-                    fi
-                }
-
-                pkgs=\"\"
-                for i in \$NIX_CC ${toString realBuildInputs}; do
-                    findInputs \$i
-                done
-
-
-                # Set the relevant environment variables to point to the build inputs
-                # found above.
-                addToEnv()
-                {
-                    local pkg=\$1
-                "+
-                (if !((args ? ignoreFailedInputs) && (args.ignoreFailedInputs == 1)) then "
-                    if [ -e \$1/nix-support/failed ]; then
-                        echo \"failed input \$1\" >&2
-                        fail
-                    fi
-                " else "")
-                +(if addSbinPath then "
-                    if test -d \$1/sbin; then
-                        export _PATH=\$_PATH\${_PATH:+\"\${PATH_DELIMITER}\"}\$1/sbin
-                    fi
-                " else "")
-                +"
-                    if test -d \$1/bin; then
-                        export _PATH=\$_PATH\${_PATH:+\"\${PATH_DELIMITER}\"}\$1/bin
-                    fi
-
-                    for i in \"\${envHooks[@]}\"; do
-                        \$i \$pkg
-                    done
-                }
-
-                for i in \$pkgs; do
-                    addToEnv \$i
-                done
-
-
-                # Add the output as an rpath.
-                if test \"\$NIX_NO_SELF_RPATH\" != \"1\"; then
-                    export NIX_LDFLAGS=\"-rpath \$out/lib \$NIX_LDFLAGS\"
-                fi
-
-                PATH=\$_PATH\${_PATH:+\"\${PATH_DELIMITER}\"}\$PATH
-        ") ["minInit"];
-        
-        # changing this ? see [1]
-        defEnsureDir = fullDepEntry ("
-                # Ensure that the given directories exists.
-                ensureDir() {
-                    local dir
-                    for dir in \"\$@\"; do
-                        if ! test -x \"\$dir\"; then mkdir -p \"\$dir\"; fi
-                    done
-                }
-        ") ["minInit"];
-
-        # changing this ? see [1]
-        toSrcDir = s : fullDepEntry ((if (archiveType s) == "tar" then "
-                tar xvf '${s}'
-                cd \"\$(tar tf '${s}' | head -1 | sed -e 's@/.*@@' )\"
-        " else if (archiveType s) == "tgz" then "
-                tar xvzf '${s}'
-                cd \"\$(tar tzf '${s}' | head -1 | sed -e 's@/.*@@' )\"
-        " else if (archiveType s) == "tbz2" then "
-                tar xvjf '${s}'
-                cd \"\$(tar tjf '${s}' | head -1 | sed -e 's@/.*@@' )\"
-        " else if (archiveType s) == "tZ" then "
-                uncompress < '${s}' | tar x
-                cd \"\$(uncompress < '${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
-        " else if (archiveType s) == "tar.lzma" then "
-                unlzma -d -c <'${s}' | tar xv
-                cd \"\$(unlzma -d -c <'${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
-        " else if (archiveType s) == "tar.xz" then "
-                xz -d -c <'${s}' | tar xv
-                cd \"\$(xz -d -c <'${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
-        " else if (archiveType s) == "rar" then "
-                unrar x '${s}'
-                cd \"$(unrar lb '${s}' | tail -1 | sed -e 's@/.*@@' )\"
-        " else if (archiveType s) == "zip" then "
-                unzip '${s}'
-                cd \"$( unzip -lqq '${s}' | tail -1 | 
-                        sed -e 's@^\\(\\s\\+[-0-9:]\\+\\)\\{3,3\\}\\s\\+\\([^/]\\+\\)/.*@\\2@' )\"
-        " else if (archiveType s) == "cvs-dir" then "
-                cp -r '${s}' .
-                cd \$(basename ${s})
-                chmod u+rwX -R .
-        " else if (archiveType s) == "git-dir" then "
-                cp -r '${s}' .
-                cd \$(basename ${s})
-                chmod u+rwX -R .
-        " else if (archiveType s) == "dir" then "
-                cp -r '${s}' .
-                cd \$(basename ${s})
-                chmod u+rwX -R .
-        " else if (archiveType s) == "narbz2" then "
-                bzip2 <${s} | nix-store --restore \$PWD/\$(basename ${s} .nar.bz2)
-                cd \$(basename ${s} .nar.bz2)
-        " else if (archiveType s) == "rpm" then ''
-                rpm2cpio ${s} > ${s}.cpio
-                cpio -iv < ${s}.cpio
-		test -f *.tar.* && tar -xvf *.tar.*
-		test -d */ && cd */
-        '' else if (archiveType s) == "plain-bz2" then "
-                mkdir \$PWD/\$(basename ${s} .bz2)
-                NAME=\$(basename ${s} .bz2)
-                bzip2 -d <${s} > \$PWD/\$(basename ${s} .bz2)/\${NAME#*-}
-                cd \$(basename ${s} .bz2)
-        " else if (archiveType s) == "plain-gz" then "
-                mkdir \$PWD/\$(basename ${s} .gz)
-                NAME=\$(basename ${s} .gz)
-                gzip -d <${s} > \$PWD/\$(basename ${s} .gz)/\${NAME#*-}
-                cd \$(basename ${s} .gz)
-        " else if (archiveType s) == "empty" then "
-	        echo No source to unpack - doing nothing ..
-        " else (abort "unknown archive type : ${s}"))+
-                # goSrcDir is typically something like "cd mysubdir" .. but can be anything else 
-                (if args ? goSrcDir then args.goSrcDir else "")
-        ) ["minInit"];
-
-        configureCommand = attrByPath ["configureCommand"] "./configure" args;
-
-        # changing this ? see [1]
-        doConfigure = fullDepEntry ("
-                ${configureCommand} --prefix=\"\$prefix\" ${toString configureFlags}
-        ") ["minInit" "addInputs" "doUnpack"];
-
-        # changing this ? see [1]
-	doIntltool = fullDepEntry ("
-		mkdir -p config
-		intltoolize --copy --force
-	") ["minInit" "addInputs" "doUnpack"];
-
-        # changing this ? see [1]
-        doAutotools = fullDepEntry ("
-                mkdir -p config
-                libtoolize --copy --force
-                aclocal --force
-                #Some packages do not need this
-                autoheader || true; 
-                automake --add-missing --copy
-                autoconf
-        ")["minInit" "addInputs" "doUnpack"];
-
-        # changing this ? see [1]
-        doAutogen = fullDepEntry (''
-                ./autogen.sh
-        '')["minInit" "addInputs" "doUnpack"];
-
-        # changing this ? see [1]
-        doMake = fullDepEntry ("        
-                make ${toString makeFlags}
-        ") ["minInit" "addInputs" "doUnpack"];
-
-        doUnpack = toSrcDir (toString src);
-
-        # changing this ? see [1]
-        installPythonPackage = fullDepEntry ("
-                python setup.py install --prefix=\"\$prefix\" 
-                ") ["minInit" "addInputs" "doUnpack"];
-
-        doPythonConfigure = fullDepEntry ('' 
-          pythonVersion=$(toPythonPath "$prefix")
-          pythonVersion=''${pythonVersion#*/lib/python}
-          pythonVersion=''${pythonVersion%%/site-packages}
-          ${if args ? extraPythonConfigureCommand then 
-            args.extraPythonConfigureCommand 
-          else ""}
-          python configure.py -b "$prefix/bin" -d "$(toPythonPath "$prefix")" -v "$prefix/share/sip" ${toString configureFlags}
-        '') ["minInit" "addInputs" "doUnpack"]; 
-
-        # changing this ? see [1]
-        doMakeInstall = fullDepEntry ("
-                make ${toString (attrByPath ["makeFlags"] "" args)} "+
-                        "${toString (attrByPath ["installFlags"] "" args)} install") ["doMake"];
-
-        # changing this ? see [1]
-        doForceShare = fullDepEntry (" 
-                mkdir -p \"\$prefix/share\"
-                for d in ${toString forceShare}; do
-                        if [ -d \"\$prefix/\$d\" -a ! -d \"\$prefix/share/\$d\" ]; then
-                                mv -v \"\$prefix/\$d\" \"\$prefix/share\"
-                                ln -sv share/\$d \"\$prefix\"
-                        fi;
-                done;
-        ") ["minInit" "defEnsureDir"];
-
-        doForceCopy = fullDepEntry (''
-                name="$(basename $out)"
-                name="''${name#*-}"
-                mkdir -p "$prefix/share/$name"
-                for f in ${toString forceCopy}; do
-                        cp -r "$f" "$prefix/share/$name/$f" || true
-                done;
-        '') ["minInit" "defEnsureDir"];
-
-        doDump = n: noDepEntry "echo Dump number ${n}; set";
-
-	saveEnv = noDepEntry ''export > "$TMP/env-vars" || true'';
-
-	doDumpBuildInputs = noDepEntry (''
-	  echo "${toString realBuildInputs}"
-	'');
-
-        patchFlags = if args ? patchFlags then args.patchFlags else "-p1";
-
-        patches = attrByPath ["patches"] [] args;
-
-        toPatchCommand = s: "cat ${s} | patch ${toString patchFlags}";
-
-        doPatch = fullDepEntry (concatStringsSep ";"
-                (map toPatchCommand patches)
-        ) ["minInit" "doUnpack"];
-
-        envAdderInner = s: x: if x==null then s else y: 
-                a: envAdderInner (s+"echo export ${x}='\"'\"\$${x}:${y}\";'\"'\n") a;
-
-        envAdder = envAdderInner "";
-
-        envAdderList = l:  if l==[] then "" else 
-        "echo export ${head l}='\"'\"\\\$${head l}:${head (tail l)}\"'\"';\n" +
-                envAdderList (tail (tail l));
-
-        # changing this ? see [1]
-        wrapEnv = cmd: env: "
-                mv \"${cmd}\" \"${cmd}-orig\";
-                touch \"${cmd}\";
-                chmod a+rx \"${cmd}\";
-                (${envAdderList env}
-                echo '\"'\"${cmd}-orig\"'\"' '\"'\\\$@'\"' \n)  > \"${cmd}\"";
-
-        doWrap = cmd: fullDepEntry (wrapEnv cmd (attrByPath ["wrappedEnv"] [] args)) ["minInit"];
-
-        makeManyWrappers = wildcard : wrapperFlags : fullDepEntry (''
-          for i in ${wildcard}; do
-            wrapProgram "$i" ${wrapperFlags}
-          done
-        '') ["minInit" "addInputs" "defEnsureDir"];
-
-        wrapBinContentsPython = (makeManyWrappers 
-          ''$out/bin/*'' 
-          pythonWrapperArguments
-        );
-
-        pythonWrapperArguments = 
-          (''--prefix PYTHONPATH : $(toPythonPath $out)'' +
-          ''''${PYTHONPATH:+ --prefix PYTHONPATH : $PYTHONPATH}'');
-
-        preservePathWrapperArguments = ''''${PATH:+ --prefix PATH : $PATH }'';
-
-        doPropagate = fullDepEntry ("
-                mkdir -p \$out/nix-support
-                echo '${toString (attrByPath ["propagatedBuildInputs"] [] args)}' >\$out/nix-support/propagated-build-inputs
-        ") ["minInit" "defEnsureDir"];
-
-        cmakeFlags = attrByPath ["cmakeFlags"] [] args;
-
-        cmakeRPathFlag = if attrByPath ["cmakeSkipRpath "] true args then " -DCMAKE_SKIP_BUILD_RPATH=ON " else "";
-
-        cmakeBuildDir = attrByPath ["cmakeBuildDir"] "build" args;
-
-	doCmake = fullDepEntry (''
-          mkdir ${cmakeBuildDir}
-	  cd ${cmakeBuildDir}
-	  cmake -D CMAKE_INSTALL_PREFIX="$out" ${cmakeRPathFlag}${toString cmakeFlags} ..
-	'') ["minInit" "addInputs" "doUnpack"];
-
-	doScons = fullDepEntry (''
-		mkdir -p $out
-		${if (attrByPath ["sconsCleanEnv"] false args)
-		 then ""
-		 else ''
-                   sed -e '1iimport os' -i SConstruct
-                   sed -e 's/env *= *Environment *.*/&; env['"'"'ENV'"'"']=os.environ;/' -i SConstruct
-		 ''
-		}
-		scons ${toString (attrByPath ["sconsFlags"] [] args)} PREFIX=$out 
-		scons ${toString (attrByPath ["sconsFlags"] [] args)} PREFIX=$out install
-	'') ["minInit" "doUnpack" "addInputs" "defEnsureDir"];
-
-        /*debug = x:(trace x x);
-        debugX = x:(trace (toXML x) x);*/
-
-        makeNest = x: if x == defNest.text then x else "startNest\n" + x + "\nstopNest\n";
-        textClosure = a: steps: textClosureMap makeNest a (["defNest"] ++ steps);
-
-        inherit noDepEntry fullDepEntry packEntry;
-
-        defList = attrByPath ["defList"] [] args;
-        getVal = getValue args defList;
-        check = checkFlag args;
-        reqsList = attrByPath ["reqsList"] [] args;
-        buildInputsNames = filter (x: null != getVal x)
-                (uniqList {inputList = 
-                  (concatLists (map 
-                    (x: if x==[] then [] else builtins.tail x) 
-                  reqsList));});
-        configFlags = attrByPath ["configFlags"] [] args;
-        buildFlags = attrByPath ["buildFlags"] [] args;
-        nameSuffixes = attrByPath ["nameSuffixes"] [] args;
-        autoBuildInputs = assert (checkReqs args defList reqsList);
-                filter (x: x!=null) (map getVal buildInputsNames);
-        autoConfigureFlags = condConcat "" configFlags check;
-        autoMakeFlags = condConcat "" buildFlags check;
-        useConfig = attrByPath ["useConfig"] false args;
-        realBuildInputs = 
-                lib.closePropagation ((if useConfig then 
-                        autoBuildInputs else 
-                        attrByPath ["buildInputs"] [] args)++
-                        (attrByPath ["propagatedBuildInputs"] [] args));
-        configureFlags = if useConfig then autoConfigureFlags else 
-            attrByPath ["configureFlags"] "" args;
-        makeFlags = if useConfig then autoMakeFlags else attrByPath ["makeFlags"] "" args;
-
-        inherit lib;
-
-        surroundWithCommands = x : before : after : {deps=x.deps; text = before + "\n" +
-                x.text + "\n" + after ;};
-
-	createDirs = fullDepEntry (concatStringsSep ";"
-		(map (x: "mkdir -p ${x}") (attrByPath ["neededDirs"] [] args))
-	) ["minInit" "defEnsureDir"];
-
-	copyExtraDoc = fullDepEntry (''
-          name="$(basename $out)"
-          name="''${name#*-}"
-          mkdir -p "$out/share/doc/$name"
-	'' + (concatStringsSep ";"
-               (map 
-	         (x: ''cp "${x}" "$out/share/doc/$name" || true;'') 
-		 (attrByPath ["extraDoc"] [] args)))) ["minInit" "defEnsureDir" "doUnpack"];
-
-        realPhaseNames = 
-	  (optional ([] != attrByPath ["neededDirs"] [] args) "createDirs")
-	  ++
-	  (attrByPath ["phaseNames"] [] args)
-	  ++ 
-          ["doForceShare" "doPropagate" "doForceCopy"]
-	  ++
-	  (optional ([] != attrByPath ["extraDoc"] [] args) "copyExtraDoc")
-          ++
-          (optional (attrByPath ["doCheck"] false args) "doMakeCheck")
-          ++
-          (optional (attrByPath ["alwaysFail"] false args) "doFail")
-          ;
-
-        doFail = noDepEntry "
-          echo 'Failing to keep builddir (and to invalidate result).'
-          a() { return 127; } ; a ;
-        ";
-
-        doMakeCheck = fullDepEntry (''
-          make check
-        '') ["minInit"];
-
-        extraDerivationAttrs = lib.attrByPath ["extraDerivationAttrs"] {} args;
-
-        # for overrides..
-	builderDefsArgs = args;
-
-        innerBuilderDefsPackage = bd: args: (
-        let localDefs = bd.passthru.function args; in
-
-        stdenv.mkDerivation ((rec {
-          inherit (localDefs) name;
-          buildCommand = textClosure localDefs localDefs.realPhaseNames;
-          meta = localDefs.meta;
-	  passthru = localDefs.passthru // {inherit (localDefs) src; };
-        }) // (if localDefs ? propagatedBuildInputs then {
-          inherit (localDefs) propagatedBuildInputs;
-        } else {}) // extraDerivationAttrs)
-        );
-
-	builderDefsPackage = bd: func:
-	  if builtins.isFunction func then 
-	    (foldArgs 
-	      (x: y: ((func (bd // x // y)) // y))
-              (innerBuilderDefsPackage bd)
-	      {})
-	  else
-	    (builderDefsPackage bd (import (toString func)))
-	    ;
-
-   generateFontsFromSFD = fullDepEntry (''
-           for i in *.sfd; do
-                echo $i;
-                fontforge -c \
-                        'Open($1);
-                        ${optionalString (args ? extraFontForgeCommands) args.extraFontForgeCommands
-                        }Reencode("unicode");
-                         ${optionalString (attrByPath ["createTTF"] true args) ''Generate($1:r + ".ttf");''}
-                         ${optionalString (attrByPath ["createOTF"] true args) ''Generate($1:r + ".otf");''}
-                         Reencode("TeX-Base-Encoding");
-                         ${optionalString (attrByPath ["createAFM"] true args) ''Generate($1:r + ".afm");''}
-                         ${optionalString (attrByPath ["createPFM"] true args) ''Generate($1:r + ".pfm");''}
-                         ${optionalString (attrByPath ["createPFB"] true args) ''Generate($1:r + ".pfb");''}
-                         ${optionalString (attrByPath ["createMAP"] true args) ''Generate($1:r + ".map");''}
-                         ${optionalString (attrByPath ["createENC"] true args) ''Generate($1:r + ".enc");''}
-                        ' $i; 
-        done
-   '') ["minInit" "addInputs" "doUnpack"];
-
-   installFonts = 
-      let retrievedName = (if args ? name then args.name else ""); in
-   fullDepEntry (''
-           mkdir -p $out/share/fonts/truetype/public/${retrievedName}
-           mkdir -p $out/share/fonts/opentype/public/${retrievedName}
-           mkdir -p $out/share/fonts/type1/public/${retrievedName}
-           mkdir -p $out/share/texmf/fonts/enc/${retrievedName}
-           mkdir -p $out/share/texmf/fonts/map/${retrievedName}
-
-           find -name '*.ttf' -exec cp {} $out/share/fonts/truetype/public/${retrievedName} \;
-           find -name '*.otf' -exec cp {} $out/share/fonts/opentype/public/${retrievedName} \;
-           find -name '*.pfm' -o -name '*.afm' -o -name '*.pfb' -exec cp {} $out/share/fonts/type1/public/${retrievedName} \;
-           find -name '*.enc' -exec cp {} $out/share/texmf/fonts/enc/${retrievedName} \;
-           find -name '*.map' -exec cp {} $out/share/texmf/fonts/map/${retrievedName} \;
-   '') ["minInit" "defEnsureDir"];
-
-   simplyShare = shareName: fullDepEntry (''
-     mkdir -p $out/share
-     cp -r . $out/share/${shareName}
-   '') ["doUnpack" "defEnsureDir"];
-
-   doPatchShebangs = dir: fullDepEntry (''
-     patchShebangFun() {
-     # Rewrite all script interpreter file names (`#! /path') under the
-     # specified  directory tree to paths found in $PATH.  E.g.,
-     # /bin/sh will be rewritten to /nix/store/<hash>-some-bash/bin/sh.
-     # Interpreters that are already in the store are left untouched.
-         echo "patching script interpreter paths"
-         local f
-         for f in $(find "${dir}" -xtype f -perm -0100); do
-             local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f")
-             if test -n "$oldPath" -a "''${oldPath:0:''${#NIX_STORE}}" != "$NIX_STORE"; then
-                 local newPath=$(type -P $(basename $oldPath) || true)
-                 if test -n "$newPath" -a "$newPath" != "$oldPath"; then
-                     echo "$f: interpreter changed from $oldPath to $newPath"
-                     sed -i "1 s,$oldPath,$newPath," "$f"
-		 else
-		     echo "$f: not changing interpreter from $oldPath"
-                 fi
-             fi
-         done
-     }
-     patchShebangFun;
-   '') ["minInit"];
-
-   createPythonInstallationTarget = fullDepEntry (''
-     mkdir -p $(toPythonPath $out)
-     export PYTHONPATH=$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath $out)
-   '') ["minInit" "addInputs" "defEnsureDir"];
-
-   fetchUrlFromSrcInfo = srcInfo: fetchurl ({
-     url = srcInfo.url;
-     sha256 = srcInfo.hash;
-   } // 
-   (if srcInfo ? downloadName then {name = srcInfo.downloadName;} else {}));
-
-   fetchGitFromSrcInfo = srcInfo: fetchgit {
-     url = srcInfo.url;
-     rev = srcInfo.rev;
-     sha256 = srcInfo.hash;
-   };
-}) // args
-
-# [1]: rewrite using '' instead of " so that indentation gets stripped. It's
-# only about some spaces but in the end they will sum up
diff --git a/pkgs/build-support/builder-defs/template-auto-callable.nix b/pkgs/build-support/builder-defs/template-auto-callable.nix
deleted file mode 100644
index a94a96fe538..00000000000
--- a/pkgs/build-support/builder-defs/template-auto-callable.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-x@{builderDefsPackage
-  (abort "Specify dependencies")
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [(abort "Specify helper argument names")];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="${abort ''Specify package name''}";
-    version="";
-    name="${baseName}-${version}";
-    url="${name}";
-    hash="";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
-    description = "${abort ''Specify description''}";
-    maintainers = with a.lib.maintainers;
-    [
-      (abort "Specify maintainers")
-    ];
-    platforms = with a.lib.platforms;
-      (abort "Specify platforms");
-    license = a.lib.licenses.(abort "Specify license");
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "${abort ''Specify download page''}";
-    };
-  };
-}) x
-
diff --git a/pkgs/build-support/builder-defs/template-bdp-uud.nix b/pkgs/build-support/builder-defs/template-bdp-uud.nix
deleted file mode 100644
index 2b2af257d37..00000000000
--- a/pkgs/build-support/builder-defs/template-bdp-uud.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-a :  
-let 
-  s = import ./src-for-default.nix;
-  buildInputs = with a; [
-    
-  ];
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
-
-  inherit (s) name;
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
-    description = "${abort "Specify description"}";
-    maintainers = [
-      a.lib.maintainers.(abort "Specify maintainer")
-    ];
-    platforms = with a.lib.platforms; 
-      (abort "Specify supported platforms");
-  };
-}
diff --git a/pkgs/build-support/builder-defs/template-composing+config.nix b/pkgs/build-support/builder-defs/template-composing+config.nix
deleted file mode 100644
index a774d421efa..00000000000
--- a/pkgs/build-support/builder-defs/template-composing+config.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-args : with args; let localDefs = builderDefs (args // rec {
-                src = /* put a fetchurl here */
-                (abort "Specify source");
-                useConfig = true;
-                reqsList = [
-                        ["true" ]
-                        ["false"]
-                ];
-                /* List consisiting of an even number of strings; "key" "value" */
-                configFlags = [
-                ];
-        }) args null; /* null is a terminator for sumArgs */
-        in with localDefs;
-stdenv.mkDerivation rec {
-        name = "${(abort "Specify name")}"+version;
-        builder = writeScript (name + "-builder")
-                (textClosure localDefs [(abort "Check phases") doMakeInstall doForceShare doPropagate]);
-        meta = {
-                description = "${(abort "Specify description")}";
-                inherit src;
-        };
-}
diff --git a/pkgs/build-support/builder-defs/template-composing-builder.nix b/pkgs/build-support/builder-defs/template-composing-builder.nix
deleted file mode 100644
index 979df800008..00000000000
--- a/pkgs/build-support/builder-defs/template-composing-builder.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
-
-  version = a.lib.attrByPath ["version"] "" a; 
-  buildInputs = with a; [
-    
-  ];
-in
-rec {
-  src = /* Here a fetchurl expression goes */;
-
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  name = "${abort "Specify name"}-" + version;
-  meta = {
-    description = "${abort "Specify description"}";
-    maintainers = [
-      a.lib.maintainers.(abort "Specify maintainer")
-    ];
-  };
-}
diff --git a/pkgs/build-support/upstream-updater/attrset-to-dir.sh b/pkgs/build-support/upstream-updater/attrset-to-dir.sh
deleted file mode 100755
index 2d99ef110a1..00000000000
--- a/pkgs/build-support/upstream-updater/attrset-to-dir.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh
-
-[ -n "$2" ] && NIXPKGS_ALL="$2";
-[ -z "$NIXPKGS_ALL" ] && [ -d "/etc/nixos/nixpkgs" ] && NIXPKGS_ALL="/etc/nixos/nixpkgs";
-[ -z "$NIXPKGS_ALL" ] && [ -d "$HOME/nixpkgs" ] && NIXPKGS_ALL="$HOME/nixpkgs";
-[ -z "$NIXPKGS_ALL" ] && {
-  echo "Cannot find Nixpkgs source. Please specify it via NIXPKGS_ALL or second command line argument"
-  exit 1
-};
-
-derivation="$(nix-instantiate --show-trace - << EOF
-let 
-  pkgs = import "${NIXPKGS_ALL}" {};
-  attrSet = import "${1}";
-in
-  pkgs.attrSetToDir attrSet
-EOF
-)"
-echo "Derivation is: $derivation" >&2
-output="$(nix-store -r "$derivation")"
-echo "$output/attributes"
diff --git a/pkgs/development/interpreters/octave/hg.nix b/pkgs/development/interpreters/octave/hg.nix
deleted file mode 100644
index 797fff584f6..00000000000
--- a/pkgs/development/interpreters/octave/hg.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{stdenv, fetchurl, gfortran, readline, ncurses, perl, flex,
- bison, autoconf, automake, sourceFromHead, config, lib, atlas, gperf, python, glibc, gnuplot, texinfo, texLive, qhull, libX11}:
-
-let commonBuildInputs = [gfortran readline ncurses perl glibc qhull libX11 texinfo]; in
-
-stdenv.mkDerivation ({
-  NIX_LDFLAGS = "-lpthread";
-  configureFlags = "--enable-readline --enable-dl";
-  meta = { 
-      description = "High-level interactive language for numerical computations";
-      homepage = http://www.octave.org;
-      license = stdenv.lib.licenses.gpl3;
-    };
-} // (
-  if config.octave.devVersion or false then {
-    name = "octave-hg"; # developement version mercurial repo
-    # REGION AUTO UPDATE:   { name="octave"; type = "hg"; url = "http://www.octave.org/hg/octave"; }
-    src = sourceFromHead "octave-03b414516dd8.tar.gz"
-                 (fetchurl { url = "http://mawercer.de/~nix/repos/octave-03b414516dd8.tar.gz"; sha256 = "30877f1e2ff1a456e7a76153aabf7c59ce7c7a8b63eda0515b1eead6a4351ce7"; });
-    # END
-    # HOME is set to $TMP because octave needs to access ${HOME}/.octave_hist while running targets
-    # in doc/interpreter.. Maybe this can be done better. This hack is fastest :)
-    preConfigure = ''
-        # glob is contained in glibc! Don't know why autotools want to use -lglob
-        sed -i 's/-lglob//' configure.in
-        ./autogen.sh
-        export HOME=$TMP
-        '';
-    buildInputs = commonBuildInputs ++ [ flex bison autoconf automake gperf gnuplot texLive ]
-                  ++ lib.optionals (config.octave.atlas or true) [ python atlas ];
-    # it does build, but documentation doesn't.. So just remove that directory
-    # from the buildfile
-    buildPhase = ''
-      sed -i octMakefile \
-        -e 's/^\(INSTALL_SUBDIRS = .*\)doc \(.*\)$/\1 \2/' \
-        -e 's/^\(SUBDIRS = .*\)doc \(.*\)$/\1 \2/' \
-        -e 's/\$(MAKE) -C doc/#/'
-      make
-    '';
-  } else {
-    name = "octave-3.1.55";
-    src =  fetchurl {
-      url = ftp://ftp.octave.org/pub/octave/bleeding-edge/octave-3.1.55.tar.bz2;
-      sha256 = "1lm4v85kdic4n5yxwzrdb0v6dc6nw06ljgx1q8hfkmi146kpg7s6";
-    };
-    buildInputs = commonBuildInputs ++ [ flex bison autoconf automake python ]
-                  ++ lib.optionals (config.octave.atlas or true) [ python atlas ];
-  }
-))
diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix
deleted file mode 100644
index 550870b0a6a..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-args @ {poppler, perl, makeWrapper, ... }: with args;
-rec {
-  name = "TeXLive-linkdir";
-
-  buildInputs = lib.closePropagation paths
-    ++ [perl]
-    ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
-
-  phaseNames = [ "doAggregate" ];
-
-  doAggregate = fullDepEntry (''
-    set +o pipefail
-
-    mkdir -p $out/bin
-    for currentPath in ${lib.concatStringsSep " " buildInputs}; do
-        echo Symlinking "$currentPath"
-        find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) -type d | while read; do
-            REPLY="''${REPLY#$currentPath}"
-            mkdir -p $out/"$REPLY"
-        done
-        find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) ! -type d | while read; do
-            REPLY="''${REPLY#$currentPath}"
-            ln -fs $currentPath/"$REPLY" $out/"$REPLY"
-            echo
-        done | while read; do head -n 999 >/dev/null; echo -n .; done
-
-        for i in "$currentPath/bin/"* :; do
-            test "$i" != : || continue
-            echo -ne "#! $SHELL\\nexec $i \"\$@\"" > "$out/bin/$(basename "$i")" && \
-            chmod a+x "$out/bin/$(basename "$i")"
-        done
-
-        echo
-
-        cp -Trfp $currentPath/libexec $out/libexec || true
-    done
-
-    ln -s $out/texmf* $out/share/
-
-    rm -rf $out/texmf-config
-    find $out/texmf*/ -type d | while read; do
-      REPLY="''${REPLY#$out/texmf}"
-      mkdir -p $out/texmf-config/"$REPLY"
-    done
-
-    for i in $out/libexec/*/* :; do
-        test "$i" = : && continue;
-        test -f "$i" && \
-        test -x "$i" && \
-        echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i) && \
-        chmod a+x $out/bin/$(basename $i)
-    done
-
-    rm -f $out/texmf*/ls-R
-    for i in web2c texconfig fonts/map; do
-        mkdir -p $out/texmf-config/$i
-        cp -Lr $out/texmf*/$i/* $out/texmf-config/$i || true
-    done
-    chmod -R u+w $out/texmf-config
-
-    yes | TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees
-    yes | PATH=$PATH:$out/bin mktexlsr $out/texmf*
-    yes | TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees
-    yes | PATH=$PATH:$out/bin mktexlsr $out/texmf*
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # did the same thing in texLive, but couldn't get it to carry to the
-    # binaries installed by texLiveFull
-    for prog in $out/bin/*; do
-      wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler.out}/lib"
-    done
-  '' ) [ "minInit" "defEnsureDir" "addInputs" ];
-
-  preferLocalBuild = true;
-
-  meta = {
-    description = "TeX distribution directory";
-    longDescription = ''
-      Here all the files from different TeX-related
-      packages are collected in one directory. Of
-      course, mktexlsr is called. Later placed
-      directories take precedence. It is supposed that
-      share and libexec are symlinked, and bin is
-      recreated with wrappers for libexec-located
-      linked binaries.
-    '';
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
deleted file mode 100644
index 7acecd66543..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-args @ {texLiveLatexXColor, texLivePGF, texLive, ...}: with args;
-rec {
-  name = "texlive-beamer-2013";
-  src = fetchurl {
-    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.24.orig.tar.gz;
-    sha256 = "0rzjlbs67kzmvlh7lwga4yxgddvrvfkkhhx1ajdn4lqy2w9zxiv8";
-  };
-
-  buildInputs = [texLive];
-  propagatedBuildInputs = [texLiveLatexXColor texLivePGF];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/share/
-
-    mkdir -p $out/texmf-dist/tex/latex/beamer
-    cp -r * $out/texmf-dist/tex/latex/beamer 
-
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-
-  meta = {
-    description = "Extra components for TeXLive: beamer class";
-    maintainers = [ stdenv.lib.maintainers.mornfall stdenv.lib.maintainers.jwiegley ];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/cm-super.nix b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
deleted file mode 100644
index 5c442fad27f..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/cm-super.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-args @ {texLive, ...}: with args;
-rec {
-  name = "texlive-cm-super-2009";
-  src = fetchurl {
-    url = mirror://debian/pool/main/c/cm-super/cm-super_0.3.4.orig.tar.gz;
-    sha256 = "0zrq4sr9ank35svkz3cfd7f978i9c8xbzdqm2c8kvxia2753v082";
-  };
-
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/share/
-
-    mkdir -p $out/texmf-dist/fonts/enc
-    mkdir -p $out/texmf-dist/fonts/map
-    mkdir -p $out/texmf-dist/fonts/type1/public/cm-super
-    cp pfb/*.pfb $out/texmf-dist/fonts/type1/public/cm-super
-    mkdir -p $out/texmf-dist/dvips/cm-super
-    cp dvips/*.{map,enc}  $out/texmf-dist/dvips/cm-super
-    cp dvips/*.enc  $out/texmf-dist/fonts/enc
-    cp dvips/*.map  $out/texmf-dist/fonts/map
-    mkdir -p $out/texmf-dist/dvipdfm/config
-    cp dvipdfm/*.map  $out/texmf-dist/dvipdfm/config
-
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-  buildInputs = [texLive];
-
-  meta = {
-    description = "Extra components for TeXLive: CM-Super fonts";
-    maintainers = [ args.lib.maintainers.raskin ];
-
-    # Actually, arch-independent..
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/context.nix b/pkgs/tools/typesetting/tex/texlive/context.nix
deleted file mode 100644
index 2cc62c33409..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/context.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-args @ { texLive, ... }: with args;
-rec {
-  name = "context-2014.05.21";
-  src = fetchurl {
-    url = mirror://debian/pool/main/c/context/context_2014.05.21.20140528.orig.tar.gz;
-    sha256 = "1d744xrsjyl52x2xbh87k5ad826mzz8yqmhdznrmqrhk3qpjkzic";
-  };
-
-  buildInputs = [texLive];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/share/
-
-    mkdir -p $out/texmf-dist
-    cp -r * $out/texmf-dist
-
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-
-  meta = {
-    description = "ConTEXt TeX wrapper";
-  };
-
-}
-
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
deleted file mode 100644
index 3a93c6445a7..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ /dev/null
@@ -1,161 +0,0 @@
-args @ {
-builderDefs, zlib, bzip2, ncurses, libpng, ed, lesstif, ruby, potrace
-, gd, t1lib, freetype, icu, perl, expat, curl, xz, pkgconfig, zziplib, texinfo
-, libjpeg, bison, python, fontconfig, flex, poppler, libpaper, graphite2
-, makeWrapper, gmp, mpfr, xpdf, config
-, libXaw, libX11, xproto, libXt, libXpm
-, libXmu, libXext, xextproto, libSM, libICE
-, ... }: with args;
-
-rec {
-  src = assert config.allowTexliveBuilds or true; fetchurl {
-    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2014.20140926.35254.orig.tar.xz;
-    sha256 = "1c39x059jhn5jsy6i9j3akjbkm1kmmzssy1jyi1aw20rl2vp86w3";
-  };
-
-  texmfVersion = "2014.20141024";
-  texmfSrc = fetchurl {
-    url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz";
-    sha256 = "1a6968myfi81s76n9p1qljgpwia9mi55pkkz1q6lbnwybf97akj1";
-  };
-
-  langTexmfVersion = "2014.20141024";
-  langTexmfSrc = fetchurl {
-    url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz";
-    sha256 = "1ydz5m1v40n34g1l31r3vqg74rbr01x2f80drhz4igh21fm7zzpa";
-  };
-
-  passthru = { inherit texmfSrc langTexmfSrc; };
-
-  setupHook = ./setup-hook.sh;
-
-  doMainBuild = fullDepEntry ( stdenv.lib.optionalString stdenv.isDarwin ''
-    export DYLD_LIBRARY_PATH="${poppler.out}/lib"
-  '' + ''
-    mkdir -p $out
-    mkdir -p $out/nix-support
-    cp ${setupHook} $out/nix-support/setup-hook.sh
-    mkdir -p $out/share
-    tar xf ${texmfSrc} -C $out --strip-components=1
-    tar xf ${langTexmfSrc} -C $out --strip-components=1
-
-    sed -e s@/usr/bin/@@g -i $(grep /usr/bin/ -rl . )
-
-    sed -e 's@dehypht-x-2013-05-26@dehypht-x-2014-05-21@' -i $(grep 'dehypht-x' -rl $out )
-    sed -e 's@dehyphn-x-2013-05-26@dehyphn-x-2014-05-21@' -i $(grep 'dehyphn-x' -rl $out )
-
-    sed -e 's@\<env ruby@${ruby}/bin/ruby@' -i $(grep 'env ruby' -rl . )
-    sed -e 's@\<env perl@${perl}/bin/perl@' -i $(grep 'env perl' -rl . )
-    sed -e 's@\<env python@${python}/bin/python@' -i $(grep 'env python' -rl . )
-
-    sed -e '/ubidi_open/i#include <unicode/urename.h>' -i $(find . -name configure)
-    sed -e 's/-lttf/-lfreetype/' -i $(find . -name configure)
-
-    # sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
-    sed -e '1i\#include <string.h>\n\#include <stdlib.h>' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' )
-
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu.dev}/include/layout";
-
-    ./Build --prefix="$out" --datadir="$out/share" --mandir="$out/share/man" --infodir="$out/share/info" \
-      ${args.lib.concatStringsSep " " configureFlags}
-    cd Work
-  '' ) [ "minInit" "doUnpack" "addInputs" "defEnsureDir" ];
-
-  promoteLibexec = fullDepEntry (''
-    mkdir -p $out/libexec/
-    mv $out/bin $out/libexec/$(uname -m)
-    mkdir -p $out/bin
-    for i in "$out/libexec/"* "$out/libexec/"*"/"* ; do
-        test \( \! -d "$i" \) -a \( -x "$i" -o -L "$i" \) || continue
-
-      if [ -x "$i" ]; then
-          echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i)
-                chmod a+x $out/bin/$(basename $i)
-      else
-          mv "$i" "$out/libexec"
-          ln -s "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/bin/$(basename "$i")";
-          ln -sf "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/libexec/$(uname -m)/$(basename "$i")";
-          rm "$out/libexec/$(basename "$i")"
-      fi;
-    done
-  '') ["doMakeInstall"];
-
-  doPostInstall = fullDepEntry( ''
-    cp -r "$out/"texmf* "$out/share/" || true
-    rm -rf "$out"/texmf*
-    [ -d $out/share/texmf-config ] || ln -s $out/share/texmf-dist $out/share/texmf-config
-    ln -s "$out"/share/texmf* "$out"/
-
-    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
-
-    yes | HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees || echo $?
-
-    # Prebuild the format files, as it used to be done with TeXLive 2007.
-    # Luatex currently fails this way:
-    #
-    #   This is a summary of all `failed' messages:
-    #   `luatex -ini  -jobname=luatex -progname=luatex luatex.ini' failed
-    #   `luatex -ini  -jobname=dviluatex -progname=dviluatex dviluatex.ini' failed
-    #
-    # I find it acceptable, hence the "|| true".
-    echo "building format files..."
-    mkdir -p "$out/share/texmf-var/web2c"
-    ln -sf "$out"/out/share/texmf* "$out"/
-    PATH="$PATH:$out/bin" fmtutil-sys --all || true
-
-    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    for prog in "$out/bin/"*; do
-      wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler.out}/lib"
-    done
-  '' ) [ "minInit" "defEnsureDir" "doUnpack" "doMakeInstall" "promoteLibexec" "patchShebangsInterim"];
-
-  patchShebangsInterimBin = doPatchShebangs ''$out/bin/'';
-  patchShebangsInterimLibexec = doPatchShebangs ''$out/libexec/'';
-  patchShebangsInterimShareTexmfDist = doPatchShebangs ''$out/share/texmf-dist/scripts/'';
-  patchShebangsInterimTexmfDist = doPatchShebangs ''$out/texmf-dist/scripts/'';
-
-  patchShebangsInterim = fullDepEntry ("") ["patchShebangsInterimBin"
-    "patchShebangsInterimLibexec" "patchShebangsInterimTexmfDist"
-    "patchShebangsInterimShareTexmfDist"];
-
-  buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11.out libICE xproto
-    freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext
-    xextproto perl libSM ruby expat curl libjpeg python fontconfig xz pkgconfig
-    poppler libpaper graphite2 lesstif zziplib harfbuzz texinfo potrace gmp mpfr
-    xpdf ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper ]
-    ;
-
-  configureFlags = [ "--with-x11" "--enable-ipc" "--with-mktexfmt"
-    "--enable-shared" "--disable-native-texlive-build" "--with-system-zziplib"
-    "--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2"
-    "--with-system-freetype=no" "--disable-ttf2pk" "--enable-ttf2pk2" ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [
-      # TODO: We should be able to fix these tests
-      "--disable-devnag"
-
-      # jww (2014-06-02): The following fails with:
-      # FAIL: tests/dvisvgm
-      # ===================
-      #
-      # dyld: Library not loaded: libgs.dylib.9.06
-      #   Referenced from: .../Work/texk/dvisvgm/.libs/dvisvgm
-      #   Reason: image not found
-      "--disable-dvisvgm"
-    ];
-
-  phaseNames = [ "addInputs" "doMainBuild" "doMakeInstall" "doPostInstall" ];
-
-  name = "texlive-core-2014";
-
-  meta = with stdenv.lib; {
-    description = "A TeX distribution";
-    homepage    = http://www.tug.org/texlive;
-    license     = stdenv.lib.licenses.gpl2;
-    maintainers = with maintainers; [ lovek323 raskin jwiegley ];
-    platforms   = platforms.unix;
-    hydraPlatforms = [];
-    broken = true; # https://github.com/NixOS/nixpkgs/issues/14807
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix
deleted file mode 100644
index 7f7ffbee7c2..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/extra.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-args @ { texLive, xz, ... }: with args;
-rec {
-  name    = "texlive-extra-2014";
-  version = "2014.20141024";
-
-  src = fetchurl {
-    url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz";
-    sha256 = "190p5v6madcgkxjmfal0pcylfz88zi6yaixky0vrcz1kbvxqlcb9";
-  };
-
-  buildInputs = [texLive xz];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/share
-    cp -r texmf* $out/
-    ln -s $out/texmf* $out/share
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-
-  meta = {
-    description = "Extra components for TeXLive";
-    maintainers = [ args.lib.maintainers.raskin args.lib.maintainers.jwiegley ];
-
-    # Actually, arch-independent..
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
deleted file mode 100644
index 29e1c45245f..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-args @ {texLive, unzip, ...}: with args;
-rec {
-  version = "1.5.1";
-  name = "moderncv-${version}";
-  src = fetchurl {
-    url = "https://launchpad.net/moderncv/trunk/${version}/+download/moderncv-${version}.zip";
-    sha256 = "0k26s0z8hmw3h09vnpndim7gigwh8q6n9nbbihb5qbrw5qg2yqck";
-  };
-
-  buildInputs = [texLive unzip];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/texmf-dist/tex/latex/moderncv $out/texmf-dist/doc $out/share
-    mv *.cls *.sty $out/texmf-dist/tex/latex/moderncv/
-    mv examples $out/texmf-dist/doc/moderncv
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-
-  meta = {
-    description = "The moderncv class for TeXLive";
-    # Actually, arch-independent..
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
deleted file mode 100644
index caa140d42c7..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-args @ {texLive, unzip, ...}: with args;
-rec {
-  version = "0.9";
-  name = "moderntimeline-${version}";
-  src = fetchurl {
-    url = "https://github.com/raphink/moderntimeline/archive/v0.9.zip";
-    sha256 = "1h1sfdh0whb74y6f999hs80flwpdbs2n4n2b9c450rvs1y7abcml";
-  };
-
-  buildInputs = [texLive unzip];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/texmf-dist/tex/latex/moderntimeline $out/texmf-dist/doc/moderntimeline $out/share
-    mv *.dtx *.ins $out/texmf-dist/tex/latex/moderntimeline/
-    mv *.md $out/texmf-dist/doc/moderntimeline/
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-
-  meta = {
-    description = "The moderntimeline extensions for moderncv";
-    # Actually, arch-independent..
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/setup-hook.sh b/pkgs/tools/typesetting/tex/texlive/setup-hook.sh
deleted file mode 100644
index 9c5424e881e..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/setup-hook.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-addTeXMFPath () {
-    if test -d "$1/share/texmf-nix"; then
-        export TEXINPUTS="${TEXINPUTS}${TEXINPUTS:+:}$1/share/texmf-nix//:"
-    fi
-}
-
-envHooks+=(addTeXMFPath)
diff --git a/pkgs/tools/typesetting/tex/texlive/xcolor.nix b/pkgs/tools/typesetting/tex/texlive/xcolor.nix
deleted file mode 100644
index 57351e06992..00000000000
--- a/pkgs/tools/typesetting/tex/texlive/xcolor.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-args @ {texLive, ... }: with args;
-rec {
-  name = "texlive-latex-xcolor-2007";
-  src = fetchurl {
-    url = mirror://debian/pool/main/l/latex-xcolor/latex-xcolor_2.11.orig.tar.gz;
-    sha256 = "0z78xfn5iq5ncg82sd6v2qrxs8p9hs3m4agaz90p4db5dvk2w0mn";
-  };
-
-  buildInputs = [texLive];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    export HOME=$PWD
-    mkdir -p $out/share/
-
-    mkdir -p $out/texmf-dist/tex/latex/xcolor
-    mkdir -p $out/texmf-dist/dvips/xcolor
-    latex xcolor.ins
-    cp *.sty *.def $out/texmf-dist/tex/latex/xcolor
-    cp *.pro $out/texmf-dist/dvips/xcolor
-
-    #latex xcolor.dtx
-    #latex xcolor.dtx
-    #makeindex -s gind.ist xcolor.idx
-    #latex xcolor.dtx
-    #latex xcolor.dtx
-
-    rm *.sty *.pro *.ins *.def *.dtx
-    mkdir -p $out/texmf-dist/doc/latex-xcolor
-    cp *  $out/texmf-dist/doc/latex-xcolor
-
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-
-  meta = {
-    description = "Extra components for TeXLive: LaTeX color support";
-  };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index fd6154ebde8..fb682895acb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -88,10 +88,6 @@ in
   # inside the set for derivations.
   recurseIntoAttrs = attrs: attrs // { recurseForDerivations = true; };
 
-  builderDefs = lib.composedArgsAndFun (callPackage ../build-support/builder-defs/builder-defs.nix) {};
-
-  builderDefsPackage = builderDefs.builderDefsPackage builderDefs;
-
   stringsWithDeps = lib.stringsWithDeps;
 
 
@@ -104,10 +100,6 @@ in
 
   ### BUILD SUPPORT
 
-  attrSetToDir = arg: callPackage ../build-support/upstream-updater/attrset-to-dir.nix {
-    theAttrSet = arg;
-  };
-
   autoreconfHook = makeSetupHook
     { substitutions = { inherit autoconf automake gettext libtool; }; }
     ../build-support/setup-hooks/autoreconf.sh;
@@ -4934,7 +4926,10 @@ in
 
   microscheme = callPackage ../development/compilers/microscheme { };
 
-  mitscheme = callPackage ../development/compilers/mit-scheme { };
+  mitscheme = callPackage ../development/compilers/mit-scheme {
+   texLive = texlive.combine { inherit (texlive) scheme-small; };
+   texinfo = texinfo5;
+  };
 
   mkcl = callPackage ../development/compilers/mkcl {};
 
@@ -5839,9 +5834,6 @@ in
     qt = qt4;
   }));
 
-  # mercurial (hg) bleeding edge version
-  octaveHG = callPackage ../development/interpreters/octave/hg.nix { };
-
   ocropus = callPackage ../applications/misc/ocropus { };
 
   inherit (callPackages ../development/interpreters/perl {}) perl perl520 perl522;
@@ -17344,50 +17336,6 @@ in
   texlive = recurseIntoAttrs
     (callPackage ../tools/typesetting/tex/texlive-new { });
 
-  texLive = builderDefsPackage (callPackage ../tools/typesetting/tex/texlive) {
-    ghostscript = ghostscriptX;
-    harfbuzz = harfbuzz.override {
-      withIcu = true; withGraphite2 = true;
-    };
-  };
-
-  texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun {
-    paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor
-              texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo
-              texLiveModerntimeline texLiveContext ];
-  });
-
-  /* Look in configurations/misc/raskin.nix for usage example (around revisions
-  where TeXLive was added)
-
-  (texLiveAggregationFun {
-    paths = [texLive texLiveExtra texLiveCMSuper
-      texLiveBeamer
-    ];
-  })
-
-  You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
-  Just installing a few packages doesn't work.
-  */
-  texLiveAggregationFun = params:
-    builderDefsPackage (callPackage ../tools/typesetting/tex/texlive/aggregate.nix) params;
-
-  texLiveContext = builderDefsPackage (callPackage ../tools/typesetting/tex/texlive/context.nix) {};
-
-  texLiveExtra = builderDefsPackage (callPackage ../tools/typesetting/tex/texlive/extra.nix) {};
-
-  texLiveCMSuper = builderDefsPackage (callPackage ../tools/typesetting/tex/texlive/cm-super.nix) {};
-
-  texLiveLatexXColor = builderDefsPackage (callPackage ../tools/typesetting/tex/texlive/xcolor.nix) {};
-
-  texLivePGF = pgf3;
-
-  texLiveBeamer = builderDefsPackage (callPackage ../tools/typesetting/tex/texlive/beamer.nix) {};
-
-  texLiveModerncv = builderDefsPackage (callPackage ../tools/typesetting/tex/texlive/moderncv.nix) {};
-
-  texLiveModerntimeline = builderDefsPackage (callPackage ../tools/typesetting/tex/texlive/moderntimeline.nix) {};
-
   ib-tws = callPackage ../applications/office/ib/tws { jdk=oraclejdk8; };
 
   ib-controller = callPackage ../applications/office/ib/controller { jdk=oraclejdk8; };
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 2774ff66f57..430c03f5190 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -154,9 +154,6 @@ with import ./release-lib.nix { inherit supportedSystems; };
   sysvtools = linux;
   tcl = linux;
   tcpdump = linux;
-  texLive = linux;
-  texLiveBeamer = linux;
-  texLiveExtra = linux;
   texinfo = all;
   time = linux;
   tinycc = linux;