Ticket #329 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

Cabal regenerates Paths_package unnecessarily

Reported by: guest Owned by:
Priority: normal Milestone:
Component: Cabal library Version: 1.4.0.1
Severity: normal Keywords:
Cc: Difficulty: normal
GHC Version: 6.8.2 Platform:

Description

Every time I run cabal install, cabal rebuilds and relinks part of my application, because it generates a fresh Paths_package, even though it is the same. When overwriting Paths_package Cabal should first check to see if the code changes, and if not, not write anything. Example of the bug:

C:\Neil\hoogle>cabal --version
cabal-install version 0.5.2
using version 1.4.0.1 of the Cabal library

C:\Neil\hoogle>cabal install
Resolving dependencies...
Configuring hoogle-4.0.0.4...
Preprocessing executables for hoogle-4.0.0.4...
Building hoogle-4.0.0.4...
[ 4 of 77] Compiling Paths_hoogle     ( dist\build\autogen/Paths_hoogle.hs, dist
\build\hoogle\hoogle-tmp/Paths_hoogle.o )
Linking dist\build\hoogle\hoogle.exe ...
Installing: C:\Documents and Settings\Administrator\Application Data\cabal\bin

C:\Neil\hoogle>cabal install
Resolving dependencies...
Configuring hoogle-4.0.0.4...
Preprocessing executables for hoogle-4.0.0.4...
Building hoogle-4.0.0.4...
[ 4 of 77] Compiling Paths_hoogle     ( dist\build\autogen/Paths_hoogle.hs, dist
\build\hoogle\hoogle-tmp/Paths_hoogle.o )
Linking dist\build\hoogle\hoogle.exe ...
Installing: C:\Documents and Settings\Administrator\Application Data\cabal\bin

Change History

Changed 5 years ago by duncan

  • status changed from new to closed
  • resolution set to fixed

Fixed in Cabal HEAD 7 days ago. How's that for a response time? ;-)

Wed Aug 13 20:32:45 BST 2008  Duncan Coutts Wed Aug 13 20:20:17 BST 2008  Duncan Coutts <duncan@haskell.org>
  * Add util rewriteFile :: FilePath -> String -> IO ()
  Write a file but only if it would have new content.
  If we would be writing the same as the existing content
  then leave the file as is so that we do not update the
  file's modification time.

<duncan@haskell.org>
  * Move Paths_pkgname and cabal_macros.h generation into their own modules
Note: See TracTickets for help on using tickets.