Bug 367121 - Review Request: ikarus - An incremental optimizing compiler for R6RS Scheme
Review Request: ikarus - An incremental optimizing compiler for R6RS Scheme
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-11-05 12:42 EST by Michel Alexandre Salim
Modified: 2007-12-03 23:48 EST (History)
2 users (show)

See Also:
Fixed In Version: 0.0.1-4
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-12-03 18:29:14 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Michel Alexandre Salim 2007-11-05 12:42:10 EST
Spec URL: http://salimma.fedorapeople.org/for_review/ikarus/ikarus.spec
SRPM URL: http://salimma.fedorapeople.org/for_review/ikarus/ikarus-0.0.1-1.fc8.src.rpm
Description:

Ikarus is a free optimizing incremental native-code compiler for R6RS Scheme.

Ikarus is an optimizing compiler, so your Scheme code will run fast
without the need to port hot spots to C "for performance". With an
incremental compiler, you don't need a separate compilation step to
make your program run fast. The best part is that the compiler itself
is fast, capable of compiling thousands of lines of code per second.

Finally, Ikarus is an R6RS compiler. R6RS is the latest revision of
the Scheme standard. The preliminary release of Ikarus supports over
80% of the most important features R6RS, and later releases will bring
Ikarus closer to full R6RS conformance. R6RS libraries, scripts,
record types, condition system, exception handling, unicode strings,
bytevectors, hashtable, and enumerations are among the supported
features.
Comment 1 Jason Tibbitts 2007-11-18 17:37:40 EST
This builds fine and rpmlint is silent.  I still don't see the point in an
i386-only program these days, but that's upstream's decision.

One thing is immediately obvious:
  > ikarus.boot
  /usr/bin/ikarus.boot: /usr/bin/ikarus.boot: cannot execute binary file
This file must not be installed in /usr/bin and it shouldn't be executable in
any case.  I know that's upstream's behavior, but it's entirely unacceptable. 
Possibilities include making /usr/bin/ikarus a shell script that passes -b (but
you'd have to take care to do the right thing if someone manually passes -b) or
to simply patch src/ikarus-main.c to default to /usr/lib/ikarus/ikarus.boot
instead of searching through PATH for it.

Other than that, this package is OK, and I'd approve it if the above.

* source files match upstream:
   b286a0833fd1391634439b5c262db49ca76ed5b71d209ebd8e9db6b49e6e19d4  
   ikarus-0.0.1.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (rawhide, i386).
* package installs properly
* debuginfo package looks complete.
* rpmlint is silent.
* final provides and requires are sane:
   ikarus = 0.0.1-1.fc9
  =
   libgmp.so.3
* %check is not present; no test suite upstream.  The package seems to run well 
   enough, although I don't really know enough scheme to do much more than
    (+ 1 1)
   which does give "2" as expected.
* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
X permissions on ikarus.boot are not correct (and it's in the wrong place 
   anyway).
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.
Comment 2 Michel Alexandre Salim 2007-11-18 19:54:19 EST
Ah, didn't know there is a %check macro for RPM. Will look into adding that, but
meanwhile, I'll update the package to move ikarus.boot. It's a point that's been
raised with upstream already, but I'll just move the file manually for now.
Comment 3 Jason Tibbitts 2007-11-18 20:09:08 EST
FYI, %check isn't a macro, it's a section, like %build or %install.  Usually you
run "make test" there, or whatever is needed to kick off the test suite.
Comment 4 Michel Alexandre Salim 2007-11-18 20:36:56 EST
Post-dinner terminology slip, sorry. Please find the updated package below.
Thanks for the suggestion!

http://salimma.fedorapeople.org/for_review/ikarus/ikarus-0.0.1-2.fc8.src.rpm
http://salimma.fedorapeople.org/for_review/ikarus/ikarus-0.0.1-bootfile.patch
http://salimma.fedorapeople.org/for_review/ikarus/ikarus.spec

Comment 5 Jason Tibbitts 2007-11-18 21:09:59 EST
Looks better; my only issue now is whether ikarus.boot needs to be executable. 
But since it's not in /usr/bin, this isn't that important.

APPROVED

Don't forget to file all of the tracking tickets for the architectures you've
excluded.
Comment 6 Michel Alexandre Salim 2007-11-19 02:18:20 EST
Ah yes, will fix that for the official build. Everything still works when
ikarus.boot is not +x.
Comment 7 Michel Alexandre Salim 2007-11-19 02:21:09 EST
New Package CVS Request
=======================
Package Name: ikarus
Short Description: An incremental optimizing compiler for R6RS Scheme
Owners: salimma
Branches: F-7 F-8 EL-5
InitialCC: 
Cvsextras Commits: no
Comment 8 Kevin Fenzi 2007-11-19 11:26:13 EST
cvs done.
Comment 9 Fedora Update System 2007-11-20 12:45:42 EST
ikarus-0.0.1-3.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update ikarus'
Comment 10 Jason Tibbitts 2007-12-03 18:29:14 EST
Is there any reason to keep this ticket open?
Comment 11 Michel Alexandre Salim 2007-12-03 21:21:38 EST
No; was planning on having it be automatically closed when the testing package
enters stable, but it can be closed now. Thanks.
Comment 12 Jason Tibbitts 2007-12-03 23:48:06 EST
Yeah, sorry, I hadn't actually intended to close it.  Clicked all the buttons
and then changed my mind and erased the text box but forgot to put everything
else back.

Note You need to log in before you can comment on or make changes to this bug.