Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
April 2013
- 97 participants
- 1636 messages
Re: [Pharo-project] Screencast: Creating C library bindings with TalkFFI for libgit2
by Max Leske
The replacement video is up now (vimeo.com/maxleske/talkffibindings)
On 07.04.2013, at 20:48, Ciprian Teodorov <ciprian.teodorov(a)gmail.com> wrote:
>
>
>
> On Sun, Apr 7, 2013 at 8:08 PM, Ciprian Teodorov <ciprian.teodorov(a)gmail.com> wrote:
>
>
>
> On Sun, Apr 7, 2013 at 7:53 PM, Max Leske <maxleske(a)gmail.com> wrote:
>
> On 07.04.2013, at 18:28, Ciprian Teodorov <ciprian.teodorov(a)gmail.com> wrote:
>
>> Hi Max,
>>
>> I've just integrated some of my latest changes into a new version 1.4 of TalkFFI. Amongst others it prints clang erros in the transcript.
>> On my libgit2 checkout there are some compilation errors.
>
> I accidentally loaded your new version and ran it on libgit2. I haven't done any analysis yet but I had to force quit the image since the extraction was taking forever. With 1.3 it took only a few seconds (1 to 2 minutes tops for everything including compilation). I'm doing another run now to see what happens.
>
> That's strange, on my side (macos 10.6.8, latest pharo2.0+vm) I get 7 seconds with 1.3 and between 7-9 seconds with 1.4 (but that should be ok, printing in transcript is expected to take some time).
>
> you're still on linux I guess? i'll try to check that
>
> on linux I get between 3 and 7 seconds for both 1.3 and 1.4... Yeah and these results do not include the compilation of the generated smalltalk... but that shouldn't have changed muchâ¦
ubuntu 32 bit vm. Latest Pharo20. Generation works pretty much as expected, but I've been letting the compilation (after hitting "accept" in the changes browser) running for about 45 minutes and it's still not finished. Looks like some kind of infinite loop but I can't interrupt.
I checked vmstat to see if memory / swapping might be an issue but there's more than enough memory available. I'll keep checking.
>>
>> I've moved the development version to this one, so if you want to try it just do the typical:
>> Gofer it
>> smalltalkhubUser: 'CipT' project: 'TalkFFI';
>> package: 'ConfigurationOfTalkFFI';
>> load.
>> (Smalltalk at: #ConfigurationOfTalkFFI) loadDevelopment.
>>
>> TalkFFIExamples libgit2Mapping
>>
>> version 1.4
>>
>> clang diagnostic messages on header loading
>> added the possibility to filter the functions in a headerFile using a user defined block
>> added option to check the function availability in a dynamic library specified during conversion.
>> added simple generator that pulls functions into type classes. Instance side, if the first function argument matches the type class. Class side of the return type, if the function's first argument does not match any known type class, but if the return type match a type class.
>> changed the NativeBoost generator so that instead of NBCharacterType * it generates NBExternalString, to facilitate string passing
>> fixed uniqueInstance issue
>>
>>
>> On Sun, Apr 7, 2013 at 6:18 PM, Max Leske <maxleske(a)gmail.com> wrote:
>> Wow! This is embarrassing! I just noticed that the video on Vimeo is the wrong one (no wonder you kept talking about a premature endingâ¦)! I'm replacing it right now.
>>
>> Sorry for that.
>>
>> Can't wait to see it ;)
>
> Uploading⦠;)
>
>>
>> Max
>>
>>
>> On 06.04.2013, at 23:38, Max Leske <maxleske(a)gmail.com> wrote:
>>
>>>
>>> On 06.04.2013, at 23:09, Ciprian Teodorov <ciprian.teodorov(a)gmail.com> wrote:
>>>
>>>> Hi Max,
>>>>
>>>> your video is good, too bad that it stops prematurely.
>>>>
>>>> It helped me to spot a tiny issue with the libgit2 generation script. The C compile options ( '-D__STDC_CONSTANT_MACROS' '-D__STDC_LIMIT_MACROS') that are present there are just a copy paste error, since when created that method I've modified the one I've used for generating llvm bindings (which really needs them).
>>>>
>>>> For libgit2 i don't now, I think they aren't needed. I've just tried on my machine with options := {('-I' , includeDir fullName)}.
>>>> and it seems to work
>>>
>>> I also think they're not necessary.
>>>
>>>>
>>>> Now libclang is the reason that in some cases we need such options. Since we use libclang to parse the header files we should make sure that we pass it everything it needs to successfully process the header.
>>>> So if anyone has a hard time generating bindings with talkffi for a library X, then a starting point might be to try understanding what are the options needed by clang to compile the headers.
>>>>
>>>> In the future I plan to add some kind of script editor for writing the bindings, which will show the messages from libclang. so that in case of compilation error (due to missing options, or c syntax errors) we can see them in the image.
>>>>
>>>> About generating the bindings directly on a mac, I've done it using a hand compiled version of libclang configured with (../configure --enable-optimized --enable-jit --target=i686-apple-darwin10). So if you are willing to download libclang and compile it, maybe you don't need a linux vm.
>>>
>>> Thanks for the explanations.
>>>
>>>>
>>>> Ok, that's it for now. Thanks again for the great video
>>>
>>> My pleasure :)
>>>
>>>> Ciprian
>>>>
>>>>
>>>>
>>>>
>>>> On Sat, Apr 6, 2013 at 10:02 PM, Max Leske <maxleske(a)gmail.com> wrote:
>>>>
>>>> On 06.04.2013, at 20:21, Stefan Marr <smalltalk(a)stefan-marr.de> wrote:
>>>>
>>>> > Hi:
>>>> >
>>>> > On 06 Apr 2013, at 19:30, Max Leske wrote:
>>>> >
>>>> >> I recorded a new screencast with a short tutorial on how bindings for libgit2 (or any other library for that matter) can be created using TalkFFI.
>>>> >>
>>>> >> http://vimeo.com/maxleske/talkffibindings
>>>> >
>>>> > I skimmed through it. Looks good.
>>>> > But, I noticed that the video actually stops before generating the bindings :)
>>>> > That makes it feel like there is something missing.
>>>>
>>>> Damn! Got me :) I realized that straight after I had hit stop.
>>>> Still, for me the hard part was the compilation and setup. I figured out the bindings pritty quickly.
>>>>
>>>> Maybe I'll add short bit at the end tomorrow.
>>>>
>>>> Max
>>>>
>>>> >
>>>> > Best regards
>>>> > Stefan
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Stefan Marr
>>>> > Software Languages Lab
>>>> > Vrije Universiteit Brussel
>>>> > Pleinlaan 2 / B-1050 Brussels / Belgium
>>>> > http://soft.vub.ac.be/~smarr
>>>> > Phone: +32 2 629 2974
>>>> > Fax: +32 2 629 3525
>>>> >
>>>> >
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Dr. Ciprian TEODOROV
>>>> Ingénieur Développement CAO
>>>>
>>>> tél : 06 08 54 73 48
>>>> mail : ciprian.teodorov(a)gmail.com
>>>> www.teodorov.ro
>>>
>>
>>
>>
>>
>> --
>> Dr. Ciprian TEODOROV
>> Ingénieur Développement CAO
>>
>> tél : 06 08 54 73 48
>> mail : ciprian.teodorov(a)gmail.com
>> www.teodorov.ro
>
>
>
>
> --
> Dr. Ciprian TEODOROV
> Ingénieur Développement CAO
>
> tél : 06 08 54 73 48
> mail : ciprian.teodorov(a)gmail.com
> www.teodorov.ro
>
>
>
> --
> Dr. Ciprian TEODOROV
> Ingénieur Développement CAO
>
> tél : 06 08 54 73 48
> mail : ciprian.teodorov(a)gmail.com
> www.teodorov.ro
April 7, 2013
Re: [Pharo-project] get.pharo.org is unreachable
by Tudor Girba
Thanks.
Doru
On Apr 7, 2013, at 3:59 PM, Marcus Denker <marcus.denker(a)inria.fr> wrote:
>
> On Apr 7, 2013, at 1:18 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>
>> Hi,
>>
>> Just in case you did not see it, it seems that http://get.pharo.org is unreachable at the moment. Is anyone looking into this?
>>
> Seems to work again⦠strange, but the good thing is that starting next week it will point directly to a server (no forwarding anymore).
>
> Marcus
>
>
--
www.tudorgirba.com
"Every thing has its own flow."
April 7, 2013
[Pharo-project] [ANN] Pharo VM packages and PPA for Ubuntu
by Damien Cassou
Dear Pharo and Ubuntu users,
Nicolas Petton and I are proud to announce Ubuntu packages for the
Pharo VM. Installing the pharo vm is now just a matter of:
sudo add-apt-repository ppa:cassou/pharo
sudo apt-get update
sudo apt-get install pharo-vm
With this package, you get:
- the latest pharo vm as a 'pharo' binary in the PATH
- all plugins and libraries (native boost, freetype, ssl, ...)
- file association so you can just double-click on pharo images
- pharo icons visible everywhere (on image files, on ALT+TAB...)
- PharoV10.sources and PharoV20.sources
Please fill bug reports on https://pharo.fogbugz.com.
This package is currently only available for Ubuntu 12.10 Quantal.
Fill a bug report if you want me to package it for another version of
Ubuntu.
--
Damien Cassou
http://damiencassou.seasidehosting.st
"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill
April 7, 2013
Re: [Pharo-project] Screencast: Creating C library bindings with TalkFFI for libgit2
by Ciprian Teodorov
On Sun, Apr 7, 2013 at 8:08 PM, Ciprian Teodorov <ciprian.teodorov(a)gmail.com
> wrote:
>
>
>
> On Sun, Apr 7, 2013 at 7:53 PM, Max Leske <maxleske(a)gmail.com> wrote:
>
>>
>> On 07.04.2013, at 18:28, Ciprian Teodorov <ciprian.teodorov(a)gmail.com>
>> wrote:
>>
>> Hi Max,
>>
>> I've just integrated some of my latest changes into a new version 1.4 of
>> TalkFFI. Amongst others it prints clang erros in the transcript.
>> On my libgit2 checkout there are some compilation errors.
>>
>>
>> I accidentally loaded your new version and ran it on libgit2. I haven't
>> done any analysis yet but I had to force quit the image since the
>> extraction was taking forever. With 1.3 it took only a few seconds (1 to 2
>> minutes tops for everything including compilation). I'm doing another run
>> now to see what happens.
>>
>> That's strange, on my side (macos 10.6.8, latest pharo2.0+vm) I get 7
> seconds with 1.3 and between 7-9 seconds with 1.4 (but that should be ok,
> printing in transcript is expected to take some time).
>
> you're still on linux I guess? i'll try to check that
>
on linux I get between 3 and 7 seconds for both 1.3 and 1.4... Yeah and
these results do not include the compilation of the generated smalltalk...
but that shouldn't have changed much...
>
>> I've moved the development version to this one, so if you want to try it
>> just do the typical:
>> Gofer it
>> smalltalkhubUser: 'CipT' project: 'TalkFFI';
>> package: 'ConfigurationOfTalkFFI';
>> load.
>> (Smalltalk at: #ConfigurationOfTalkFFI) loadDevelopment.
>>
>> TalkFFIExamples libgit2Mapping
>>
>> version 1.4
>>
>> - clang diagnostic messages on header loading
>> - added the possibility to filter the functions in a headerFile using
>> a user defined block
>> - added option to check the function availability in a dynamic
>> library specified during conversion.
>> - added simple generator that pulls functions into type classes.
>> Instance side, if the first function argument matches the type class. Class
>> side of the return type, if the function's first argument does not match
>> any known type class, but if the return type match a type class.
>> - changed the NativeBoost generator so that instead of
>> NBCharacterType * it generates NBExternalString, to facilitate string
>> passing
>> - fixed uniqueInstance issue
>>
>>
>>
>> On Sun, Apr 7, 2013 at 6:18 PM, Max Leske <maxleske(a)gmail.com> wrote:
>>
>>> Wow! This is embarrassing! I just noticed that the video on Vimeo is the
>>> wrong one (no wonder you kept talking about a premature endingâ¦)! I'm
>>> replacing it right now.
>>>
>>> Sorry for that.
>>>
>>
>> Can't wait to see it ;)
>>
>>
>> Uploading⦠;)
>>
>>
>>> Max
>>>
>>>
>>> On 06.04.2013, at 23:38, Max Leske <maxleske(a)gmail.com> wrote:
>>>
>>>
>>> On 06.04.2013, at 23:09, Ciprian Teodorov <ciprian.teodorov(a)gmail.com>
>>> wrote:
>>>
>>> Hi Max,
>>>
>>> your video is good, too bad that it stops prematurely.
>>>
>>> It helped me to spot a tiny issue with the libgit2 generation script.
>>> The C compile options ( '-D__STDC_CONSTANT_MACROS'
>>> '-D__STDC_LIMIT_MACROS') that are present there are just a copy paste
>>> error, since when created that method I've modified the one I've used for
>>> generating llvm bindings (which really needs them).
>>>
>>>
>>> For libgit2 i don't now, I think they aren't needed. I've just tried on
>>> my machine with options := {('-I' , includeDir fullName)}.
>>> and it seems to work
>>>
>>>
>>> I also think they're not necessary.
>>>
>>>
>>> Now libclang is the reason that in some cases we need such options.
>>> Since we use libclang to parse the header files we should make sure that we
>>> pass it everything it needs to successfully process the header.
>>> So if anyone has a hard time generating bindings with talkffi for a
>>> library X, then a starting point might be to try understanding what are the
>>> options needed by clang to compile the headers.
>>>
>>> In the future I plan to add some kind of script editor for writing the
>>> bindings, which will show the messages from libclang. so that in case of
>>> compilation error (due to missing options, or c syntax errors) we can see
>>> them in the image.
>>>
>>> About generating the bindings directly on a mac, I've done it using a
>>> hand compiled version of libclang configured with (../configure
>>> --enable-optimized --enable-jit --target=i686-apple-darwin10). So if
>>> you are willing to download libclang and compile it, maybe you don't need a
>>> linux vm.
>>>
>>>
>>> Thanks for the explanations.
>>>
>>>
>>> Ok, that's it for now. Thanks again for the great video
>>>
>>>
>>> My pleasure :)
>>>
>>> Ciprian
>>>
>>>
>>>
>>>
>>> On Sat, Apr 6, 2013 at 10:02 PM, Max Leske <maxleske(a)gmail.com> wrote:
>>>
>>>>
>>>> On 06.04.2013, at 20:21, Stefan Marr <smalltalk(a)stefan-marr.de> wrote:
>>>>
>>>> > Hi:
>>>> >
>>>> > On 06 Apr 2013, at 19:30, Max Leske wrote:
>>>> >
>>>> >> I recorded a new screencast with a short tutorial on how bindings
>>>> for libgit2 (or any other library for that matter) can be created using
>>>> TalkFFI.
>>>> >>
>>>> >> http://vimeo.com/maxleske/talkffibindings
>>>> >
>>>> > I skimmed through it. Looks good.
>>>> > But, I noticed that the video actually stops before generating the
>>>> bindings :)
>>>> > That makes it feel like there is something missing.
>>>>
>>>> Damn! Got me :) I realized that straight after I had hit stop.
>>>> Still, for me the hard part was the compilation and setup. I figured
>>>> out the bindings pritty quickly.
>>>>
>>>> Maybe I'll add short bit at the end tomorrow.
>>>>
>>>> Max
>>>>
>>>> >
>>>> > Best regards
>>>> > Stefan
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Stefan Marr
>>>> > Software Languages Lab
>>>> > Vrije Universiteit Brussel
>>>> > Pleinlaan 2 / B-1050 Brussels / Belgium
>>>> > http://soft.vub.ac.be/~smarr
>>>> > Phone: +32 2 629 2974
>>>> > Fax: +32 2 629 3525
>>>> >
>>>> >
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Dr. Ciprian TEODOROV
>>> Ingénieur Développement CAO
>>>
>>> tél : 06 08 54 73 48
>>> mail : ciprian.teodorov(a)gmail.com
>>> www.teodorov.ro
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Dr. Ciprian TEODOROV
>> Ingénieur Développement CAO
>>
>> tél : 06 08 54 73 48
>> mail : ciprian.teodorov(a)gmail.com
>> www.teodorov.ro
>>
>>
>>
>
>
> --
> Dr. Ciprian TEODOROV
> Ingénieur Développement CAO
>
> tél : 06 08 54 73 48
> mail : ciprian.teodorov(a)gmail.com
> www.teodorov.ro
>
--
Dr. Ciprian TEODOROV
Ingénieur Développement CAO
tél : 06 08 54 73 48
mail : ciprian.teodorov(a)gmail.com
www.teodorov.ro
April 7, 2013
Re: [Pharo-project] Issue 10219: Completion: enter on accept awkwardness
by Johan Brichau
I'm fine with the fact that Pharo decides to put that as a default (because I can change it).
But the preferences are fundamentally flawed: if I disable useEnterToAccept then I cannot even use <tab> instead.
I should also disable the <tab> as the completion of common prefixes.
The change I attached to my email demonstrates that this should not be the case.
On 07 Apr 2013, at 12:27, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
> I still think useEnterToAccept has to be true
> I sustain the idea of lower the entry level for the newcomers, instead supporting as default the use-workflow of power users (they have a settings browser there).
> We took this decision last year and I think it was a good one... not that we cannot change, but I would stick with it for now.
>
> I think the current completion functionality has some other problems that makes it sometimes uncomfortable to use...
>
> On Apr 7, 2013, at 12:16 PM, stephane ducasse <stephane.ducasse(a)free.fr> wrote:
>
>>
>> On Apr 6, 2013, at 11:44 PM, Benjamin <benjamin.vanryseghem.pharo(a)gmail.com> wrote:
>>
>>> If everybody likes it, maybe we should consider putting this configuration as default, no ?
>>
>> yes but first I would like to see the difference because I do not like it :)
>>
>>
>>> Ben
>>>
>>> On Apr 6, 2013, at 8:59 PM, "Sean P. DeNigris" <sean(a)clipperadams.com> wrote:
>>>
>>>> stephane ducasse wrote
>>>>> would it be possible to get a couple of settings that you use?
>>>>
>>>> NECPreferences
>>>> enabled: true;
>>>> caseSensitive: true;
>>>> expandPrefixes: true;
>>>> useEnterToAccept: false;
>>>> smartCharacters: true;
>>>> smartCharactersWithDoubleSpace: '[]{}';
>>>> spaceAfterCompletion: false;
>>>> popupAutomaticDelay: 100.
>>>>
>>>>
>>>>
>>>> -----
>>>> Cheers,
>>>> Sean
>>>> --
>>>> View this message in context: http://forum.world.st/Issue-10219-Completion-enter-on-accept-awkwardness-tp…
>>>> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>>>>
>>>
>>
>
April 7, 2013
Re: [Pharo-project] Screencast: Creating C library bindings with TalkFFI for libgit2
by Ciprian Teodorov
On Sun, Apr 7, 2013 at 7:53 PM, Max Leske <maxleske(a)gmail.com> wrote:
>
> On 07.04.2013, at 18:28, Ciprian Teodorov <ciprian.teodorov(a)gmail.com>
> wrote:
>
> Hi Max,
>
> I've just integrated some of my latest changes into a new version 1.4 of
> TalkFFI. Amongst others it prints clang erros in the transcript.
> On my libgit2 checkout there are some compilation errors.
>
>
> I accidentally loaded your new version and ran it on libgit2. I haven't
> done any analysis yet but I had to force quit the image since the
> extraction was taking forever. With 1.3 it took only a few seconds (1 to 2
> minutes tops for everything including compilation). I'm doing another run
> now to see what happens.
>
> That's strange, on my side (macos 10.6.8, latest pharo2.0+vm) I get 7
seconds with 1.3 and between 7-9 seconds with 1.4 (but that should be ok,
printing in transcript is expected to take some time).
you're still on linux I guess? i'll try to check that
>
> I've moved the development version to this one, so if you want to try it
> just do the typical:
> Gofer it
> smalltalkhubUser: 'CipT' project: 'TalkFFI';
> package: 'ConfigurationOfTalkFFI';
> load.
> (Smalltalk at: #ConfigurationOfTalkFFI) loadDevelopment.
>
> TalkFFIExamples libgit2Mapping
>
> version 1.4
>
> - clang diagnostic messages on header loading
> - added the possibility to filter the functions in a headerFile using
> a user defined block
> - added option to check the function availability in a dynamic library
> specified during conversion.
> - added simple generator that pulls functions into type classes.
> Instance side, if the first function argument matches the type class. Class
> side of the return type, if the function's first argument does not match
> any known type class, but if the return type match a type class.
> - changed the NativeBoost generator so that instead of NBCharacterType
> * it generates NBExternalString, to facilitate string passing
> - fixed uniqueInstance issue
>
>
>
> On Sun, Apr 7, 2013 at 6:18 PM, Max Leske <maxleske(a)gmail.com> wrote:
>
>> Wow! This is embarrassing! I just noticed that the video on Vimeo is the
>> wrong one (no wonder you kept talking about a premature endingâ¦)! I'm
>> replacing it right now.
>>
>> Sorry for that.
>>
>
> Can't wait to see it ;)
>
>
> Uploading⦠;)
>
>
>> Max
>>
>>
>> On 06.04.2013, at 23:38, Max Leske <maxleske(a)gmail.com> wrote:
>>
>>
>> On 06.04.2013, at 23:09, Ciprian Teodorov <ciprian.teodorov(a)gmail.com>
>> wrote:
>>
>> Hi Max,
>>
>> your video is good, too bad that it stops prematurely.
>>
>> It helped me to spot a tiny issue with the libgit2 generation script. The
>> C compile options ( '-D__STDC_CONSTANT_MACROS' '-D__STDC_LIMIT_MACROS')
>> that are present there are just a copy paste error, since when created that
>> method I've modified the one I've used for generating llvm bindings (which
>> really needs them).
>>
>>
>> For libgit2 i don't now, I think they aren't needed. I've just tried on
>> my machine with options := {('-I' , includeDir fullName)}.
>> and it seems to work
>>
>>
>> I also think they're not necessary.
>>
>>
>> Now libclang is the reason that in some cases we need such options. Since
>> we use libclang to parse the header files we should make sure that we pass
>> it everything it needs to successfully process the header.
>> So if anyone has a hard time generating bindings with talkffi for a
>> library X, then a starting point might be to try understanding what are the
>> options needed by clang to compile the headers.
>>
>> In the future I plan to add some kind of script editor for writing the
>> bindings, which will show the messages from libclang. so that in case of
>> compilation error (due to missing options, or c syntax errors) we can see
>> them in the image.
>>
>> About generating the bindings directly on a mac, I've done it using a
>> hand compiled version of libclang configured with (../configure
>> --enable-optimized --enable-jit --target=i686-apple-darwin10). So if you
>> are willing to download libclang and compile it, maybe you don't need a
>> linux vm.
>>
>>
>> Thanks for the explanations.
>>
>>
>> Ok, that's it for now. Thanks again for the great video
>>
>>
>> My pleasure :)
>>
>> Ciprian
>>
>>
>>
>>
>> On Sat, Apr 6, 2013 at 10:02 PM, Max Leske <maxleske(a)gmail.com> wrote:
>>
>>>
>>> On 06.04.2013, at 20:21, Stefan Marr <smalltalk(a)stefan-marr.de> wrote:
>>>
>>> > Hi:
>>> >
>>> > On 06 Apr 2013, at 19:30, Max Leske wrote:
>>> >
>>> >> I recorded a new screencast with a short tutorial on how bindings for
>>> libgit2 (or any other library for that matter) can be created using TalkFFI.
>>> >>
>>> >> http://vimeo.com/maxleske/talkffibindings
>>> >
>>> > I skimmed through it. Looks good.
>>> > But, I noticed that the video actually stops before generating the
>>> bindings :)
>>> > That makes it feel like there is something missing.
>>>
>>> Damn! Got me :) I realized that straight after I had hit stop.
>>> Still, for me the hard part was the compilation and setup. I figured out
>>> the bindings pritty quickly.
>>>
>>> Maybe I'll add short bit at the end tomorrow.
>>>
>>> Max
>>>
>>> >
>>> > Best regards
>>> > Stefan
>>> >
>>> >
>>> >
>>> > --
>>> > Stefan Marr
>>> > Software Languages Lab
>>> > Vrije Universiteit Brussel
>>> > Pleinlaan 2 / B-1050 Brussels / Belgium
>>> > http://soft.vub.ac.be/~smarr
>>> > Phone: +32 2 629 2974
>>> > Fax: +32 2 629 3525
>>> >
>>> >
>>>
>>>
>>>
>>
>>
>> --
>> Dr. Ciprian TEODOROV
>> Ingénieur Développement CAO
>>
>> tél : 06 08 54 73 48
>> mail : ciprian.teodorov(a)gmail.com
>> www.teodorov.ro
>>
>>
>>
>>
>
>
> --
> Dr. Ciprian TEODOROV
> Ingénieur Développement CAO
>
> tél : 06 08 54 73 48
> mail : ciprian.teodorov(a)gmail.com
> www.teodorov.ro
>
>
>
--
Dr. Ciprian TEODOROV
Ingénieur Développement CAO
tél : 06 08 54 73 48
mail : ciprian.teodorov(a)gmail.com
www.teodorov.ro
April 7, 2013
Re: [Pharo-project] Screencast: Creating C library bindings with TalkFFI for libgit2
by Max Leske
On 07.04.2013, at 18:28, Ciprian Teodorov <ciprian.teodorov(a)gmail.com> wrote:
> Hi Max,
>
> I've just integrated some of my latest changes into a new version 1.4 of TalkFFI. Amongst others it prints clang erros in the transcript.
> On my libgit2 checkout there are some compilation errors.
I accidentally loaded your new version and ran it on libgit2. I haven't done any analysis yet but I had to force quit the image since the extraction was taking forever. With 1.3 it took only a few seconds (1 to 2 minutes tops for everything including compilation). I'm doing another run now to see what happens.
>
> I've moved the development version to this one, so if you want to try it just do the typical:
> Gofer it
> smalltalkhubUser: 'CipT' project: 'TalkFFI';
> package: 'ConfigurationOfTalkFFI';
> load.
> (Smalltalk at: #ConfigurationOfTalkFFI) loadDevelopment.
>
> TalkFFIExamples libgit2Mapping
>
> version 1.4
>
> clang diagnostic messages on header loading
> added the possibility to filter the functions in a headerFile using a user defined block
> added option to check the function availability in a dynamic library specified during conversion.
> added simple generator that pulls functions into type classes. Instance side, if the first function argument matches the type class. Class side of the return type, if the function's first argument does not match any known type class, but if the return type match a type class.
> changed the NativeBoost generator so that instead of NBCharacterType * it generates NBExternalString, to facilitate string passing
> fixed uniqueInstance issue
>
>
> On Sun, Apr 7, 2013 at 6:18 PM, Max Leske <maxleske(a)gmail.com> wrote:
> Wow! This is embarrassing! I just noticed that the video on Vimeo is the wrong one (no wonder you kept talking about a premature endingâ¦)! I'm replacing it right now.
>
> Sorry for that.
>
> Can't wait to see it ;)
Uploading⦠;)
>
> Max
>
>
> On 06.04.2013, at 23:38, Max Leske <maxleske(a)gmail.com> wrote:
>
>>
>> On 06.04.2013, at 23:09, Ciprian Teodorov <ciprian.teodorov(a)gmail.com> wrote:
>>
>>> Hi Max,
>>>
>>> your video is good, too bad that it stops prematurely.
>>>
>>> It helped me to spot a tiny issue with the libgit2 generation script. The C compile options ( '-D__STDC_CONSTANT_MACROS' '-D__STDC_LIMIT_MACROS') that are present there are just a copy paste error, since when created that method I've modified the one I've used for generating llvm bindings (which really needs them).
>>>
>>> For libgit2 i don't now, I think they aren't needed. I've just tried on my machine with options := {('-I' , includeDir fullName)}.
>>> and it seems to work
>>
>> I also think they're not necessary.
>>
>>>
>>> Now libclang is the reason that in some cases we need such options. Since we use libclang to parse the header files we should make sure that we pass it everything it needs to successfully process the header.
>>> So if anyone has a hard time generating bindings with talkffi for a library X, then a starting point might be to try understanding what are the options needed by clang to compile the headers.
>>>
>>> In the future I plan to add some kind of script editor for writing the bindings, which will show the messages from libclang. so that in case of compilation error (due to missing options, or c syntax errors) we can see them in the image.
>>>
>>> About generating the bindings directly on a mac, I've done it using a hand compiled version of libclang configured with (../configure --enable-optimized --enable-jit --target=i686-apple-darwin10). So if you are willing to download libclang and compile it, maybe you don't need a linux vm.
>>
>> Thanks for the explanations.
>>
>>>
>>> Ok, that's it for now. Thanks again for the great video
>>
>> My pleasure :)
>>
>>> Ciprian
>>>
>>>
>>>
>>>
>>> On Sat, Apr 6, 2013 at 10:02 PM, Max Leske <maxleske(a)gmail.com> wrote:
>>>
>>> On 06.04.2013, at 20:21, Stefan Marr <smalltalk(a)stefan-marr.de> wrote:
>>>
>>> > Hi:
>>> >
>>> > On 06 Apr 2013, at 19:30, Max Leske wrote:
>>> >
>>> >> I recorded a new screencast with a short tutorial on how bindings for libgit2 (or any other library for that matter) can be created using TalkFFI.
>>> >>
>>> >> http://vimeo.com/maxleske/talkffibindings
>>> >
>>> > I skimmed through it. Looks good.
>>> > But, I noticed that the video actually stops before generating the bindings :)
>>> > That makes it feel like there is something missing.
>>>
>>> Damn! Got me :) I realized that straight after I had hit stop.
>>> Still, for me the hard part was the compilation and setup. I figured out the bindings pritty quickly.
>>>
>>> Maybe I'll add short bit at the end tomorrow.
>>>
>>> Max
>>>
>>> >
>>> > Best regards
>>> > Stefan
>>> >
>>> >
>>> >
>>> > --
>>> > Stefan Marr
>>> > Software Languages Lab
>>> > Vrije Universiteit Brussel
>>> > Pleinlaan 2 / B-1050 Brussels / Belgium
>>> > http://soft.vub.ac.be/~smarr
>>> > Phone: +32 2 629 2974
>>> > Fax: +32 2 629 3525
>>> >
>>> >
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Dr. Ciprian TEODOROV
>>> Ingénieur Développement CAO
>>>
>>> tél : 06 08 54 73 48
>>> mail : ciprian.teodorov(a)gmail.com
>>> www.teodorov.ro
>>
>
>
>
>
> --
> Dr. Ciprian TEODOROV
> Ingénieur Développement CAO
>
> tél : 06 08 54 73 48
> mail : ciprian.teodorov(a)gmail.com
> www.teodorov.ro
April 7, 2013
Re: [Pharo-project] Screencast: Creating C library bindings with TalkFFI for libgit2
by Ciprian Teodorov
Hi Max,
I've just integrated some of my latest changes into a new version 1.4 of
TalkFFI. Amongst others it prints clang erros in the transcript.
On my libgit2 checkout there are some compilation errors.
I've moved the development version to this one, so if you want to try it
just do the typical:
Gofer it
smalltalkhubUser: 'CipT' project: 'TalkFFI';
package: 'ConfigurationOfTalkFFI';
load.
(Smalltalk at: #ConfigurationOfTalkFFI) loadDevelopment.
TalkFFIExamples libgit2Mapping
version 1.4
- clang diagnostic messages on header loading
- added the possibility to filter the functions in a headerFile using a
user defined block
- added option to check the function availability in a dynamic library
specified during conversion.
- added simple generator that pulls functions into type classes.
Instance side, if the first function argument matches the type class. Class
side of the return type, if the function's first argument does not match
any known type class, but if the return type match a type class.
- changed the NativeBoost generator so that instead of NBCharacterType *
it generates NBExternalString, to facilitate string passing
- fixed uniqueInstance issue
On Sun, Apr 7, 2013 at 6:18 PM, Max Leske <maxleske(a)gmail.com> wrote:
> Wow! This is embarrassing! I just noticed that the video on Vimeo is the
> wrong one (no wonder you kept talking about a premature endingâ¦)! I'm
> replacing it right now.
>
> Sorry for that.
>
Can't wait to see it ;)
>
> Max
>
>
> On 06.04.2013, at 23:38, Max Leske <maxleske(a)gmail.com> wrote:
>
>
> On 06.04.2013, at 23:09, Ciprian Teodorov <ciprian.teodorov(a)gmail.com>
> wrote:
>
> Hi Max,
>
> your video is good, too bad that it stops prematurely.
>
> It helped me to spot a tiny issue with the libgit2 generation script. The
> C compile options ( '-D__STDC_CONSTANT_MACROS' '-D__STDC_LIMIT_MACROS')
> that are present there are just a copy paste error, since when created that
> method I've modified the one I've used for generating llvm bindings (which
> really needs them).
>
>
> For libgit2 i don't now, I think they aren't needed. I've just tried on my
> machine with options := {('-I' , includeDir fullName)}.
> and it seems to work
>
>
> I also think they're not necessary.
>
>
> Now libclang is the reason that in some cases we need such options. Since
> we use libclang to parse the header files we should make sure that we pass
> it everything it needs to successfully process the header.
> So if anyone has a hard time generating bindings with talkffi for a
> library X, then a starting point might be to try understanding what are the
> options needed by clang to compile the headers.
>
> In the future I plan to add some kind of script editor for writing the
> bindings, which will show the messages from libclang. so that in case of
> compilation error (due to missing options, or c syntax errors) we can see
> them in the image.
>
> About generating the bindings directly on a mac, I've done it using a hand
> compiled version of libclang configured with (../configure
> --enable-optimized --enable-jit --target=i686-apple-darwin10). So if you
> are willing to download libclang and compile it, maybe you don't need a
> linux vm.
>
>
> Thanks for the explanations.
>
>
> Ok, that's it for now. Thanks again for the great video
>
>
> My pleasure :)
>
> Ciprian
>
>
>
>
> On Sat, Apr 6, 2013 at 10:02 PM, Max Leske <maxleske(a)gmail.com> wrote:
>
>>
>> On 06.04.2013, at 20:21, Stefan Marr <smalltalk(a)stefan-marr.de> wrote:
>>
>> > Hi:
>> >
>> > On 06 Apr 2013, at 19:30, Max Leske wrote:
>> >
>> >> I recorded a new screencast with a short tutorial on how bindings for
>> libgit2 (or any other library for that matter) can be created using TalkFFI.
>> >>
>> >> http://vimeo.com/maxleske/talkffibindings
>> >
>> > I skimmed through it. Looks good.
>> > But, I noticed that the video actually stops before generating the
>> bindings :)
>> > That makes it feel like there is something missing.
>>
>> Damn! Got me :) I realized that straight after I had hit stop.
>> Still, for me the hard part was the compilation and setup. I figured out
>> the bindings pritty quickly.
>>
>> Maybe I'll add short bit at the end tomorrow.
>>
>> Max
>>
>> >
>> > Best regards
>> > Stefan
>> >
>> >
>> >
>> > --
>> > Stefan Marr
>> > Software Languages Lab
>> > Vrije Universiteit Brussel
>> > Pleinlaan 2 / B-1050 Brussels / Belgium
>> > http://soft.vub.ac.be/~smarr
>> > Phone: +32 2 629 2974
>> > Fax: +32 2 629 3525
>> >
>> >
>>
>>
>>
>
>
> --
> Dr. Ciprian TEODOROV
> Ingénieur Développement CAO
>
> tél : 06 08 54 73 48
> mail : ciprian.teodorov(a)gmail.com
> www.teodorov.ro
>
>
>
>
--
Dr. Ciprian TEODOROV
Ingénieur Développement CAO
tél : 06 08 54 73 48
mail : ciprian.teodorov(a)gmail.com
www.teodorov.ro
April 7, 2013
Re: [Pharo-project] Screencast: Creating C library bindings with TalkFFI for libgit2
by Max Leske
Wow! This is embarrassing! I just noticed that the video on Vimeo is the wrong one (no wonder you kept talking about a premature endingâ¦)! I'm replacing it right now.
Sorry for that.
Max
On 06.04.2013, at 23:38, Max Leske <maxleske(a)gmail.com> wrote:
>
> On 06.04.2013, at 23:09, Ciprian Teodorov <ciprian.teodorov(a)gmail.com> wrote:
>
>> Hi Max,
>>
>> your video is good, too bad that it stops prematurely.
>>
>> It helped me to spot a tiny issue with the libgit2 generation script. The C compile options ( '-D__STDC_CONSTANT_MACROS' '-D__STDC_LIMIT_MACROS') that are present there are just a copy paste error, since when created that method I've modified the one I've used for generating llvm bindings (which really needs them).
>>
>> For libgit2 i don't now, I think they aren't needed. I've just tried on my machine with options := {('-I' , includeDir fullName)}.
>> and it seems to work
>
> I also think they're not necessary.
>
>>
>> Now libclang is the reason that in some cases we need such options. Since we use libclang to parse the header files we should make sure that we pass it everything it needs to successfully process the header.
>> So if anyone has a hard time generating bindings with talkffi for a library X, then a starting point might be to try understanding what are the options needed by clang to compile the headers.
>>
>> In the future I plan to add some kind of script editor for writing the bindings, which will show the messages from libclang. so that in case of compilation error (due to missing options, or c syntax errors) we can see them in the image.
>>
>> About generating the bindings directly on a mac, I've done it using a hand compiled version of libclang configured with (../configure --enable-optimized --enable-jit --target=i686-apple-darwin10). So if you are willing to download libclang and compile it, maybe you don't need a linux vm.
>
> Thanks for the explanations.
>
>>
>> Ok, that's it for now. Thanks again for the great video
>
> My pleasure :)
>
>> Ciprian
>>
>>
>>
>>
>> On Sat, Apr 6, 2013 at 10:02 PM, Max Leske <maxleske(a)gmail.com> wrote:
>>
>> On 06.04.2013, at 20:21, Stefan Marr <smalltalk(a)stefan-marr.de> wrote:
>>
>> > Hi:
>> >
>> > On 06 Apr 2013, at 19:30, Max Leske wrote:
>> >
>> >> I recorded a new screencast with a short tutorial on how bindings for libgit2 (or any other library for that matter) can be created using TalkFFI.
>> >>
>> >> http://vimeo.com/maxleske/talkffibindings
>> >
>> > I skimmed through it. Looks good.
>> > But, I noticed that the video actually stops before generating the bindings :)
>> > That makes it feel like there is something missing.
>>
>> Damn! Got me :) I realized that straight after I had hit stop.
>> Still, for me the hard part was the compilation and setup. I figured out the bindings pritty quickly.
>>
>> Maybe I'll add short bit at the end tomorrow.
>>
>> Max
>>
>> >
>> > Best regards
>> > Stefan
>> >
>> >
>> >
>> > --
>> > Stefan Marr
>> > Software Languages Lab
>> > Vrije Universiteit Brussel
>> > Pleinlaan 2 / B-1050 Brussels / Belgium
>> > http://soft.vub.ac.be/~smarr
>> > Phone: +32 2 629 2974
>> > Fax: +32 2 629 3525
>> >
>> >
>>
>>
>>
>>
>>
>> --
>> Dr. Ciprian TEODOROV
>> Ingénieur Développement CAO
>>
>> tél : 06 08 54 73 48
>> mail : ciprian.teodorov(a)gmail.com
>> www.teodorov.ro
>
April 7, 2013
Re: [Pharo-project] How to define a ConfigurationOf with a #development version that depends on a baseline?
by Sabine Knöfel
I also worked with Envy for more than 10 years and after getting used to it (which took a certain time), it was the stable base for my daily work. Now I am learning to work with metacello/monticello. I find myself regularly thinking "hm, in Envy it was ...".
I think that taking some of the principles of Envy would make sense.
Sabine
Von meinem iPad gesendet
Am 07.04.2013 um 10:12 schrieb Marten Feldtmann <marten(a)schrievkrom.de>:
> Alexandre,
>
> I had the same feeling, when I had to use it starting around 1997 in our company :-)
>
> We are now C#'pers, but it is interesting to see, that one item is remembered by all persons in our team from the Smalltalk-epoche in our company in a friendly way: ENVY.
>
> This was the item, which seem to impressed most of the people - especially *after* switching to VS.
>
> Marten
>
> On 07.04.2013 04:48, Alexandre Bergel wrote:
>> Hi Marten,
>>
>> Frankly speaking, I find Envy way too complicated. I am using it these days and I am really not happy with. If I have to read a book to understand how it works, than there is no way I can teach students on how to use it in a reasonable amount of time.
>> Configuration Map, Application, edition, scratch version and many more are way too many concepts, in my opinion.
> <marten.vcf>
April 7, 2013