Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Squeak/Pharo Smalltalk
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Sun Oct 23, 2011 11:57 pm    Post subject: Squeak/Pharo Smalltalk Reply with quote

Some time ago, Squeak was removed from portage. I like Squeak, so I revived the ebuilds in my overlay https://bitbucket.org/erosa/erosa-overlay.

I took a different approach. I named the vm package squeakvm, and created packages for Pharo and Seaside images. I also added these packages into a new category called dev-smalltalk. I haven't bothered creating a Squeak image package, but it's doable.

Anyway, enjoy :)
Back to top
View user's profile Send private message
KAMIKAZE_
Guru
Guru


Joined: 09 Oct 2003
Posts: 309
Location: Riga, Latvia

PostPosted: Sun Nov 20, 2011 12:48 am    Post subject: Reply with quote

How can I add/use it through layman?
_________________
-=[powered by Gentoo]=-
Back to top
View user's profile Send private message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Sun Nov 20, 2011 2:35 am    Post subject: Reply with quote

The instructions are on the overlay's wiki.
Back to top
View user's profile Send private message
penetrode
Apprentice
Apprentice


Joined: 29 Dec 2003
Posts: 285
Location: Calgary, Alberta

PostPosted: Fri Nov 25, 2011 8:43 pm    Post subject: Reply with quote

I'm new to squeak, so forgive me if this question is a dumb one --

If there is no image package, does that mean I need to get one from another source in order for squeak to work? I am not sure I understand what the image does just yet...
Back to top
View user's profile Send private message
penetrode
Apprentice
Apprentice


Joined: 29 Dec 2003
Posts: 285
Location: Calgary, Alberta

PostPosted: Fri Nov 25, 2011 8:46 pm    Post subject: Reply with quote

Also, the overlay -- at least as described in your command-line example -- does not seem to be working:

Quote:
# layman -o http://bitbucket.org/erosa/overlays/raw/tip/overlays.xml -a erosa-overlay
* Overlay "erosa-overlay" does not exist.
Back to top
View user's profile Send private message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Fri Nov 25, 2011 9:26 pm    Post subject: Reply with quote

There are three image packages in my overlay: pharo, seaside, and squeak.after installing any images, copy the images out to another folder then run the squeak vm with the image as the parameter.example: squeak pharo-1.3.img

What error do you get when installing the overlay?
Back to top
View user's profile Send private message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Sat Nov 26, 2011 4:29 pm    Post subject: Reply with quote

I just realized you're new to Squeak. First, choose either the Squeak or Pharo Smalltalk implementations. Pharo is basically a next-gen Squeak. They both work fine, and what you learn from one will translate into the other. Each implementation has a "By Example" book. Download it and go through it to get started. It will explain the whole image concept, but in a nutshell, the image is a complete runtime and development environment. It's a lot like running an operating system under a VM such as qemu or Virtual Box. You can practically save and suspend running code, and bring it back up whenever and it will pick up where it left off. It's pretty awesome.

What my packages do is install the Squeak VM, which can run the Squeak and Pharo images, and the images themselves. For example, if you want to use Pharo, then
Code:
emerge dev-smalltalk/pharo

This will go ahead and install the Squeak VM too.

The pharo package contains the following files:
/usr/lib/pharo/1.3/Pharo-1.3.changes.gz
/usr/lib/pharo/1.3/Pharo-1.3.image.gz
/usr/lib/pharo/1.3/PharoV10.sources
/usr/lib/squeak/4.4.7-2357/PharoV10.sources -> /usr/lib/pharo/1.3/PharoV10.sources

To use the Pharo image,

  • Create a folder
  • Copy the Pharo-1.3.changes.gz and Pharo-1.3.image.gz files to the folder
  • Use gunzip to decompress both files
  • Then run the image like this: squeak Pharo-1.3.image


Normally, you would also have to copy the PharoV10.sources file to the folder, but the Pharo package creates a symbolic link that should make this step unnecessary.
Back to top
View user's profile Send private message
penetrode
Apprentice
Apprentice


Joined: 29 Dec 2003
Posts: 285
Location: Calgary, Alberta

PostPosted: Sat Nov 26, 2011 4:57 pm    Post subject: Reply with quote

