Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 79985 - cvs ebuild: dev-lang/fpc
Summary: cvs ebuild: dev-lang/fpc
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Maintainers for Miscelleneous Language Packages [OBSOLETE]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-29 12:11 UTC by Danny Milosavljevic
Modified: 2005-12-17 08:03 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
the ebuild that works (beware, messy) (fpc-1.9.7.ebuild,4.78 KB, text/plain)
2005-01-29 12:18 UTC, Danny Milosavljevic
Details
default fpc.cfg, to be put into "files" (fpc.cfg,4.05 KB, text/plain)
2005-01-29 12:23 UTC, Danny Milosavljevic
Details
fpc main environment variable, to be put into "files" subdir (50fpc,28 bytes, text/plain)
2005-01-29 12:24 UTC, Danny Milosavljevic
Details
ebuild: it could be so easy... or could it? (fpc-1.9.7.ebuild,2.22 KB, text/plain)
2005-01-29 12:32 UTC, Danny Milosavljevic
Details
filelist diff what is to do to the final version (fpc-1.9.9-manual-misses.list,101.84 KB, text/plain)
2005-01-29 12:41 UTC, Danny Milosavljevic
Details
the ebuild that works (beware, messy) (fpc-1.9.7.ebuild,5.15 KB, text/plain)
2005-01-29 12:57 UTC, Danny Milosavljevic
Details
the ebuild that works (beware, messy) (fpc-1.9.7.ebuild,4.85 KB, text/plain)
2005-01-29 13:26 UTC, Danny Milosavljevic
Details
filelist diff what is to do to the final version (fpc-1.9.9-manual-misses.list,25.73 KB, text/plain)
2005-01-29 13:28 UTC, Danny Milosavljevic
Details
default fpc.cfg, to be put into "files" (fpc.cfg,4.06 KB, text/plain)
2005-01-29 13:31 UTC, Danny Milosavljevic
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Danny Milosavljevic 2005-01-29 12:11:42 UTC
cvs ebuild: dev-lang/fpc


Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Danny Milosavljevic 2005-01-29 12:16:35 UTC
Ok so here goes my started work for a fpc cvs ebuild. Took me hours to get it somewhat right. Too tired to finish. repeat: it is NOT finished (some unit directories and manpages and documentation missing)

But posting it here so nobody has to go through that ordeal again, and to have a backup :)
Comment 2 Danny Milosavljevic 2005-01-29 12:18:53 UTC
Created attachment 49860 [details]
the ebuild that works (beware, messy)

ebuild that works
Comment 3 Danny Milosavljevic 2005-01-29 12:23:05 UTC
Created attachment 49861 [details]
default fpc.cfg, to be put into "files"

put this into files subdir of the ebuild dir
Comment 4 Danny Milosavljevic 2005-01-29 12:24:29 UTC
Created attachment 49862 [details]
fpc main environment variable, to be put into "files" subdir

put into "files" subdir of the ebuild dir
Comment 5 Danny Milosavljevic 2005-01-29 12:27:30 UTC
also missing is to somehow get the bootstrap compiler *not* to read /etc/fpc.cfg, /usr/lib/fpc/....

Because if it reads them, it could lead to that scenario:
- bootstrap fpc compiles some fpc source in the sandbox
- that source file uses a unit that is "old" (.o file older than .pp file or checksum wrong) from /usr/lib/fpc/...
- thus that unit is automagically recompiled to
- the unit's new .o / .ppu is tried to be stored into /usr/lib/fpc/...
- sandbox kills emerge because of invalid write access
Comment 6 Danny Milosavljevic 2005-01-29 12:30:22 UTC
One might think that this ebuild could be done much simpler (I will attach an example for how here later), but this is not the case. It does compile+install just fine, however, the resulting compiler cannot be used to compile anything useful.

Thus I use the following test:

program testcontainer;

uses contnrs;

begin
end.

