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.