manny15 wrote:
There are three image packages in my overlay: pharo, seaside, and squeak.after installing any images, copy the images out to another folder then run the squeak vm with the image as the parameter.example: squeak pharo-1.3.img

What error do you get when installing the overlay?


The error was given above, but here it is again:

Code:
# layman -o http://bitbucket.org/erosa/overlays/raw/tip/overlays.xml -a erosa-overlay
* Overlay "erosa-overlay" does not exist.
Back to top
View user's profile Send private message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Sun Dec 04, 2011 9:11 pm    Post subject: Reply with quote

I updated the URLs in the overlays.xml file to https. Here's the new command:

Code:
layman -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml -a erosa-overlay


See if that works.
Back to top
View user's profile Send private message
penetrode
Apprentice
Apprentice


Joined: 29 Dec 2003
Posts: 285
Location: Calgary, Alberta

PostPosted: Mon Mar 04, 2013 7:19 am    Post subject: Reply with quote

Is this overlay still maintained and working?

Code:
# layman -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml -a erosa-overlay

 * Adding overlay,...
 * Exception: Overlay "erosa-overlay" does not exist.

 * CLI: Errors occurred processing action add
 * Exception: Overlay "erosa-overlay" does not exist.
Back to top
View user's profile Send private message
wcg
Guru
Guru


Joined: 06 Jan 2009
Posts: 588

PostPosted: Mon Mar 04, 2013 11:15 am    Post subject: Reply with quote

What does this mean?
Quote:
Create a folder


When I hear "copy", I think in terms of locations in a directory
tree in a filesystem. "Folders" are only a gui view on a filesystem.
The only time I create folders is in Firefox bookmarks (a gui view
on a file or collection of sqlite database entries that Firefox pretends
is a filesystem) or when I am installing security software on someone's
windows workstation.

I would expect that one specifies storage that persists across
reboots in terms of directory pathnames when installing
a language runtime and programming development environment
for that language on linux. ("Folders" are not a fundamental part
of the system.)
_________________
TIA
Back to top
View user's profile Send private message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Tue Mar 05, 2013 3:38 am    Post subject: Reply with quote

Yes, the overlay still exists. Although I haven't touched it in a while. I just re-added the overlay using this command (as root).
Code:
layman -a erosa-overlay -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml


The ebuilds install the squeak or pharo images but these Smalltalk implementations are like virtual machines, so each user needs his/her own copy of the images. That's what I meant by creating a folder. A folder is not required, I just figured it's a good practice. There used to be a utility that would set things up for users but I don't know what happened to it.

The best way to see what's in the overlay is to look at the repo's source code at https://bitbucket.org/erosa/erosa-overlay/src
Back to top
View user's profile Send private message
penetrode
Apprentice
Apprentice


Joined: 29 Dec 2003
Posts: 285
Location: Calgary, Alberta

PostPosted: Wed Mar 06, 2013 5:37 am    Post subject: Reply with quote

manny15 wrote:
Yes, the overlay still exists. Although I haven't touched it in a while. I just re-added the overlay using this command (as root).
Code:
layman -a erosa-overlay -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml


The ebuilds install the squeak or pharo images but these Smalltalk implementations are like virtual machines, so each user needs his/her own copy of the images. That's what I meant by creating a folder. A folder is not required, I just figured it's a good practice. There used to be a utility that would set things up for users but I don't know what happened to it.

The best way to see what's in the overlay is to look at the repo's source code at https://bitbucket.org/erosa/erosa-overlay/src


Nope, it still isn't working:

Code:
# layman -a erosa-overlay -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml

 * Adding overlay,...
 * Exception: Overlay "erosa-overlay" does not exist.

 * CLI: Errors occurred processing action add
 * Exception: Overlay "erosa-overlay" does not exist.
Back to top
View user's profile Send private message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Wed Mar 06, 2013 11:56 am    Post subject: Reply with quote

Ok, I think the problem is the layman cache needs to be updated first. Try this:
Code:

layman -f -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml
layman -a erosa-overlay -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml

Another way is to run
Code:
layman -L -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml

This will list the overlays, (and you should see erosa-overlay) listed, and it will also update the cache. Then,
Code:

