Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 8897 - smarteiffel-1.0_beta4.ebuild (New)
Summary: smarteiffel-1.0_beta4.ebuild (New)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: George Shapovalov (RETIRED)
URL:
Whiteboard:
Keywords:
: 6365 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-10-08 08:47 UTC by Steven Wong
Modified: 2003-04-04 01:26 UTC (History)
4 users (show)

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


Attachments
eBuild (smarteiffel-1.0_beta4.ebuild,1.58 KB, application/octet-stream)
2002-10-08 08:48 UTC, Steven Wong
Details
Changelog (ChangeLog,236 bytes, text/plain)
2002-10-08 08:51 UTC, Steven Wong
Details
smarteiffel-1.0_beta4.ebuild (smarteiffel-1.0_beta4.ebuild,1.58 KB, text/plain)
2002-10-08 08:56 UTC, Steven Wong
Details
ChangeLog (ChangeLog,236 bytes, text/plain)
2002-10-08 08:57 UTC, Steven Wong
Details
20smarteiffel-1.0_beta4 (20smarteiffel-1.0_beta4,93 bytes, text/plain)
2002-10-08 08:57 UTC, Steven Wong
Details
digest-smarteiffel-1.0_beta4 (digest-smarteiffel-1.0_beta4,55 bytes, text/plain)
2002-10-08 08:58 UTC, Steven Wong
Details
loadpath.UNIX-1.0_beta4 (loadpath.UNIX-1.0_beta4,678 bytes, text/plain)
2002-10-08 08:58 UTC, Steven Wong
Details
smarteiffel-1.0_beta5.ebuild (smarteiffel-1.0_beta5.ebuild,2.18 KB, text/plain)
2002-11-16 03:46 UTC, Steven Wong
Details
ChangeLog (ChangeLog,553 bytes, text/plain)
2002-11-16 03:47 UTC, Steven Wong
Details
smarteiffel-1.0_beta5.ebuild (smarteiffel-1.0_beta5.ebuild,2.49 KB, text/plain)
2002-11-21 22:06 UTC, Steven Wong
Details
ChangeLog (ChangeLog,796 bytes, text/plain)
2002-11-21 22:09 UTC, Steven Wong
Details
smarteiffel-1.0_beta5-r1.ebuild (smarteiffel-1.0_beta5-r1.ebuild,2.40 KB, text/plain)
2002-11-23 05:11 UTC, Steven Wong
Details
ChangeLog (ChangeLog,1.50 KB, text/plain)
2002-11-23 05:12 UTC, Steven Wong
Details
dev-lang/smarteiffel/smarteiffel-0.26.0.74.ebuild (smarteiffel-0.26.0.74.ebuild,2.43 KB, text/plain)
2002-11-25 17:17 UTC, Per Wigren
Details
dev-lang/smarteiffel/smarteiffel-1.0.ebuild (smarteiffel-1.0.ebuild,1.80 KB, text/plain)
2002-12-09 13:24 UTC, Per Wigren
Details
Small update: dev-lang/smarteiffel/smarteiffel-1.0.ebuild (smarteiffel-1.0.ebuild,1.81 KB, text/plain)
2002-12-09 14:09 UTC, Per Wigren
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Steven Wong 2002-10-08 08:47:44 UTC
Hello,

I noticed Gentoo doesn't have a compiler for the very promising, and much
under-appreciated OO language, Eiffel! Doing away with the many flaws of current
conventional languages, Eiffel is a Software Engineer's dream. Clean and
inobtrusive syntax and a good implementation of multiple inheritence (who said
it was impossible?) is just a few of its attractive perks. It strongly supports
creating reusable and maintainable code.

SmartEiffel is a free implementation of the language, written mostly in Eiffel.
It's still beta, so it's still a bit messy in some areas.

