[Git][haskell-team/haskell-devscripts][master] dh_haskell_provides_ghc: skip parsing .cabal files
Scott Talbert (@swt2c)
gitlab at salsa.debian.org
Fri Nov 21 00:26:11 GMT 2025
Scott Talbert pushed to branch master at Debian Haskell Group / haskell-devscripts
Commits:
db85af99 by Scott Talbert at 2025-11-20T19:23:43-05:00
dh_haskell_provides_ghc: skip parsing .cabal files
This fixes dh_haskell_provides_ghc so it can be called from the ghc
package. Also, fix the error messages which were broken.
- - - - -
3 changed files:
- debian/changelog
- dh_haskell_provides_ghc
- lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,9 @@
+haskell-devscripts (0.16.43) unstable; urgency=medium
+
+ * dh_haskell_provides_ghc: skip parsing .cabal files
+
+ -- Scott Talbert <swt at 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
=====================================
dh_haskell_provides_ghc
=====================================
@@ -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} }) {
=====================================
lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm
=====================================
@@ -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';
View it on GitLab: https://salsa.debian.org/haskell-team/haskell-devscripts/-/commit/db85af991e7ea1f71b2b162d2ec59cbdfd474f41
--
View it on GitLab: https://salsa.debian.org/haskell-team/haskell-devscripts/-/commit/db85af991e7ea1f71b2b162d2ec59cbdfd474f41
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-haskell-commits/attachments/20251121/77fae29a/attachment-0001.htm>
More information about the Pkg-haskell-commits
mailing list