ccl-ffigen_1.2-1_amd64.changes REJECTED

Faheem Mitha faheem at faheem.info
Sun Sep 29 20:03:36 UTC 2013


Hi,

I don't mean to be impatient, but would it be possible for the FTP Master 
team to make a call on this, please? It does not seem like *so* difficult 
a technical issue.

                                                            Thanks, Faheem

On Wed, 11 Sep 2013, Faheem Mitha wrote:

>
> On Tue, 9 Apr 2013, Luca Falavigna wrote:
>
>> Hi,
>> 
>> sorry, but we do not think introducing a convenience copy of gcc
>> is a good thing. Also, the 4.0 sources contain files licensed under
>> GFDL with invariant sections, which are not suitable for main.
>> 
>> Please try to build your code using existing gcc versions in the archive
>> implementing Built-Using field.
>> 
>> Cheers,
>> Luca
>> 
>> ===
>> 
>> Please feel free to respond to this email if you don't understand why
>> your files were rejected, or if you upload new files which address our
>> concerns.
>
> Extremely belated reply to this message, I've been busy. But if I waited for 
> a good time, this might never be answered.
>
> I think the package was rejected based on a misunderstanding.
>
> As described at 
> https://bitbucket.org/faheem/ccl-ffigen-debian/src/tip/README.Debian?at=default 
> this package exists to build CCL's interface databases.
>
> As described in http://trac.clozure.com/ccl/wiki/CustomFramework (FFI
> is Foreign Function Interface)
>
> """To support its FFI, CCL maintains a binary database of information
> about classes, methods, functions, types, and variables available from
> foreign libraries in several ".cdb" files. You will need to generate
> this information for your particular library. In order to do this, you
> will need to obtain and build ffigen4. """
>
> This has little or nothing to do with GCC per se. It is *not* a fork.
> Basically, it uses the GCC frontend for a purpose that is presumably
> sufficiently similar to conventional compilation to enable a compiler
> frontend to be used., namely building .cdb files which reflect the C
> API of some .h files. I'm fuzzy about the details myself.
>
> Anyway, getting it to build the code using existing versions of GCC in the 
> archive would be impracticably difficult for a non-expert. (For the record, 
> getting CCL to build correctly and in particular build the interface 
> databases in question was quite hair-raisingly difficult enough.) If you 
> doubt me, look at the 'source' subdirectory in the ffigen tarball, which has 
> the patches against gcc 4.0, and tell me if you understand what they do.
>
> I doubt even the main CCL developers would attempt it. They farmed out
> the job to someone else years ago, who used the then-current GCC
> compiler to get this to work. I could dig up more details, and talk to
> the CCL developers themselves (who are usually grumpy and not
> particularly sympathetic towards Debian, however) if you really need
> further clarification. I'm including the ffigen README below, which
> adds some details and history.
>
> As for the documentation thing, I guess I could just strip out the
> doc/FDL files from the tarball?
>
>                                                          Regards, Faheem.
>
> ###########################################################################
>
> # $Log$
> # Revision 1.2  2005/08/10 05:05:46  gb
> # Updated.
> #
> # Revision 1.1  2005/04/08 07:03:16  gb
> # New file.
> #
>
> 'ffigen' is a modified version of the GCC backend, based on similar
> modifications to the 'LCC' compiler described at:
>
> <http://www.ccs.neu.edu/home/lth/ffigen/index.html>
>
> It's a work derived from GCC, and therefore licensed under the GPL.
>
> Versions of ffigen - based on GCC 2.95 sources - were distributed
> as adjunct components of OpenMCL in 2001 and 2002.  It's become
> increasingly difficult to use those versions, since they're sensitive
> to the exact format of the 2.95 C preprocessor output (and since GCC
> 2.95 is fading into obsolescence.)  The source distributions consisted
> of a set of patches (relative to a canonical 2.95 source tree) and
> a README file that explained the build process.
>
> In the summer of 2004, Helmut Eller made available a set of patches
> relative to GCC 3.4.1.  (Unlike previous versions, GCC 3.x's
> preprocessor and frontend are a single program, so an ffigen program
> derived from GCC 3 is likely to be a little more self-contained than
> earlier versions.)
>
> This version is based on GCC 4.0, builds on Helmut's work, and adds
> some initial support for translating Objective-C class and method
> information.  In addition, it provides a heavily conditionalized
> Makefile which builds a binary package (.tar.gz file) on both LinuxPPC
> and DarwinPPC.
>
> In order to build the program, it's necessary to obtain canonical
> versions of GCC (with ObjC support) for the target platform; the
> Makefile tersely explains what's missing and suggests where to find
> it.  You need to obtain the following files from gcc.gnu.org or a
> mirror site and install them in this directory:
>
> gcc-core-4.0.0.tar.bz2
> gcc-objc-4.0.0.tar.bz2
>
> Once those archives are installed, doing:
>
> shell> make
>
> will build the modified frontend, create an archive containing that
> frontend and related support files, and create a text file explaining
> how to install things.
>
> These patches are maintained in CVS on clozure.com.  For anonymous
> access:
>
> shell> cvs -d :pserver:cvs at clozure.com:/usr/local/publiccvs login
>
> [The anonymous CVS password is 'cvs']
>
> shell> cvs -d :pserver:cvs at clozure.com:/usr/local/publiccvs get ffigen4
>



More information about the pkg-common-lisp-devel mailing list