All it requires is an ANSI C compiler (like gcc).
Comment 1 Steven Wong 2002-10-08 08:48:30 UTC
Created attachment 4518 [details]
eBuild
Comment 2 Steven Wong 2002-10-08 08:51:47 UTC
Created attachment 4519 [details]
Changelog
Comment 3 Steven Wong 2002-10-08 08:56:50 UTC
Created attachment 4520 [details]
smarteiffel-1.0_beta4.ebuild
Comment 4 Steven Wong 2002-10-08 08:57:14 UTC
Created attachment 4521 [details]
ChangeLog
Comment 5 Steven Wong 2002-10-08 08:57:51 UTC
Created attachment 4522 [details]
20smarteiffel-1.0_beta4
Comment 6 Steven Wong 2002-10-08 08:58:16 UTC
Created attachment 4523 [details]
digest-smarteiffel-1.0_beta4
Comment 7 Steven Wong 2002-10-08 08:58:40 UTC
Created attachment 4524 [details]
loadpath.UNIX-1.0_beta4
Comment 8 Steven Wong 2002-10-08 09:01:10 UTC
Attached the appropriate files. Ignore the first 2 files, I made. :) As for the
last 3 files, they should go into the "files/" subdirectory.
Comment 9 Steven Wong 2002-10-10 08:31:36 UTC
*** Bug 6365 has been marked as a duplicate of this bug. ***
Comment 10 George Shapovalov (RETIRED) gentoo-dev 2002-10-27 21:41:04 UTC
Hi Steven

Thank you for your submission!

Unfortunately it has a big problem - it installs eiffel into /opt.
As you probably know we are striving to be FHS and LSB compliant. According to
FHS /opt is reserved for binary only and few "excepional" packages (e.g.
openoffice). smarteiffel is a compiled GPL app, so it apparently does not fall
under these criteria. I discussed this issue with other developers and the
conclusion was that smarteiffel should belong to /usr.

I am going to get back to your submission when I process other new
submissions/updates. It may tremendously speed things up if you could take a
look inot this issue. Could you please check how this is done in red
hat/debian/others? Where rpm's put this app under? (btw, the link to red hat's
rpm off the site is now empty). The following link may be of some help:
http://cvs.mandrakesoft.com/cgi-bin/cvsweb.cgi/SPECS/SmallEiffel/SmallEiffel-1.23.1.spec?rev=1.5&content-type=text/x-cvsweb-markup

One easier way to resolve this situaton may be to  install this app under
/usr/smarteiffel. However this is also not really FHS compilant. (and it will
have to go at least into ${PV} under that dir). I am going to bring this
question up on a wider basis.

George
Comment 11 George Shapovalov (RETIRED) gentoo-dev 2002-10-28 23:32:52 UTC
Hi Steven.

I have spent some more time on this topic and I think I found the solution.
Please take a look at how debian handles this package:
http://packages.debian.org/unstable/devel/smalleiffel.html
Specifically the link to [smalleiffel_1.16.0.74-1.diff.gz] contains diffs made
by debian developer that install small/smarteiffel in a sane way. The file
debian/rules (after you apply the patch against the corresponding original
sources) contains the recipes on how the build and installation is done. Parts
of it can be adopted into the ebuild.

The end result is that the package gets installed into these dirs:
usr/bin                     -  symlinks to eiffel executables
usr/lib/smalleiffel/sys  
usr/share/man/man1
usr/share/doc/smalleiffel   -  this should be usr/share/doc/${PF} in our case
usr/lib/smalleiffel/bin
usr/lib/menu                -   debian specific, should probably be omitted

As you see, docs and libs go where they should. Binaries reside with libs, but
this seems to be the most sane way to handle this situation.

Could you please modify the ebuild to incorporate these changes?
Few general remarks:
1) all references to smalleiffel should apparently become ${PF}
2) html docs should go into html under sandard docs dir (just use dohtml)
3) you may create symlinks into /usr/bin or may just drop that, as you seem
convinient. If you do, please note name mangling of the "compile" binary into
"se-compile". Having a "compile" executable in /usr/bin is a *bad* idea.

Thank you again for your time and involvment!

George
Comment 12 Steven Wong 2002-11-16 03:46:25 UTC
Created attachment 5713 [details]
smarteiffel-1.0_beta5.ebuild

