@@ -305,23 +305,26 @@ let
305305 mkdir -p $out/exactDep
306306 touch $out/exactDep/configure-flags
307307 touch $out/exactDep/cabal.config
308+ touch $out/envDep
308309
309310 if id=$(${target-pkg-and-db} field ${package.identifier.name} id --simple-output); then
310311 echo "--dependency=${package.identifier.name}=$id" >> $out/exactDep/configure-flags
312+ echo "package-id $id" >> $out/envDep
311313 elif id=$(${target-pkg-and-db} field "z-${package.identifier.name}-z-*" id --simple-output); then
312314 name=$(${target-pkg-and-db} field "z-${package.identifier.name}-z-*" name --simple-output)
313315 # so we are dealing with a sublib. As we build sublibs separately, the above
314316 # query should be safe.
315317 echo "--dependency=''${name#z-${package.identifier.name}-z-}=$id" >> $out/exactDep/configure-flags
318+ else
319+ echo 'ERROR: ${package.identifier.name} id could not be found with ${target-pkg-and-db}'
320+ exit 0
316321 fi
317322 if ver=$(${target-pkg-and-db} field ${package.identifier.name} version --simple-output); then
318323 echo "constraint: ${package.identifier.name} == $ver" >> $out/exactDep/cabal.config
319324 echo "constraint: ${package.identifier.name} installed" >> $out/exactDep/cabal.config
320− fi
321−
322− touch $out/envDep
323− if id=$(${target-pkg-and-db} field ${package.identifier.name} id --simple-output); then
324− echo "package-id $id" >> $out/envDep
325+ else
326+ echo 'ERROR: ${package.identifier.name} version could not be found with ${target-pkg-and-db}'
327+ exit 0
325328 fi
326329 ''}
327330 ${(lib.optionalString (haskellLib.isTest componentId || haskellLib.isBenchmark componentId) ''