Hi Rainer, glad you're checking this out.  This code (as I believe I
mentioned above) requires a special build of the ClojureCLR compiler (see
this github branch https://github.com/aaronc/clojure-clr - I just merged it
with the clojure-clr master).  I'm going to try to make some effort today
to see if I can get Dave the patches so he can review them for inclusion in
clojure-clr master.  Hopefully soon we can have an official nuget package.
 Here's ClojureClrEx: https://github.com/aaronc/ClojureClrEx


On Thu, Feb 28, 2013 at 11:55 AM, Rainer Schuster <schuster-rai...@web.de>wrote:

> I had a quick look into nleiningen. I'm not able to bootstrap the build
> atm. Can't build the ClojureClrEx dep. What I basically did was:
> git clone https://github.com/aaronc/nleiningen.git
> git submodules init
> git submodules update
>
> nuget install Nuget.Core -o packages
>
> $env:CLOJURE_LOAD_PATH="./src;./ClojureClrEx/src/;./ClojureClrEx"
>
> created an init.clj with content and changed nleiningen.core/main to
> nleiningen.core/-main
>
> init.clj:
> (assembly-load-from
> "packages/Nuget.Core.2.2.0/lib/net40-Client/NuGet.Core.dll")
>
> nleiningen.signing is missing from the sources. Just commented it out from
> nleiningen/core.clj
>
> afterwards executed:
> Clojure.Main.exe -i .\init.clj -m nleiningen.core repl
>
> Mono.Cecil.dll
> Loaded #<RuntimeAssembly Mono.Cecil, Version=0.9.5.0, Culture=neutral,
> PublicKeyToken=0738eb9f132ed756>
> Mono.Cecil.Mdb.dll
> Loaded #<RuntimeAssembly Mono.Cecil.Mdb, Version=0.9.5.0, Culture=neutral,
> PublicKeyToken=0738eb9f132ed756>
> Mono.Cecil.Pdb.dll
> Loaded #<RuntimeAssembly Mono.Cecil.Pdb, Version=0.9.5.0, Culture=neutral,
> PublicKeyToken=0738eb9f132ed756>
> Mono.Cecil.Rocks.dll
> Loaded #<RuntimeAssembly Mono.Cecil.Rocks, Version=0.9.5.0,
> Culture=neutral, PublicKeyToken=0738eb9f132ed756>
> Trying to resolve ClojureClrEx
> project.clj not found
> Mono.Cecil.dll
> Loaded #<RuntimeAssembly Mono.Cecil, Version=0.9.5.0, Culture=neutral,
> PublicKeyToken=0738eb9f132ed756>
> Mono.Cecil.Mdb.dll
> Loaded #<RuntimeAssembly Mono.Cecil.Mdb, Version=0.9.5.0, Culture=neutral,
> PublicKeyToken=0738eb9f132ed756>
> Mono.Cecil.Pdb.dll
> Loaded #<RuntimeAssembly Mono.Cecil.Pdb, Version=0.9.5.0, Culture=neutral,
> PublicKeyToken=0738eb9f132ed756>
> Mono.Cecil.Rocks.dll
> Loaded #<RuntimeAssembly Mono.Cecil.Rocks, Version=0.9.5.0,
> Culture=neutral, PublicKeyToken=0738eb9f132ed756>
> Compile path:
> D:\Projects\Playground\clojure\test\clr\clode_org\nleiningen\bin
> Error loading ClojureClrEx : #<NullReferenceException
> System.NullReferenceException: Object reference not set to an instance of
> an object.
>    at clojure.lang.CljCompiler.Ast.GenContext..ctor(String sourceName,
> String assyName, String extension, String directory, Boolean
> createDynInitHelper) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\CljCompiler\Ast\GenContext.cs:line
> 105
>    at
> clojure.lang.CljCompiler.Ast.GenContext.CreateWithExternalAssembly(String
> sourceName, String assyName, String extension, Boolean createDynInitHelper)
> in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\CljCompiler\Ast\GenContext.cs:line
> 86
>    at
> clojure.lang.CljCompiler.Ast.GenContext.CreateWithExternalAssembly(String
> assyName, String extension, Boolean createDynInitHelper) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\CljCompiler\Ast\GenContext.cs:line
> 91
>    at nleiningen/core$compile_project__1078.doInvoke(Object ) in eval:line
> 233
>    at clojure.lang.RestFn.invoke() in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\RestFn.cs:line 456
>    at nleiningen/core$load_sub_project$fn__788__792.invoke() in eval:line
> 152
>    at nleiningen/core$load_sub_project__795.invoke(Object ) in eval:line
> 144
>    at nleiningen/core$bootstrap_project$fn__826__830.invoke() in eval:line
> 171>
> Clojure 1.4.1
>
> uncommented the local-dependencies in the project file, because
> ClojureClrEx doesn't have a project.clj, only a csproj. Therefore I added
> the ClojureClrEx to the load path
>
> and now the repl works. but compile fails with
>
> Compile path:
> D:\Projects\Playground\clojure\test\clr\clode_org\nleiningen\bin
>
> Unhandled Exception: System.MissingMethodException: Cannot find member
> Compile matching args
>    at CallSite.Target(Closure , CallSite , Object , Object , Object ,
> Object , Object , Object )
>    at CallSite.Target(Closure , CallSite , Object , Object , Object ,
> Object , Object , Object )
>    at
> nleiningen/core$compile_project$fn__959__963.__interop_Compile965(Object ,
> Object __temp_1, Object __temp_2, Object __temp_3, Object __temp_4, Object
> __temp_5)
>    at nleiningen/core$compile_project$fn__959__963.invoke() in eval:line
> 239
>    at nleiningen/core$compile_project__1078.doInvoke(Object ) in eval:line
> 238
>    at clojure.lang.RestFn.invoke() in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\RestFn.cs:line 456
>    at nleiningen/core$_main__1146.doInvoke(Object ) in eval:line 393
>    at clojure.lang.RestFn.invoke(Object arg1) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\RestFn.cs:line 468
>    at clojure.lang.Var.invoke(Object arg1) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\Var.cs:line 741
>    at clojure.lang.AFn.ApplyToHelper(IFn fn, ISeq argList) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\AFn.cs:line 191
>    at clojure.lang.Var.applyTo(ISeq arglist) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\Var.cs:line 874
>    at clojure/core$apply__12458.invoke(Object , Object ) in core.clj:line
> 601
>    at clojure/main$main_opt__263.invoke(Object , Object ) in eval:line 343
>    at clojure/main$main__338.doInvoke(Object ) in eval:line 446
>    at clojure.lang.RestFn.invoke(Object arg1, Object arg2, Object arg3,
> Object arg4, Object arg5) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\RestFn.cs:line 586
>    at clojure.lang.Var.invoke(Object arg1, Object arg2, Object arg3,
> Object arg4, Object arg5) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\Var.cs:line 761
>    at clojure.lang.AFn.ApplyToHelper(IFn fn, ISeq argList) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\AFn.cs:line 208
>    at clojure.lang.Var.applyTo(ISeq arglist) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure\Lib\Var.cs:line 874
>    at Clojure.CljMain.Main(String[] args) in
> D:\work\clojure-clr-1.4.1-fix\Clojure\Clojure.Main\Main.cs:line 34
>
> and I didn't figure out yet what the issue is.
>
> Am Dienstag, 18. Dezember 2012 00:25:51 UTC+1 schrieb Aaron:
>>
>> Ok, sounds good.  I can do that.  I have 2-3 pretty specific changes that
>> I can outline.  I also have one bug fix (support for IntPtr and UIntPtr in
>> HostExpr).  Should I maybe start a separate thread in this group describing
>> the proposed changes or should we do this via JIRA or github?  I'm not
>> really sure whether the best method for doing this is git format-patch
>> (which generates a lot of patches) or some other method.
>>
>>
>> On Mon, Dec 17, 2012 at 4:14 PM, dmiller <dmill...@gmail.com> wrote:
>>
>>>  Aaron,
>>>
>>> tools.logging and nrepl are important.  I'm glad to see the effort.
>>> I haven't forgotten about your single-DLL work.
>>> I'm going to have plenty of time next week if you can get something to
>>> me.
>>>
>>> -David
>>>
>>>
>>>
>>> On Saturday, December 15, 2012 5:15:16 PM UTC-6, Aaron wrote:
>>>>
>>>> Cool.  I'm just seeing this now.  I actually spent some time a while
>>>> back getting a very simple nleiningen working in ClojureCLR.  I had nuget
>>>> downloads working and also the ability to AOT compile namespaces and merge
>>>> them into a single DLL.  It's not fully ready for prime time yet though, in
>>>> part because it depends on some custom modifications to the ClojureCLR
>>>> compiler.  In the long run, I'd like to work together on getting a full
>>>> lein clr implementation working.  I'd love to discuss further if you have
>>>> time.
>>>>
>>>> By the way Dave - speaking of custom modifications to ClojureCLR, this
>>>> past week, my colleague and I merged your latest master with our changes (
>>>> https://github.com/**kocubinski**/clojure-clr<https://github.com/kocubinski/clojure-clr>).
>>>>  I hope to put together some formal patches soon which clearly identify the
>>>> changes I'm suggesting for the main compiler.
>>>>
>>>> While we're at it, a few other things I'm working on or have working in
>>>> clojure-clr are:
>>>> tools.logging and pinvoke 
>>>> (https://github.com/aaronc/**Clo**jureClrEx<https://github.com/aaronc/ClojureClrEx>)
>>>> - logging is mostly ported but with only one backend working,
>>>> pinvoke/dllimport works great, but no docs
>>>> a nice interface to WPF 
>>>> (https://github.com/aaronc/**Clo**jureWpf<https://github.com/aaronc/ClojureWpf>)
>>>> - pretty stable, but again no docs yet
>>>> nrepl 
>>>> (https://github.com/aaronc/**too**ls.nrepl/tree/clr<https://github.com/aaronc/tools.nrepl/tree/clr>)
>>>> - needs quite a bit more work
>>>>
>>>> Unfortunately, I haven't been too diligent with documentation, but I
>>>> hope to correct that as time allows.
>>>>
>>>> On Sunday, November 18, 2012 4:03:03 PM UTC-5, Shantanu Kumar wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I pushed lein-clr 0.2.0 
>>>>> https://github.com/**kumar**shantanu/lein-clr<https://github.com/kumarshantanu/lein-clr>
>>>>>  JARs
>>>>> to Clojars a little while ago. The focus of this release is to
>>>>>
>>>>> 1. add dependency support (via NuGet/wget/curl, Leiningen
>>>>> :dependencies)
>>>>> 2. lower the bar to get started with ClojureCLR (with automated
>>>>> download of ClojureCLR)
>>>>> 3. remove the need to call `assembly-load-from` in code
>>>>>
>>>>> The changelog and TODO are here: https://github.com/**kumar**
>>>>> shantanu/lein-clr/blob/**master/**CHANGES.md<https://github.com/kumarshantanu/lein-clr/blob/master/CHANGES.md>
>>>>>
>>>>> I hope this release is usable enough to start building ClojureCLR apps
>>>>> and libraries with it. This is an early project and can certainly use
>>>>> feedback and contribution. Please let me know what you think.
>>>>>
>>>>> Shantanu
>>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>>
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@**googlegroups.com
>>>
>>> For more options, visit this group at
>>> http://groups.google.com/**group/clojure?hl=en<http://groups.google.com/group/clojure?hl=en>
>>>
>>
>>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "Clojure" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/clojure/_7tqNWmQuGU/unsubscribe?hl=en.
> To unsubscribe from this group and all its topics, send an email to
> clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to