New upstream version. Technically FHS-compliant now. Minor clean ups here and
there.
Comment 13 Steven Wong 2002-11-16 03:47:07 UTC
Created attachment 5714 [details]
ChangeLog

Here's a ChangeLog too. :)
Comment 14 Steven Wong 2002-11-21 22:06:17 UTC
Created attachment 5860 [details]
smarteiffel-1.0_beta5.ebuild

An updated version of the ebuild. Fixed a few bugs (see ChangeLog). Hopefully
everything should work fine now.
Comment 15 Steven Wong 2002-11-21 22:09:21 UTC
Created attachment 5861 [details]
ChangeLog

New ChangeLog.

"ChangeLog" and the latest "smarteiffel-1.0_beta5.ebuild" are all the files you
need. All the files/* things that the older ebuilds used are no longer
required.
Comment 16 George Shapovalov (RETIRED) gentoo-dev 2002-11-22 02:50:24 UTC
Hi Steven.

Thanks for your update. Now this is looking much better! ;)
I have somewhat cleaned-up the ebuild (spaces should have been the tabs, I also
somewhat simplified the first sed in src_compile) and committed it.
Please test. The ebuild is keymasked at the moment.

WRT the issue with source name: I mangled the name of source to include version
info and uploaded mangled .tar.bz2 file to get it mirrored. Basically its
"central" location will be ibiblio.org and we will not be hit when package
authors silently replace the source on their site with a new version.

George
Comment 17 Per Wigren 2002-11-22 06:49:47 UTC
Thanks for this great ebuild! Some notes/ideas...

1) Please use this instead of "make automatic":
-------------------------------------------
Comment 18 Per Wigren 2002-11-22 06:49:47 UTC
Thanks for this great ebuild! Some notes/ideas...

1) Please use this instead of "make automatic":
-------------------------------------------
    ebegin "Compiling install-program"
        gcc ${CFLAGS} -o install install.c
    eend $?

    einfo "Now running the install-program..."
    ( echo yes
      echo no
      echo UNIX
      echo gcc
      echo ${CFLAGS}
      echo yes
    ) | ./install -interactive
-------------------------------------------

2) Please use "/usr/lib/SmartEiffel" instead of "/usr/lib/${PF}", so we don't 
need to recompile all extra modules everytime SmartEiffel is upgraded...

3) Please also install "misc" and "tutorial" in /usr/share/doc/${PF}/!

Thanks again!  // Per Wigren
Comment 19 Steven Wong 2002-11-23 05:11:28 UTC
Created attachment 5885 [details]
smarteiffel-1.0_beta5-r1.ebuild

The ebuild worked fine. But here's an improved version. :) This one has CFLAGS
support - thanks to our friend Per Wigren - and uses the "doc" USE-flag for
documentation installation. See the ChangeLog that follows for more details.
Comment 20 Steven Wong 2002-11-23 05:12:41 UTC
Created attachment 5886 [details]
ChangeLog
Comment 21 Per Wigren 2002-11-25 12:57:53 UTC
Hint: beta6 is released! ;-)
Comment 22 Per Wigren 2002-11-25 14:34:13 UTC
One more thing, please don't rename the compiler "se-compile" instead of
"compile" because it breaks ALL of the extra stuff like Gobo, ePOSIX etc...
I'm currently making ebuilds for a lot of dev-eiffel/ stuff and these ebuilds
will expect the compiler to be named "compile"... Otherwise I'll have to change
all configure/bootstrap-scripts which will be maintainance hell...
Comment 23 Per Wigren 2002-11-25 17:14:31 UTC
bah.. Gobo doesn't compile with smarteiffel, but it compiles fine with
smalleiffel 0.74... About all other eiffel-packages require Gobo, so I say we go
with smalleiffel until packages are upgraded to support smarteiffel! I attach an
ebuild for smalleiffel 0.74 which is called "smarteiffel" and uses the same
paths so the later upgrade to smarteiffel will be easy,,, In the meantime
smarteiffel should be masked...
Comment 24 Per Wigren 2002-11-25 17:17:29 UTC
Created attachment 5959 [details]
dev-lang/smarteiffel/smarteiffel-0.26.0.74.ebuild

SmallEiffel 0.74 ebuild named SmartEiffel for easier future upgrade.
Comment 25 Jason Clinton 2002-12-07 21:06:57 UTC
SmartEiffel 1.0 is out:

<http://smarteiffel.loria.fr/>

Ebuild needed.
Comment 26 Per Wigren 2002-12-08 05:41:26 UTC
I will update the ebuild to 1.0 soon. Hopefully later today! Hopefully we will also soon see updated releases of GOBO, ePOSIX and the other packages that breaks with SmartEiffel but works with SmallEiffel.. (SmartEiffel has corrected some things to be more standards-compliant, and it breaks a few things.. Not much though..)  
Comment 27 Per Wigren 2002-12-09 13:23:01 UTC
Here is a IMHO great ebuild for smarteiffel 1.0!
Things I changed:
* Support for TinyCC as default compiler using "tcc"-useflag.
* Added a SE_DIR environment-variable so all extra-packages can depend on it.
* Changed SE_DIR to /usr/lib/SmartEiffel, because that is the default dir if the
SmartEiffel-variable is not set, and a few 3rd-party-packages expect it.
* Don't rename compile to se-compile anymore! This breaks ALL 3rd-party-packages!
* SmartEiffel is now distributed with versionnumbered filenames so there's no
need to rename+mirror anymore! ;)
Comment 28 Per Wigren 2002-12-09 13:24:22 UTC
Created attachment 6344 [details]
dev-lang/smarteiffel/smarteiffel-1.0.ebuild

Please commit this!
Comment 29 Per Wigren 2002-12-09 14:09:39 UTC
Created attachment 6349 [details]
Small update: dev-lang/smarteiffel/smarteiffel-1.0.ebuild

Use SmartEiffelDirectory instead of SE_DIR as the global env-variable, because
that seems to be standard. (Gobo expects it for example)
Comment 30 George Shapovalov (RETIRED) gentoo-dev 2002-12-10 01:36:52 UTC
Hi Per, Steven, Jason.

Thanks for the ebuild and the info!

I have tested and committed the ebuild, please test.
Per: You specified tcc dependency as >=0.9.14, however there is only 0.9.8 in
the portage at the moment and it apparently has some trouble compiling
smarteiffel. I tried emerging tcc-0.9.14 by renaming latest ebuild, however this
seems to be more involved than that. Therefore I commented out all tcc specific
stuff from smarteiffel ebuild for the moment. It shell be added back when tcc
gets updated.
BTW, do you have a working ebuild for tcc-0.9.14? Could you please submit it? I
did not see it among my bugs or on bugzilla.
Thanks!

George
Comment 31 George Shapovalov (RETIRED) gentoo-dev 2002-12-10 01:38:09 UTC
Oh, Ok, seems you just did it, while I was processing smarteiffel :). Please
disregard the last part of previous message.

George
Comment 32 George Shapovalov (RETIRED) gentoo-dev 2002-12-11 01:38:17 UTC
Hi Per.

Short update on the situation with this ebuild:
I just committed your tcc-0.9.14 ebuild. However there was no "official"
decision made on tcc support in portage yet. Therefore I will refrain from
uncommenting related lines in the ebuild for some time. Fortunately it doesn't
seem to be so crytical in this case - smarteiffel does not seem to require too
much compilation.

Realistically speaking though I can hardly expect tcc decision be made in the
few weeks left of this year - we are trying to get 1.4 ready and are
concentrating on the most basic features that have to be finished first. 
tcc, while being a really nice addition, does not seem to be crytical, so I
suspect it will be taken care of en large as soon as we are done with 1.4.

I will temporarily close the bug for now with resolved/later. Please remind me
if I don't reopen it after 1.4 is released (or after New Year, whichever happens
first), or even reopen it yourself ;).

George
Comment 33 John Davis (zhen) (RETIRED) gentoo-dev 2003-04-04 01:22:07 UTC
db fix
Comment 34 John Davis (zhen) (RETIRED) gentoo-dev 2003-04-04 01:26:59 UTC
db fix