diff -pruN 0.16.42/debian/changelog 0.16.43/debian/changelog
--- 0.16.42/debian/changelog	2025-10-28 04:00:22.000000000 +0000
+++ 0.16.43/debian/changelog	2025-11-21 00:22:56.000000000 +0000
@@ -1,3 +1,9 @@
+haskell-devscripts (0.16.43) unstable; urgency=medium
+
+  * dh_haskell_provides_ghc: skip parsing .cabal files
+
+ -- Scott Talbert <swt@techie.net>  Thu, 20 Nov 2025 19:22:56 -0500
+
 haskell-devscripts (0.16.42) unstable; urgency=medium
 
   * dh_haskell_depends_cabal: only operate on -dev and -prof packages
diff -pruN 0.16.42/dh_haskell_provides_ghc 0.16.43/dh_haskell_provides_ghc
--- 0.16.42/dh_haskell_provides_ghc	2025-10-26 13:59:24.000000000 +0000
+++ 0.16.43/dh_haskell_provides_ghc	2025-11-20 02:15:37.000000000 +0000
@@ -50,7 +50,9 @@ init(
     options => {
         'config-shipper=s' => \$dh{CONFIG_SHIPPER},
     });
-init_hs_env();
+init_hs_env(
+    parse_cabal => 0
+);
 
 for my $installable (@{ $dh{DOPACKAGES} }) {
 
diff -pruN 0.16.42/lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm 0.16.43/lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm
--- 0.16.42/lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm	2025-10-26 13:59:24.000000000 +0000
+++ 0.16.43/lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm	2025-11-21 00:21:33.000000000 +0000
@@ -528,34 +528,41 @@ sub config_to_package_id {
 =cut
 
 sub init_hs_env {
+    my %params = (
+        parse_cabal => 1,
+        @_
+    );
+
     $ENV{DEB_DEFAULT_COMPILER} //= 'ghc';
 
     $ENV{DEB_GHC_DATABASE} = 'debian/tmp-db';
 
-    my @cabal_candidates = glob('*.cabal');
+    if ($params{parse_cabal}) {
+        my @cabal_candidates = glob('*.cabal');
 
-    error('No cabal file found')
-      unless @cabal_candidates;
+        die encode_utf8('No cabal file found')
+            unless @cabal_candidates;
 
-    error('More than one cabal file')
-      if @cabal_candidates > 1;
+        die encode_utf8('More than one cabal file')
+            if @cabal_candidates > 1;
 
-    my $cabal_path = $cabal_candidates[0];
-    my $cabal_contents = path($cabal_path)->slurp_utf8;
+        my $cabal_path = $cabal_candidates[0];
+        my $cabal_contents = path($cabal_path)->slurp_utf8;
 
-    error('Cannot get package name from cabal file')
-      unless $cabal_contents =~ /^ name \s* : \s* (\S*) \s* $/imx;
+        die encode_utf8('Cannot get package name from cabal file')
+            unless $cabal_contents =~ /^ name \s* : \s* (\S*) \s* $/imx;
 
-    my $package_name = lc $1;
+        my $package_name = lc $1;
 
-    $ENV{CABAL_PACKAGE} //= $package_name;
+        $ENV{CABAL_PACKAGE} //= $package_name;
 
-    error('Cannot get package version from cabal file')
-      unless $cabal_contents =~ /^ version \s* : \s* (\S*) \s* $/imx;
+        die encode_utf8('Cannot get package version from cabal file')
+            unless $cabal_contents =~ /^ version \s* : \s* (\S*) \s* $/imx;
 
-    my $package_version = $1;
+        my $package_version = $1;
 
-    $ENV{CABAL_VERSION} = $package_version;
+        $ENV{CABAL_VERSION} = $package_version;
+    }
 
     $ENV{DEB_ENABLE_TESTS} //= 'no';
     $ENV{DEB_ENABLE_HOOGLE} //= 'yes';
