diff options
author | Marc Weber <marco-oweber@gmx.de> | 2009-07-09 22:24:08 +0000 |
---|---|---|
committer | Marc Weber <marco-oweber@gmx.de> | 2009-07-09 22:24:08 +0000 |
commit | 25a1533d9a7c9d9660fff7b1405e08610b0053af (patch) | |
tree | 092e13d0ce705af747f69ee59b58ebf209b50bb2 /pkgs/development | |
parent | f38e40051530c4c80a549d1035003070da0403a4 (diff) | |
download | nixlib-25a1533d9a7c9d9660fff7b1405e08610b0053af.tar nixlib-25a1533d9a7c9d9660fff7b1405e08610b0053af.tar.gz nixlib-25a1533d9a7c9d9660fff7b1405e08610b0053af.tar.bz2 nixlib-25a1533d9a7c9d9660fff7b1405e08610b0053af.tar.lz nixlib-25a1533d9a7c9d9660fff7b1405e08610b0053af.tar.xz nixlib-25a1533d9a7c9d9660fff7b1405e08610b0053af.tar.zst nixlib-25a1533d9a7c9d9660fff7b1405e08610b0053af.zip |
removing old haskell stuff. I was using my own branch for a long time.
It will be replaced by something else anyway. Some of those patches may still be of interest (?) svn path=/nixpkgs/trunk/; revision=16298
Diffstat (limited to 'pkgs/development')
-rw-r--r-- | pkgs/development/compilers/ghc/ghc-wrapper/default.nix | 51 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix | 17 | ||||
-rw-r--r-- | pkgs/development/compilers/ghcs/default.nix | 261 | ||||
-rw-r--r-- | pkgs/development/compilers/ghcs/nix_ghc_pkg_tool.hs | 48 | ||||
-rw-r--r-- | pkgs/development/compilers/ghcs/patch | 55 | ||||
-rw-r--r-- | pkgs/development/libraries/haskell/generic/ghcPkgUtil.sh | 37 |
6 files changed, 0 insertions, 469 deletions
diff --git a/pkgs/development/compilers/ghc/ghc-wrapper/default.nix b/pkgs/development/compilers/ghc/ghc-wrapper/default.nix deleted file mode 100644 index 9cff8095c65f..000000000000 --- a/pkgs/development/compilers/ghc/ghc-wrapper/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -args: with args; with lib; - -stdenv.mkDerivation { - inherit suffix name ghc readline ncurses; - - buildInputs = (libraries ++ [ghcPkgUtil]); - tags = if installSourceAndTags then - map (x : sourceWithTagsDerivation (sourceWithTagsFromDerivation x)) - ( uniqList { inputList= filter annotatedWithSourceAndTagInfo libraries; } ) - else []; - - phases="installPhase"; - - installPhase=" - set -e - ensureDir \$out/bin - if test -n \"\$ghcPackagedLibs\"; then - g=:\$(echo \$ghc/lib/ghc-*/package.conf) - fi - - for a in ghc ghci ghc-pkg; do - app=$(ls -al $ghc/bin/$a | sed -n 's%.*-> \\(.*\\)%\\1%p'); -cat > \"\$out/bin/\$a$suffix\" << EOF -#!`type -f sh | gawk '{ print $3; }'` -export LIBRARY_PATH=\$readline/lib:\$ncurses/lib -GHC_PACKAGE_PATH=\${GHC_PACKAGE_PATH}\${g} \$ghc/bin/$app \"\\\$@\" -EOF - chmod +x \"\$out/bin/\$a$suffix\" - done - - ensureDir \$out/src - for i in \$tags; do - ln -s \$i/src/* \$out/src - done - - ensureDir \$out/bin - for i in `echo $GHC_PACKAGE_PATH | sed 's/:/ /g'`; do - o=\${i/lib*/} - o=\${i/nix-support*/} - for j in \$ghc/bin/* `find \${o}bin/ -type f 2>/dev/null` `find \${o}usr/local/bin/ -type f 2>/dev/null`; do - b=`basename \$j` - if [ \$b == sh ]; then continue; fi - if [ \$b == bash ]; then continue; fi - if [ \$b == bashbug ]; then continue; fi - if [ \$b == bashbug ]; then continue; fi - if [ -e \$out/bin/\$b ]; then continue; fi - ln -s \$j \$out/bin/; - done - done -"; -} diff --git a/pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix b/pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix deleted file mode 100644 index 1fe0dac74758..000000000000 --- a/pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix +++ /dev/null @@ -1,17 +0,0 @@ -args: with args; -{ name, src, meta ? {}, libsFun, pass ? {} } : -let buildInputs = libsFun ((ghc68extraLibs ghcsAndLibs.ghc68) // ghcsAndLibs.ghc68.core_libs) - ++ [ ghcsAndLibs.ghc68.ghc perl ]; -in stdenv.mkDerivation ({ - inherit name src meta; - phases = "unpackPhase patchPhase buildPhase"; - # TODO The ghc must be the one having compiled the libs.. So make this obvious by not having to pass it - buildPhase = '' - ghc --make Setup.*hs -o setup - ensureDir \out - nix_ghc_pkg_tool join local-pkg-db - ./setup configure --prefix=$out --package-db=local-pkg-db - ./setup build - ./setup install - ''; -} // pass // { buildInputs = buildInputs ++ (if pass ? buildInputs then lib.toList pass.buildInputs else []); }) diff --git a/pkgs/development/compilers/ghcs/default.nix b/pkgs/development/compilers/ghcs/default.nix deleted file mode 100644 index 1eeadd06f6a7..000000000000 --- a/pkgs/development/compilers/ghcs/default.nix +++ /dev/null @@ -1,261 +0,0 @@ - { ghcPkgUtil, gnum4, perl, ghcboot, stdenv, fetchurl, recurseIntoAttrs, gmp, readline, lib, hasktags, ctags - , sourceByName, autoconf, happy, alex ,automake, getConfig} : -rec { - - /* What's in here? - Goal: really pure GHC. This means put every library into its each package.conf - and add all together using GHC_PACKAGE_PATH - - First I've tried separating the build of ghc from it's lib. It hase been to painful. I've failed. Now there is nix_ghc_pkg_tool.hs which just takes the installed package.conf - and creates a new package db file for each contained package. - - The final attribute set looks similar to this: - ghc, core_libs and extra_libraries will then be used to build all the ohter packages availible on hackege.. - (There is much left to be done) - - ghcAndLibraries = { - ghc68 = { - ghc = { - src = "The compiler source" - extra_src = "source of extra libraries" - version = "GHC version as string" - } - - core_libs = [ libs distributed the ghc core (see libraries/core-packages ]; - extra_libraries = [ libraries contained extra_src ]; - }; - - ghc66 = { - roughly the same - }; - } - - */ - - #this only works for ghc-6.8 right now - ghcAndLibraries = { version, src /* , core_libraries, extra_libraries */ - , extra_src, pass ? {} }: - recurseIntoAttrs ( rec { - inherit src extra_src version; - - ghc = stdenv.mkDerivation ( lib.mergeAttrsNoOverride {} pass { - name = "ghc-"+version; - inherit src ghcboot gmp version; - - buildInputs = [readline perl gnum4 gmp]; - - preConfigure = " - chmod u+x rts/gmp/configure - # still requires a hack for ncurses - sed -i \"s|^\(library-dirs.*$\)|\1 \\\"$ncurses/lib\\\"|\" libraries/readline/package.conf.in - "; - - # TODO add unique (filter duplicates?) shouldn't be there? - nix_ghc_pkg_tool = ./nix_ghc_pkg_tool.hs; - - configurePhase = "./configure" - +" --prefix=\$out " - +" --with-ghc=\$ghcboot/bin/ghc" - +" --with-gmp-libraries=$gmp/lib" - +" --with-gmp-includes=${gmp}/include" - +" --with-readline-libraries=\"$readline/lib\""; - - # now read the main package.conf and create a single package db file for each of them - # Also create setup hook. - makeFlags = getConfig ["ghc" "makeFlags" ] ""; - - # note : I don't know yet wether it's a good idea to have RUNGHC.. It's faster - # but you can't pass packages, can you? - postInstall = " - cp \$nix_ghc_pkg_tool nix_ghc_pkg_tool.hs - \$out/bin/ghc-\$version --make -o nix_ghc_pkg_tool nix_ghc_pkg_tool.hs; - ./nix_ghc_pkg_tool split \$out/lib/ghc-\$version/package.conf \$out/lib/ghc-\$version - cp nix_ghc_pkg_tool \$out/bin - - if test -x \$out/bin/runghc; then - RUNHGHC=\$out/bin/runghc # > ghc-6.7/8 ? - else - RUNHGHC=\$out/bin/runhaskell # ghc-6.6 and prior - fi - - ensureDir \$out/nix-support - sh=\$out/nix-support/setup-hook - echo \"RUNHGHC=\$RUNHGHC\" >> \$sh - - "; - }); - - core_libs = rec { - # name (using lowercase letters everywhere because using installing packages having different capitalization is discouraged) - this way there is not that much to remember? - - cabal_darcs_name = "cabal-darcs"; - - # introducing p here to speed things up. - # It merges derivations (defined below) and additional inputs. I hope that using as few nix functions as possible results in greates speed? - # unfortunately with x; won't work because it forces nix to evaluate all attributes of x which would lead to infinite recursion - pkgs = let x = derivations; in { - # ghc extra packages - cabal = { name = "Cabal-1.2.3.0"; srcDir = "libraries/Cabal"; - deps = [x.base x.pretty x.old_locale x.old_time - x.directory x.unix x.process x.array x.containers - x.rts x.filepath ]; }; - array = { name = "array-0.1.0.0"; srcDir = "libraries/array"; - deps = [x.base ]; }; - base = { name = "base-3.0.1.0"; srcDir = "libraries/base"; - deps = [x.rts ]; }; - bytestring = { name = "bytestring-0.9.0.1"; srcDir = "libraries/bytestring"; - deps = [ x.base x.array ];}; - containers = { name = "containers-0.1.0.1"; srcDir = "libraries/containers"; - deps = [ x.base x.array ];}; - directory = { name = "directory-1.0.0.0"; srcDir = "libraries/directory"; - deps = [ x.base x.old_locale x.old_time x.filepath ];}; - filepath = { name = "filepath-1.1.0.0"; srcDir = "libraries/filepath"; - deps = [ x.base ];}; - ghc = { name = "ghc-${version}"; srcDir = "compiler"; - deps = [ x.base x.old_locale x.old_time x.filepath - x.directory x.array x.containers x.hpc x.bytestring - x.pretty x.packedstring x.template_haskell x.unix - x.process x.readline x.cabal x.random x.haskell98 ]; }; - haskell98 = { name = "haskell98-1.0.1.0"; srcDir = "libraries/haskell98"; - deps = [ x.base x.old_locale x.old_time x.filepath - x.directory x.random x.unix x.process x.array]; }; - hpc = { name = "hpc-0.5.0.0"; srcDir = "libraries/hpc"; - deps = [ x.base x.old_locale x.old_time x.filepath - x.directory x.array x.containers ]; }; - old_locale = { name = "old-locale-1.0.0.0"; srcDir = "libraries/old-locale"; - deps = [ x.base ]; }; - old_time = { name = "old-time-1.0.0.0"; srcDir = "libraries/old-time"; - deps = [ x.base x.old_locale ];}; - packedstring = { name = "packedstring-0.1.0.0"; srcDir = "libraries/packedstring"; - deps = [ x.base x.array ];}; - pretty = { name = "pretty-1.0.0.0"; srcDir = "libraries/pretty"; - deps = [ x.base ];}; - process = { name = "process-1.0.0.0"; srcDir = "libraries/process"; - deps = [ x.base x.old_locale x.old_time x.filepath - x.directory x.unix ]; }; - random = { name = "random-1.0.0.0"; srcDir = "libraries/random"; - deps = [ x.base x.old_locale x.old_time ]; }; - readline = { name = "readline-1.0.1.0"; srcDir = "libraries/readline"; - deps = [ x.base x.old_locale x.old_time x.filepath - x.directory x.unix x.process ];}; - rts = rec { - name = "rts-1.0"; srcDir = "rts"; # TODO: Doesn't have .hs files so I should use ctags if creating tags at all - deps = []; - createTagFiles = [ - { name = "${name}_haskell"; - tagCmd = "${toString ctags}/bin/ctags -R .;mv tags \$TAG_FILE"; } - ]; - }; - template_haskell = { name = "template-haskell-2.2.0.0"; srcDir = "libraries/template-haskell"; - deps = [ x.base x.pretty x.array x.packedstring x.containers ];}; - unix = { name = "unix-2.3.0.0"; srcDir = "libraries/unix"; - deps = [ x.base x.old_locale x.old_time x.filepath x.directory ];}; - }; - - toDerivation = attrs : with attrs; - - stdenv.mkDerivation { - inherit (attrs) name; - phases = "buildPhase fixupPhase"; - buildInputs = [ ghcPkgUtil ]; - propagatedBuildInputs = [ ghc ] ++ attrs.deps; - buildPhase = "setupHookRegisteringPackageDatabase \"${ghc}/lib/ghc-${ghc.version}/${attrs.name}.conf\""; - meta = { - sourceWithTags = { - src = ghc.src; - inherit srcDir; - name = attrs.name + "-src-with-tags"; - createTagFiles = lib.maybeAttr "createTagFiles" [ - { name = "${attrs.name}_haskell"; - tagCmd = "${toString hasktags}/bin/hasktags-modified --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; } - ] attrs; - }; - }; - }; - derivations = with lib; builtins.listToAttrs (lib.concatLists ( lib.mapRecordFlatten - ( n : attrs : let d = (toDerivation attrs); in [ (nameValuePair n d) (nameValuePair attrs.name d) ] ) pkgs ) ); - }.derivations; - }); - - ghc68 = ghcAndLibraries rec { - version = "6.8.2"; - src = fetchurl { - #url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.0.20071004-src.tar.bz2; - #sha256 = "1yyl7sxykmvkiwfxkfzpqa6cmgw19phkyjcdv99ml22j16wli63l"; - url = "http://www.haskell.org/ghc/dist/stable/dist/ghc-${version}-src.tar.bz2"; - md5 = "745c6b7d4370610244419cbfec4b2f84"; - #url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.20070912-src.tar.bz2; - #sha256 = "1b1gvi7hc7sc0fkh29qvzzd5lgnlvdv3ayiak4mkfnzkahvmq85s"; - }; - - pass = { patches = ./patch; }; - - extra_src = fetchurl { - url = "http://www.haskell.org/ghc/dist/stable/dist/ghc-${version}-src-extralibs.tar.bz2"; - sha256 = "044mpbzpkbxcnqhjnrnmjs00mr85057d123rrlz2vch795lxbkcn"; - #url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.20070912-src-extralibs.tar.bz2; - #sha256 = "0py7d9nh3lkhjxr3yb3n9345d0hmzq79bi40al5rcr3sb84rnp9r"; - }; - }; - - # this works. commented out because I haven't uploaded all the bleeding edge source dist files. - #[> darcs version of ghc which is updated occasionally by Marc Weber - #ghc68darcs = ghcAndLibraries rec { - # version = "6.9"; - - # pass = { buildInputs = [ happy alex]; - # patches = ./patch; - # patchPhase = " - # unset patchPhase; patchPhase - # pwd - # sed 's/GhcWithJavaGen=NO/GhcWithJavaGen=YES/g' -i mk/config.mk.in - # "; - # }; - # [> each library is usually added using darcs-all get - # [> so I assemble and prepare the sources here - # src = stdenv.mkDerivation { - # name = "ghc-darcs-src-dist"; - # buildInputs = [autoconf automake]; - # core_libs = map (x : sourceByName "ghc_core_${x}") ["array" "base" "bytestring" "Cabal" "containers" "directory" "editline" "filepath" "ghc_prim" "haskell98" "hpc" "integer_gmp" "old_locale" "old_time" "packedstring" "pretty" "process" "random" "template_haskell" "unix" "Win32" ]; - # ghc = sourceByName "ghc"; - # phases = "buildPhase"; - # buildPhase = " - # echo unpacking ghc - # tar xfz \$ghc &> /dev/null - # cd nix_repsoitory_manager_tmp_dir/libraries - # for i in \$core_libs; do - # echo 'unpacking core_lib :' \$i - # tar xfz \$i &> /dev/null - # n=`basename \$i` - # n=\${n/ghc_core_/} - # if [ -f nix_repsoitory_manager_tmp_dir/*.ac ]; then - # cd nix_repsoitory_manager_tmp_dir - # echo ======================================================= - # echo \$n - # autoreconf - # cd .. - # fi - # mv nix_repsoitory_manager_tmp_dir \${n/.tar.gz/} - # done - # mv ghc_prim ghc-prim - # for i in integer-gmp old-locale old-time template-haskell; do - # mv \${i/-/_} $i - # done - # mkdir \$out - # cd .. - # autoreconf - # sh boot - # cd .. - # mv nix*/* \$out/ - # "; - # }; - - # [> TODO this is copied.. use dev versions as well here - # extra_src = fetchurl { - # url = "http://www.haskell.org/ghc/dist/stable/dist/ghc-${version}-src-extralibs.tar.bz2"; - # sha256 = "044mpbzpkbxcnqhjnrnmjs00mr85057d123rrlz2vch795lxbkcn"; - # [>url = http://www.haskell.org/ghc/dist/stable/dist/ghc-6.8.20070912-src-extralibs.tar.bz2; - # [>sha256 = "0py7d9nh3lkhjxr3yb3n9345d0hmzq79bi40al5rcr3sb84rnp9r"; - # }; - #}; -} diff --git a/pkgs/development/compilers/ghcs/nix_ghc_pkg_tool.hs b/pkgs/development/compilers/ghcs/nix_ghc_pkg_tool.hs deleted file mode 100644 index 494b37807fa8..000000000000 --- a/pkgs/development/compilers/ghcs/nix_ghc_pkg_tool.hs +++ /dev/null @@ -1,48 +0,0 @@ --- packages: filepath,Cabal,directory -{-# OPTIONS_GHC -fglasgow-exts #-} -module Main where -import Distribution.InstalledPackageInfo (InstalledPackageInfo (..)) -import Distribution.Package (showPackageId) -import System.FilePath -import System.Environment -import System.Directory -import System.IO -import System.Exit -import Data.List - -usage = unlines [ - " usage a) <app-name> split in_path out_path" - , " b) <app-anme> join out_path" - , "This small helper executable servers two purposes:" - , "a) split the main package db created by ghc installation into single libs" - , " so that nix can add them piecwise as needed to buildInputs" - , "b) merge databases into one single file, so when building a library" - , " we can create one db containing all dependencies passed by GHC_PACKAGE_PATH" - , " I think this is a better solution than patching and mantaining cabal so" - , " that it support GHC_PACKAGE_PATH (not only by accident) ?" - ] - -mySplit :: (Eq Char) => [Char] ->[[ Char ]] -mySplit [] = [] -mySplit list = let (l, l') = span (not . (`elem` ":;")) list - in l: mySplit (drop 1 l') - -myReadFile f = doesFileExist f >>= \fe -> - if fe then readFile f - else do hPutStrLn stderr $ "unable to read file " ++ f - exitWith (ExitFailure 1) - -main = do - args <- getArgs - case args of - ["split", inFile, outDir] -> do - -- prior to 6.9.x (when exactly) this must be InstalledPackageInfo only (not InstalledPackageInfo_ String) - -- (packagedb :: [InstalledPackageInfo_ String] ) <- fmap read $ myReadFile inFile - (packagedb :: [InstalledPackageInfo] ) <- fmap read $ myReadFile inFile - mapM_ (\pi -> let fn = outDir </> (showPackageId $ package pi) ++ ".conf" - in writeFile fn (show [pi]) - ) packagedb - ["join", outpath] -> do - getEnv "GHC_PACKAGE_PATH" >>= mapM myReadFile . nub . mySplit - >>= writeFile outpath . show . concat . map (read :: String -> [InstalledPackageInfo]) - _ -> putStrLn usage diff --git a/pkgs/development/compilers/ghcs/patch b/pkgs/development/compilers/ghcs/patch deleted file mode 100644 index e888413c67d2..000000000000 --- a/pkgs/development/compilers/ghcs/patch +++ /dev/null @@ -1,55 +0,0 @@ -diff -rN -U3 old-ghc_package_db/compiler/package.conf.in new-ghc_package_db/compiler/package.conf.in ---- old-ghc_package_db/compiler/package.conf.in 2008-04-24 02:03:28.000000000 +0200 -+++ new-ghc_package_db/compiler/package.conf.in 2008-04-24 02:03:28.000000000 +0200 -@@ -10,7 +10,6 @@ - BasicTypes - BinIface - Binary -- BitSet - Bitmap - BuildTyCl - ByteCodeAsm -@@ -91,7 +90,6 @@ - Encoding - FastString - FastTypes -- FieldLabel - Finder - FiniteMap - FloatIn -@@ -121,7 +119,6 @@ - IfaceEnv - IfaceSyn - IfaceType -- IlxGen - Inst - InstEnv - Java -@@ -179,7 +176,6 @@ - RdrHsSyn - RdrName - RegAllocInfo -- RegisterAlloc - RnBinds - RnEnv - RnExpr -diff -rN -U3 old-ghc_package_db/mk/package.mk new-ghc_package_db/mk/package.mk ---- old-ghc_package_db/mk/package.mk 2008-04-24 02:03:26.000000000 +0200 -+++ new-ghc_package_db/mk/package.mk 2008-04-24 02:03:28.000000000 +0200 -@@ -61,6 +61,7 @@ - - package.conf.inplace : package.conf.in - $(CPP) $(RAWCPP_FLAGS) -P \ -+ $(if $(subst NO,,$(GhcWithJavaGen)),, -DJava= -D JavaGen= -DPrintJava= ) \ - -DIMPORT_DIR='"$(IMPORT_DIR_INPLACE)"' \ - -DLIB_DIR='"$(LIB_DIR_INPLACE)"' \ - -DINCLUDE_DIR='"$(INCLUDE_DIR_INPLACE)"' \ -@@ -74,6 +75,7 @@ - - install:: - $(CPP) $(RAWCPP_FLAGS) -P -DINSTALLING \ -+ $(if $(subst NO,,$(GhcWithJavaGen)),, -DJava= -D JavaGen= -DPrintJava= ) \ - -DIMPORT_DIR='"$(IMPORT_DIR_INSTALLED)"' \ - -DLIB_DIR='"$(LIB_DIR_INSTALLED)"' \ - -DINCLUDE_DIR='"$(INCLUDE_DIR_INSTALLED)"' \ - diff --git a/pkgs/development/libraries/haskell/generic/ghcPkgUtil.sh b/pkgs/development/libraries/haskell/generic/ghcPkgUtil.sh deleted file mode 100644 index 5760372888ec..000000000000 --- a/pkgs/development/libraries/haskell/generic/ghcPkgUtil.sh +++ /dev/null @@ -1,37 +0,0 @@ -# mantainer: Marc Weber (marco-oweber@gmx.de) -# -# example usage: add ghcPkgUtil to buildInputs then somewhere in buildPhase: -# -# createEmptyPackageDatabaseAndSetupHook -# configure --with-package-db=$PACKAGE_DB -# ... compile ghc library ... -# add your library to propagatedBuildInputs instead of buildInputs -# in all depending libraries - - - -# creates a setup hook -# adding the package database -# nix-support/package.conf to GHC_PACKAGE_PATH -# if not already contained -setupHookRegisteringPackageDatabase(){ - ensureDir $out/nix-support; - if test -n "$1"; then - local pkgdb=$1 - else - local pkgdb=$out/nix-support/package.conf - fi - cat >> $out/nix-support/setup-hook << EOF - - echo \$GHC_PACKAGE_PATH | grep -l $pkgdb &> /dev/null || \ - export GHC_PACKAGE_PATH=\$GHC_PACKAGE_PATH\${GHC_PACKAGE_PATH:+$PATH_DELIMITER}$pkgdb; -EOF -} - -# create an empty package database in which the new library can be registered. -createEmptyPackageDatabaseAndSetupHook(){ - ensureDir $out/nix-support; - PACKAGE_DB=$out/nix-support/package.conf; - echo '[]' > "$PACKAGE_DB"; - setupHookRegisteringPackageDatabase -} |