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 439
439
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
440
440
json_cabal_file=$(mktemp)
441
441
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")"
443
458
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' ' ')"
444
459
VER_${ varname name } ="$(jq -r '.version' $json_cabal_file)"
445
460
PKGS+=" ${ name } "
You can’t perform that action at this time.
0 commit comments