NUnit (http://www.nunit.org) is a unit-testing framework for all .Net languages. There is a port to the Mono implementation on Linux. The application is not part of current Mono builds any more. So we need a new ebuild for this!
For what I've seen in the nunit source for mono. The build of nunit is made using Nant. So the nant package must be added to portage before this one
Created attachment 42591 [details] NUnit ebuild Here's the NUnit ebuild I have going so far. Seems to mostly work, but is having some problems related to some windows Dll that's getting PInvoked. You can check for the latest work to the build on my overlay at http://dev.gentoo.org/~latexer/files/overlays/mono/
*** Bug 90919 has been marked as a duplicate of this bug. ***
Created attachment 91747 [details] Updated ebuild for nunit Updated the ebuild posted to work with nunit-2.2.8. Not certain where to install it to since it doesn't appear to be able to be built as strong.
This would still be a very useful package to have available. Nunit 2.4.1 was released recently http://sourceforge.net/projects/nunit/
Apparently 2.4.1 is rather up to date. With gentoo provideded mono 1.2.4 and nant 0.85 all I simply had to do was unzip, cd src nant mono-2.0 release build and all was compiled no errors *looking into how to make an updated build script from the ones provided*
the nunit-gui seems to have a reference that the mono team have not accomplished yet. But I ran the nunit-console.exe (arguably the more useful binary ) on a test of their own product and it worked just fine. DLLs and console tool seem adaquate.
Ebuild for 2.4.8 available here. http://github.com/alistair/ironruby-overlay/blob/master/dev-dotnet/nunit/nunit-2.4.8.ebuild Needs testing (especially the gui parts).
Thanks a lot Alistair :-D
Nunit is now up to 2.6.4. Since I now need it for something I'm working on (and the version included with mono 3.12 is outdated) I suppose I'll see if the ebuild will work with the newer version. Is the delay here just not enough interest?
I haven't gotten very far. nant 0.92 simply failed to merge, but 0.93_pre20131231 installed without complaint. In terms of nunit, the link in Comment 8 is a 404. I found an ebuild for nunit-2.5.3.9345 in the ng4-experimental overaly, and tried modifying it for 2.6.3. (There is no source zip file for 2.6.4.) The compile fails with a message about not finding a *.build file. It seems like the build mechanism has changed, and perhaps also how to call nant. I'll keep playing to see if I can get any further, but I'm not hopeful unless someone can provide some hints.
Alright, so there are some old overlays here: http://gpo.zugaina.org/dev-dotnet/nunit/Dep that have ebuilds. Unfortunately, they don't work for us because we currently need 2.6.4. On top of this, NUnit v2 has been deprecated, but right before it was all of the source code was moved from Launchpad: https://launchpad.net/nunitv2 To Github: https://github.com/nunit/nunitv2 Version 2.6.4 has the last version before everything was moved to v3. Now, here's a mostly working, but broken ebuild for 2.6.4 based on the above ebuilds: $ cat nunit-2.6.4.ebuild # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="2" inherit mono DESCRIPTION="This is a sample skeleton ebuild file" HOMEPAGE="http://nunit.sf.net/" SRC_URI="https://github.com/nunit/nunitv2/archive/${PV}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64" IUSE="debug" DEPEND=">=dev-lang/mono-1.0 dev-dotnet/nant app-arch/unzip" S="${WORKDIR}/nunitv2-${PV}" src_compile() { if use debug ; then ./build debug || die else ./build release || die fi } src_install() { local builddir="" use debug && builddir="debug" || builddir="release" dodoc ${WORKDIR}/doc/*.txt dohtml ${WORKDIR}/doc/*.html insinto /usr/share/${P}/samples doins -r ${WORKDIR}/samples/* insinto /usr/lib/nunit/ buildpath=${WORKDIR}/src/build/mono/1.0/${builddir} doins ${buildpath}/*.{config,dll,mdb,exe} into /usr dobin ${FILESDIR}/nunit-console } Now, this ebuild *will* break with the following message: build: [csc] Compiling 165 files to '/var/tmp/portage/dev-dotnet/nunit-2.6.4/work/nunitv2-2.6.4/builds/mono/3.5/release/framework/nunit.framework.dll'. [csc] Cannot open assembly '/usr/lib/mono/3.5/gmcs.exe': No such file or directory. Currently, gmcs is located at /usr/bin/gmcs. However, we can't just symlink this to /usr/lib/mono/3.5/gmcs.exe because otherwise we get the error message build: [csc] Compiling 165 files to '/var/tmp/portage/dev-dotnet/nunit-2.6.4/work/nunitv2-2.6.4/builds/mono/3.5/release/framework/nunit.framework.dll'. [csc] Cannot open assembly '/usr/lib/mono/3.5/gmcs.exe': File does not contain a valid CIL image. On my system, /usr/bin/gmcs is the only gmcs, so something is funny with the Gentoo Mono builds. Currently, I'm using 3.12.1 (which, I could not build from 2.10.9-r2, but had to first emerge 3.2.8 then 3.12.1.) Anyway, hopefully this is some progress, but it's still broken. For the record, NUnit 2.6.4 is currently required for the recently bumped fsharp of 4.0.0.3. In fact, I'm pretty sure it's required for all kinds of Mono stuff, so I think there's some incentive to get a working ebuild sooner rather than later.
*** Bug 278162 has been marked as a duplicate of this bug. ***