If that fails, you are victim to the installed-fine-but-broken-syndrome (i have been searching for the cause of that for 3 hours and gave up. its not funny)
Comment 7 Danny Milosavljevic 2005-01-29 12:32:35 UTC
Created attachment 49863 [details]
ebuild: it could be so easy... or could it?

It could be so easy... but nooo... this does _not_ work. Do not be fooled.
Comment 8 Danny Milosavljevic 2005-01-29 12:41:06 UTC
Created attachment 49864 [details]
filelist diff what is to do to the final version

A filelist diff from the installed files of 'ebuild with working compiler
afterwards' to the installed files of 'ebuild with nonworking compiler
afterwards'.
Can be seen as a TODO list
Comment 9 Danny Milosavljevic 2005-01-29 12:42:52 UTC
note that running fpcmake and then make and then make install and see if it finds the package 'rtl' is a good test too.
The ebuild changes I do right now fixes that issue hopefully :)
Comment 10 Danny Milosavljevic 2005-01-29 12:53:33 UTC
note, should change /units/linux/ to /units/i386-linux/
(what is the ebuild variable for the arch ? ${ARCH} ?)
Comment 11 Danny Milosavljevic 2005-01-29 12:57:15 UTC
Created attachment 49866 [details]
the ebuild that works (beware, messy)

the ebuild that works, added install stuff for the env.d entry and the config
file
did not rename "linux" -> "i386-linux" yet
Comment 12 Danny Milosavljevic 2005-01-29 13:13:48 UTC
note that i added a line to install a xpm file in the manual ebuild
Comment 13 Danny Milosavljevic 2005-01-29 13:26:40 UTC
Created attachment 49872 [details]
the ebuild that works (beware, messy)

linux -> i386-linux
fixed diff call
added sed for config file to replace $target by i386-linux (also added DEPEND)
Comment 14 Danny Milosavljevic 2005-01-29 13:28:20 UTC
Created attachment 49874 [details]
filelist diff what is to do to the final version

new misses list, for the new ebuild... seems to be zero... it actually installs
too much... yay :)
Comment 15 Danny Milosavljevic 2005-01-29 13:31:15 UTC
Created attachment 49876 [details]
default fpc.cfg, to be put into "files"

new config files. has placeholders "$target". Since that is not supported by
fpc (it was been supported though!?), simulated it by using sed (+DEPEND)
Comment 16 Danny Milosavljevic 2005-01-29 13:42:55 UTC
note that fpc -vut file.pas gives more detailed infos on why a unit was not used (otherwhise it will just say that the unit was "not found")
Comment 17 Danny Milosavljevic 2005-01-29 13:45:37 UTC
status report:
- manual ebuild installs all files that make install would have too and some more
- still found no way to prevent the bootstrapping compiler from trying /etc, /usr/lib (outside of the sandbox) - still needed

other than that it should be fine
Comment 18 Danny Milosavljevic 2005-01-29 13:48:53 UTC
the Package.fpc generator does not find the other packages for some reason... grr...

/usr/bin/fpcmake -p -Tlinux Makefile.fpc
Processing Makefile.fpc
Error: Target "linux", package "rtl" not found

pyramid trunk # set |grep FPC
FPCDIR=/usr/lib/fpc/1.9.7

why?
Comment 19 Daniel Black (RETIRED) gentoo-dev 2005-01-29 15:46:01 UTC
work it out fully and when you've completely tested it attach the fix.
Comment 20 Danny Milosavljevic 2005-01-30 06:25:54 UTC
that is a bug in cvs...
have been told to always call 'fpcmake -Tall' (for all targets)... ugh
Comment 21 Danny Milosavljevic 2005-01-30 10:18:38 UTC
I think that package is too big (emerged it enough times now to know:)), hence splitting into smaller packages in bug#80104 (in parallel). I dont know which one I'll finally use so keep both bugs open for now. 
Comment 22 Carsten Lohrke (RETIRED) gentoo-dev 2005-12-17 08:03:39 UTC
We have stable releases and hardly the ressource to maintain what we have in Portage already.