File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed
Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change 439439 cat $cabal_file | sed -e 's/@ProjectVersionMunged@/${ ghc . version } /g' -e 's/default: *@[A-Za-z0-9]*@/default: False/g' -e 's/@Suffix@//g' > $fixed_cabal_file
440440 json_cabal_file=$(mktemp)
441441 cabal2json $fixed_cabal_file > $json_cabal_file
442- EXPOSED_MODULES_${ varname name } ="$(jq -r '.library."exposed-modules"[]|select(type=="array")[]' $json_cabal_file | tr '\n' ' ')"
442+
443+ exposed_modules="$(jq -r '.library."exposed-modules"[]|select(type=="array")[]' $json_cabal_file)"
444+ reexported_modules="$(jq -r '.library."reexported-modules"//[]|.[]|select(type=="array")[]' $json_cabal_file)"
445+
446+ # FIXME This is a bandaid. Rather than doing this, conditionals should be interpreted.
447+ ${ pkgs . lib . optionalString pkgs . stdenv . targetPlatform . isGhcjs ''
448+ exposed_modules+=" $(jq -r '.library."exposed-modules"[]|select(type=="object" and .if.arch == "javascript")|.then[]' $json_cabal_file)"
449+ '' }
450+ ${ pkgs . lib . optionalString pkgs . stdenv . targetPlatform . isWindows ''
451+ exposed_modules+=" $(jq -r '.library."exposed-modules"[]|select(type=="object" and .if.os == "windows")|.then[]' $json_cabal_file)"
452+ '' }
453+ ${ pkgs . lib . optionalString ( ! pkgs . stdenv . targetPlatform . isWindows ) ''
454+ exposed_modules+=" $(jq -r '.library."exposed-modules"[]|select(type=="object" and .if.not.os == "windows")|.then[]' $json_cabal_file)"
455+ '' }
456+
457+ EXPOSED_MODULES_${ varname name } ="$(tr '\n' ' ' <<< "$exposed_modules $reexported_modules")"
443458 DEPS_${ varname name } ="$(jq -r '.library."build-depends"[]|select(type=="array")[],select(type=="object").then[]' $json_cabal_file | sed 's/^\([A-Za-z0-9-]*\).*$/\1/g' | sort -u | tr '\n' ' ')"
444459 VER_${ varname name } ="$(jq -r '.version' $json_cabal_file)"
445460 PKGS+=" ${ name } "
You can’t perform that action at this time.
0 commit comments