layman -a erosa-overlay -o https://bitbucket.org/erosa/overlays/raw/tip/overlays.xml


should work.
Back to top
View user's profile Send private message
Ginta
Apprentice
Apprentice


Joined: 17 Feb 2006
Posts: 152
Location: Spain

PostPosted: Wed Dec 17, 2014 3:35 pm    Post subject: Reply with quote

Sorry for necromancing an old thread, but can you update the overlay to reflect pharo3 and a seaside3.1 (or at least more recent than currently have in your overlay?)

I already have the prebuild downloaded from official pages, but I'd really like it to be compiled from my machine and have it installed as any other package, but they are very outdated.

Thanks in advance :)
_________________
Some people should use emerge brain on theirselves...
Back to top
View user's profile Send private message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Thu Dec 18, 2014 12:21 am    Post subject: Pharo 3.0 Reply with quote

I've updated pharovm and the pharo image to 3.0.

Currently, the pharo package depends on the pharovm-bin package, so there's no compiling. The pharovm sources are not distributed in an archive. So I would have to change the ebuild to get the sources from git, and probably track the master branch since there are no release branches. Maybe one of these days I'll take a stab at making a source ebuild.

I didn't update the seaside ebuild because upstream complicated things. Besides downloading a zip file with mostly unnecessary files, their seaside 3.1 archive comes with Pharo 2 instead of 3.

You can install Seaside 3.1 within the Pharo 3 image. Assuming my overlay is already setup and synchronized on your computer (see https://bitbucket.org/erosa/erosa-overlay/wiki/Home)...
Install and run Pharo 3.0

  1. (root)# emerge pharo
  2. (non-root)$ mkdir ~/pharo
  3. (non-root)$ cd ~/pharo
  4. (non-root)$ cp /usr/share/pharo/Pharo-3.0.image.gz /usr/share/pharo/Pharo-3.0.changes.gz ./
  5. (non-root)$ gunzip Pharo-3.0.changes.gz
  6. (non-root)$ gunzip Pharo-3.0.image.gz
  7. (non-root)$ pharo Pharo-3.0.image


Within the Pharo image...
Install Seaside 3.1

  1. Right-click on background and select Workspace
  2. In the workspace copy-paste:
    Gofer new
    url:'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
    package: 'ConfigurationOfSeaside3';
    load.
    ((Smalltalk at: #ConfigurationOfSeaside3) project version: #stable) load.
  3. Select all the text pasted into the workspace.
  4. Right-click and select Do it
  5. When install completes, right-click on background and select Tools->Seaside Control Panel
  6. Right-click within the top half of the Seaside Control Panel and select Add adapter
  7. Select ZnZincServerAdapter
  8. Click on the Start button
  9. Right-click on the background and select Save
  10. Now that Seaside is running, go to http://localhost:8080
Back to top
View user's profile Send private message
Ginta
Apprentice
Apprentice


Joined: 17 Feb 2006
Posts: 152
Location: Spain

PostPosted: Fri Dec 26, 2014 8:23 pm    Post subject: Reply with quote

Thank you, will try it when I have some time.

I am not expert in smalltalk (yet) but I've been reading about Seaside and magritte and I am very impressed.

On the other hand, I was told that by compiling the sources it could gain some more speed, specially if it can be compiled with pthread support, because the only thing I am missing is that it runs only in 1 core, which per expensive operations (like factorial for example) turns it not that optimal.

If you decide to do that I will be glad to test compilation :)
_________________
Some people should use emerge brain on theirselves...
Back to top
View user's profile Send private message
KAMIKAZE_
Guru
Guru


Joined: 09 Oct 2003
Posts: 309
Location: Riga, Latvia

PostPosted: Fri Apr 13, 2018 7:52 pm    Post subject: Reply with quote

still no ebuild?
_________________
-=[powered by Gentoo]=-
Back to top
View user's profile Send private message
manny15
Guru
Guru


Joined: 01 Dec 2002
Posts: 473
Location: USA

PostPosted: Fri Apr 20, 2018 9:14 pm    Post subject: Reply with quote

I no longer use Smalltalk nor Gentoo. Hence I won't be developing the ebuild any more.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum