diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-04-20 12:37:10 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-04-20 12:37:10 +0000 |
commit | 2cbc76177988f125c818c10e0a3fd8c018621dc8 (patch) | |
tree | 3d3cbf9fc474f006d9dd3e3cb3bf3c24dd6c1d81 /pkgs/top-level | |
parent | 3c4bdbc446e8c116ef4ab84c94d63adc6fe0a9f5 (diff) | |
download | nixpkgs-2cbc76177988f125c818c10e0a3fd8c018621dc8.tar nixpkgs-2cbc76177988f125c818c10e0a3fd8c018621dc8.tar.gz nixpkgs-2cbc76177988f125c818c10e0a3fd8c018621dc8.tar.bz2 nixpkgs-2cbc76177988f125c818c10e0a3fd8c018621dc8.tar.lz nixpkgs-2cbc76177988f125c818c10e0a3fd8c018621dc8.tar.xz nixpkgs-2cbc76177988f125c818c10e0a3fd8c018621dc8.tar.zst nixpkgs-2cbc76177988f125c818c10e0a3fd8c018621dc8.zip |
* Move builder-defs to pkgs/build-support. (pkgs/top-level is for
composition.) svn path=/nixpkgs/trunk/; revision=15175
Diffstat (limited to 'pkgs/top-level')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/builder-defs.nix | 511 | ||||
-rw-r--r-- | pkgs/top-level/template-composing+config.nix | 22 | ||||
-rw-r--r-- | pkgs/top-level/template-composing-builder.nix | 23 | ||||
-rw-r--r-- | pkgs/top-level/template-debian.nix | 14 | ||||
-rw-r--r-- | pkgs/top-level/template-simple.nix | 17 |
6 files changed, 1 insertions, 588 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9daf84ed079..9afdcfc1b82 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -159,7 +159,7 @@ let abort ("Unknown option specified: " + result)) else x); - builderDefs = composedArgsAndFun (import ./builder-defs.nix) { + builderDefs = composedArgsAndFun (import ../build-support/builder-defs/builder-defs.nix) { inherit stringsWithDeps lib stdenv writeScript fetchurl; }; diff --git a/pkgs/top-level/builder-defs.nix b/pkgs/top-level/builder-defs.nix deleted file mode 100644 index 8556c9529a4..00000000000 --- a/pkgs/top-level/builder-defs.nix +++ /dev/null @@ -1,511 +0,0 @@ -args: with args; with stringsWithDeps; with lib; -(rec -{ - inherit writeScript; - - src = getAttr ["src"] "" args; - - addSbinPath = getAttr ["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 (getAttr ["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.lzma" s) then "tar.lzma" - else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip" - else if (hasSuffixHack "-cvs-export" s) then "cvs-dir" - else if (hasSuffixHack ".nar.bz2" s) then "narbz2" - - # 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 (abort "unknown archive type : ${s}")); - - 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"]; - - 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 - "); - - minInit = FullDepEntry (" - set -e - NIX_GCC=${stdenv.gcc} - export SHELL=${stdenv.shell} - PATH_DELIMITER=':' - " + (if ((stdenv ? preHook) && (stdenv.preHook != null) && - ((toString stdenv.preHook) != "")) then - " - param1=${stdenv.param1} - param2=${stdenv.param2} - param3=${stdenv.param3} - param4=${stdenv.param4} - param5=${stdenv.param5} - source ${stdenv.preHook} - " + - " - # Set up the initial path. - PATH= - for i in \$NIX_GCC ${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"} - - " - else "")) ["defNest" "defAddToSearchPath"]; - - 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_GCC ${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"]; - - 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"]; - - 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) == "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) == "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) == "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) == "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 (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 = getAttr ["configureCommand"] "./configure" args; - - doConfigure = FullDepEntry (" - ${configureCommand} --prefix=\"\$prefix\" ${toString configureFlags} - ") ["minInit" "addInputs" "doUnpack"]; - - doIntltool = FullDepEntry (" - mkdir -p config - intltoolize --copy --force - ") ["minInit" "addInputs" "doUnpack"]; - - 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"]; - - doMake = FullDepEntry (" - make ${toString makeFlags} - ") ["minInit" "addInputs" "doUnpack"]; - - doUnpack = toSrcDir (toString src); - - 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"]; - - doMakeInstall = FullDepEntry (" - make ${toString (getAttr ["makeFlags"] "" args)} "+ - "${toString (getAttr ["installFlags"] "" args)} install") ["doMake"]; - - doForceShare = FullDepEntry (" - ensureDir \"\$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#*-}" - ensureDir "$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"; - - patchFlags = if args ? patchFlags then args.patchFlags else "-p1"; - - patches = getAttr ["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)); - - 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 (getAttr ["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 (" - ensureDir \$out/nix-support - echo '${toString (getAttr ["propagatedBuildInputs"] [] args)}' >\$out/nix-support/propagated-build-inputs - ") ["minInit" "defEnsureDir"]; - - /*debug = x:(__trace x x); - debugX = x:(__trace (__toXML x) x);*/ - - replaceScriptVar = file: name: value: ("sed -e 's`^${name}=.*`${name}='\\''${value}'\\''`' -i ${file}"); - replaceInScript = file: l: (concatStringsSep "\n" ((pairMap (replaceScriptVar file) l))); - replaceScripts = l:(concatStringsSep "\n" (pairMap replaceInScript l)); - doReplaceScripts = FullDepEntry (replaceScripts (getAttr ["shellReplacements"] [] args)) [minInit]; - makeNest = x:(if x==defNest.text then x else "startNest\n" + x + "\nstopNest\n"); - textClosure = a : steps : textClosureMapOveridable makeNest a (["defNest"] ++ steps); - - inherit noDepEntry FullDepEntry PackEntry; - - defList = (getAttr ["defList"] [] args); - getVal = getValue args defList; - check = checkFlag args; - reqsList = getAttr ["reqsList"] [] args; - buildInputsNames = filter (x: (null != getVal x)) - (uniqList {inputList = - (concatLists (map - (x:(if (x==[]) then [] else builtins.tail x)) - reqsList));}); - configFlags = getAttr ["configFlags"] [] args; - buildFlags = getAttr ["buildFlags"] [] args; - nameSuffixes = getAttr ["nameSuffixes"] [] args; - autoBuildInputs = assert (checkReqs args defList reqsList); - filter (x: x!=null) (map getVal buildInputsNames); - autoConfigureFlags = condConcat "" configFlags check; - autoMakeFlags = condConcat "" buildFlags check; - useConfig = getAttr ["useConfig"] false args; - realBuildInputs = - lib.closePropagation ((if useConfig then - autoBuildInputs else - getAttr ["buildInputs"] [] args)++ - (getAttr ["propagatedBuildInputs"] [] args)); - configureFlags = if useConfig then autoConfigureFlags else - getAttr ["configureFlags"] "" args; - makeFlags = if useConfig then autoMakeFlags else getAttr ["makeFlags"] "" args; - - inherit lib; - - surroundWithCommands = x : before : after : {deps=x.deps; text = before + "\n" + - x.text + "\n" + after ;}; - - createDirs = FullDepEntry (concatStringsSep ";" - (map (x: "ensureDir ${x}") (getAttr ["neededDirs"] [] args)) - ) ["minInit" "defEnsureDir"]; - - copyExtraDoc = FullDepEntry ('' - name="$(basename $out)" - name="''${name#*-}" - ensureDir "$out/share/doc/$name" - '' + (concatStringsSep ";" - (map - (x: ''cp "${x}" "$out/share/doc/$name" || true;'') - (getAttr ["extraDoc"] [] args)))) ["minInit" "defEnsureDir" "doUnpack"]; - - realPhaseNames = - (optional ([] != getAttr ["neededDirs"] [] args) "createDirs") - ++ - args.phaseNames - ++ - ["doForceShare" "doPropagate" "doForceCopy"] - ++ - (optional ([] != getAttr ["extraDoc"] [] args) "copyExtraDoc") - ++ - (optional (getAttr ["doCheck"] false args) "doMakeCheck") - ++ - (optional (getAttr ["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.getAttr ["extraDerivationAttrs"] {} args; - - # for overrides.. - builderDefsArgs = args; - - innerBuilderDefsPackage = bd: args: ( - let localDefs = bd.passthru.function args; in - - stdenv.mkDerivation ((rec { - inherit (localDefs) name; - builder = writeScript (name + "-builder") - (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: - foldArgs - (x: y: ((func (bd // x // y)) // y)) - (innerBuilderDefsPackage bd) - {}; - - generateFontsFromSFD = FullDepEntry ('' - for i in *.sfd; do - fontforge -c \ - 'Open($1); - ${optionalString (args ? extraFontForgeCommands) args.extraFontForgeCommands - }Reencode("unicode"); - ${optionalString (getAttr ["createTTF"] true args) ''Generate($1:r + ".ttf");''} - ${optionalString (getAttr ["createOTF"] true args) ''Generate($1:r + ".otf");''} - Reencode("TeX-Base-Encoding"); - ${optionalString (getAttr ["createAFM"] true args) ''Generate($1:r + ".afm");''} - ${optionalString (getAttr ["createPFM"] true args) ''Generate($1:r + ".pfm");''} - ${optionalString (getAttr ["createPFB"] true args) ''Generate($1:r + ".pfb");''} - ${optionalString (getAttr ["createMAP"] true args) ''Generate($1:r + ".map");''} - ${optionalString (getAttr ["createENC"] true args) ''Generate($1:r + ".enc");''} - ' $i; - done - '') ["minInit" "addInputs" "doUnpack"]; - - installFonts = FullDepEntry ('' - ensureDir $out/share/fonts/truetype/public/${args.name} - ensureDir $out/share/fonts/opentype/public/${args.name} - ensureDir $out/share/fonts/type1/public/${args.name} - ensureDir $out/share/texmf/fonts/enc/${args.name} - ensureDir $out/share/texmf/fonts/map/${args.name} - - cp *.ttf $out/share/fonts/truetype/public/${args.name} || echo No TrueType fonts - cp *.otf $out/share/fonts/opentype/public/${args.name} || echo No OpenType fonts - cp *.{pfm,afm,pfb} $out/share/fonts/type1/public/${args.name} || echo No Type1 Fonts - cp *.enc $out/share/texmf/fonts/enc/${args.name} || echo No fontenc data - cp *.map $out/share/texmf/fonts/map/${args.name} || echo No fontmap data - '') ["minInit" "defEnsureDir"]; - - simplyShare = shareName: FullDepEntry ('' - ensureDir $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}" -type 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" - fi - fi - done - } - patchShebangFun; - '') ["minInit"]; - - createPythonInstallationTarget = FullDepEntry ('' - ensureDir $(toPythonPath $out) - export PYTHONPATH=$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath $out) - '') ["minInit" "addInputs" "defEnsureDir"]; -}) // args diff --git a/pkgs/top-level/template-composing+config.nix b/pkgs/top-level/template-composing+config.nix deleted file mode 100644 index a774d421efa..00000000000 --- a/pkgs/top-level/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/top-level/template-composing-builder.nix b/pkgs/top-level/template-composing-builder.nix deleted file mode 100644 index 0efb347d821..00000000000 --- a/pkgs/top-level/template-composing-builder.nix +++ /dev/null @@ -1,23 +0,0 @@ -a : -let - fetchurl = a.fetchurl; - - version = a.lib.getAttr ["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"}"; - }; -} diff --git a/pkgs/top-level/template-debian.nix b/pkgs/top-level/template-debian.nix deleted file mode 100644 index 80621b27c4d..00000000000 --- a/pkgs/top-level/template-debian.nix +++ /dev/null @@ -1,14 +0,0 @@ -args: with args; with debPackage; -debBuild ({ - src = fetchurl { - url = mirror://debian/pool/(abort "Specify URL"); - }; - patch = fetchurl { - url = mirror://debian/pool/(abort "Specify URL"); - }; - name = "${abort "Specify name"}"; - buildInputs = []; - meta = { - description = "${abort "Specify description"}"; - }; -} // args) diff --git a/pkgs/top-level/template-simple.nix b/pkgs/top-level/template-simple.nix deleted file mode 100644 index 4eac1fcad0a..00000000000 --- a/pkgs/top-level/template-simple.nix +++ /dev/null @@ -1,17 +0,0 @@ -args: with args; -stdenv.mkDerivation { - name = ""; - - src = fetchurl { - url = ; - sha256 = ""; - }; - - buildInputs =[]; - - meta = { - description = " - -"; - }; -} |