@@ -151,7 +151,7 @@ in let
151151      let 
152152        suitable-index-states = 
153153          builtins . filter 
154-             ( s : s  >=   index-state-max )  # This compare is why we need zulu time 
154+             ( s : s  >  index-state-max )  # This compare is why we need zulu time 
155155            ( builtins . attrNames index-state-hashes ) ; 
156156      in 
157157        if  builtins . length suitable-index-states  ==  0 
@@ -518,22 +518,30 @@ let
518518                json_cabal_file=$(mktemp) 
519519                cabal2json $fixed_cabal_file > $json_cabal_file 
520520
521-                 exposed_modules="$(jq -r '.library. "exposed-modules"//[]|.[]|select(type=="array")[] ' $json_cabal_file)" 
522-                 reexported_modules="$(jq -r '.library. "reexported-modules"//[]|.[]|select(type=="array")[] ' $json_cabal_file | sed 's/.* as //g')" 
521+                 exposed_modules="$(jq -r '.components.lib. "exposed-modules"//[]|.[]|select(type=="string") ' $json_cabal_file)" 
522+                 reexported_modules="$(jq -r '.components.lib. "reexported-modules"//[]|.[]|select(type=="string") ' $json_cabal_file | sed 's/.* as //g')" 
523523
524524                # FIXME This is a bandaid. Rather than doing this, conditionals should be interpreted. 
525525                ${ pkgs . lib . optionalString pkgs . stdenv . targetPlatform . isGhcjs ''  
526-                 exposed_modules+=" $(jq -r '.library. "exposed-modules"//[]|.[]|select(type=="object" and .if .arch == "javascript")|.then []' $json_cabal_file)" 
526+                 exposed_modules+=" $(jq -r '.components.lib. "exposed-modules"//[]|.[]|select(type=="object" and ._if .arch == "javascript")|._then []' $json_cabal_file)" 
527527                '' } 
528528                ${ pkgs . lib . optionalString pkgs . stdenv . targetPlatform . isWindows ''  
529-                 exposed_modules+=" $(jq -r '.library. "exposed-modules"//[]|.[]|select(type=="object" and .if .os == "windows")|.then []' $json_cabal_file)" 
529+                 exposed_modules+=" $(jq -r '.components.lib. "exposed-modules"//[]|.[]|select(type=="object" and ._if .os == "windows")|._then []' $json_cabal_file)" 
530530                '' } 
531531                ${ pkgs . lib . optionalString ( ! pkgs . stdenv . targetPlatform . isWindows )  ''  
532-                 exposed_modules+=" $(jq -r '.library. "exposed-modules"//[]|.[]|select(type=="object" and .if .not.os == "windows")|.then []' $json_cabal_file)" 
532+                 exposed_modules+=" $(jq -r '.components.lib. "exposed-modules"//[]|.[]|select(type=="object" and ._if .not.os == "windows")|._then []' $json_cabal_file)" 
533533                '' } 
534534
535535                EXPOSED_MODULES_${ varname name } ="$(tr '\n' ' ' <<< "$exposed_modules $reexported_modules")" 
536-                 DEPS_${ varname name } ="$(jq -r '.library."build-depends"[]|select(type=="array")[],select(type=="object" and .if.not.flag != "vendor-filepath").then[]' $json_cabal_file | sed 's/^\([A-Za-z0-9-]*\).*$/\1/g' | sort -u | tr '\n' ' ')" 
536+                 deps="$(jq -r '.components.lib."build-depends"[]|select(.package)|.package' $json_cabal_file)" 
537+                 deps+=" $(jq -r '.components.lib."build-depends"[]|select((.if.flag or ._if.not.flag) and ._if.not.flag != "vendor-filepath")._then[]|.package' $json_cabal_file)" 
538+                 ${ pkgs . lib . optionalString pkgs . stdenv . targetPlatform . isWindows ''  
539+                 deps+=" $(jq -r '.components.lib."build-depends"[]|select(._if.os == "windows")|._then[]|.package' $json_cabal_file)" 
540+                 '' } 
541+                 ${ pkgs . lib . optionalString ( ! pkgs . stdenv . targetPlatform . isWindows )  ''  
542+                 deps+=" $(jq -r '.components.lib."build-depends"[]|select(._if.not.os == "windows")|._then[]|.package' $json_cabal_file)" 
543+                 '' } 
544+                 DEPS_${ varname name } ="$(tr '\n' ' ' <<< "$deps")" 
537545                VER_${ varname name } ="$(jq -r '.version' $json_cabal_file)" 
538546                PKGS+=" ${ name } " 
539547                LAST_PKG="${ name } " 
0 commit comments