| Summary: | media-gfx/dcraw-8.39 doesn't respect CFLAGS and compiles in src_install() | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Jakub Moc (RETIRED) <jakub> |
| Component: | New packages | Assignee: | Wolfram Schlich (RETIRED) <wschlich> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | 2006.1 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
Makefile.patch
dcraw-8.39.ebuild.diff |
||
|
Description
Jakub Moc (RETIRED)
2006-09-30 11:53:25 UTC
I don't know much about Makefiles :-( At first sight, I have no idea why make remembers that it already made 'dcraw', but not that it already made 'parse'. Maybe because of the output file?! Target 'dcraw' creates 'dcraw', target 'parse' creates 'dcparse'... Enlightenment, anyone? :) Same for the CFLAGS. I think I'd like to replace '-O3' by 'take CFLAGS from the environment'. How can this be done? Make targets and dependencies are actually references to files and make remembers the state by expecting the commands for a target to create/update a file with the same name. This is true for the dcraw target, but not for the parse target, which creates dcparse instead of parse, as make expects it to do. The install target depends on parse, which doesn't exist (as the rule created dcparse) and make invokes the commands for the parse target a second time during install to create it. But the target will just create dcparse a second time and will every time the rule for parse is invoked. Ok, then I will rename the 'parse' target to 'dcparse'. Thanks for your input :) Any hint about the CFLAGS? Created attachment 98494 [details, diff]
Makefile.patch
- fixes both issues
Created attachment 98495 [details, diff]
dcraw-8.39.ebuild.diff
- ebuild fix for crosscompile issues
Plus media-libs/lcms and media-libs/jpeg is RDEPEND as well. Thanks, Jakub! (In reply to comment #4) > Created an attachment (id=98494) [edit] > Makefile.patch > > - fixes both issues > I don't understand this: > -CC = gcc > +CC += gcc Why would one want to append 'gcc' to CC? Wouldn't 'CC ?= gcc' be the better choice?! (In reply to comment #7) > Why would one want to append 'gcc' to CC? > Wouldn't 'CC ?= gcc' be the better choice?! Well yeah, anyway it doesn't get used, just needed something that's not hardcoded. :) See the ebuild patch, it uses CC=$(tc-getCC) instead, as it doesn't crosscompile with CC=gcc. "make VAR=bar" will override a VAR = baz in the Makefile, you don't need to change it. ?= is only useful for variables passed via the environment. Committed a fixed dcraw-8.39.ebuild. You should wait some time, as I have also modified the dcraw-8.39.tar.bz2 (the contained Makefile). Thanks! @Sven: thanks for the information, I already committed the ?= version :) |