You are not logged in.

#1 2003-10-06 02:07:42

contrasutra
Member
From: New Jersey
Registered: 2003-07-26
Posts: 507

Mono

MONO is an open source version of .NET.

# Contributor: Ben <contrasutra@myrealbox.com>
pkgname=mono
pkgver=0.28
pkgrel=1
pkgdesc="C# Runtime and Compiler"
depends=('glib2')
source=(http://www.go-mono.com/archive/$pkgname-$pkgver.tar.gz)
url="http://www.go-mono.com"
build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make prefix=$startdir/pkg/usr install
}


"Contrary to popular belief, penguins are not the salvation of modern technology.  Neither do they throw parties for the urban proletariat."

Offline

#2 2003-10-06 12:54:30

neri
Forum Fellow
From: Victoria, Canada
Registered: 2003-05-04
Posts: 552

Re: Mono

contrasutra wrote:

MONO is an open source version of .NET.

# Contributor: Ben <contrasutra@myrealbox.com>
pkgname=mono
pkgver=0.28
pkgrel=1
pkgdesc="C# Runtime and Compiler"
depends=('glib2')
source=(http://www.go-mono.com/archive/$pkgname-$pkgver.tar.gz)
url="http://www.go-mono.com"
build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make prefix=$startdir/pkg/usr install
}

Hi,

I messing around with that beast for quite a while now, and there is no
way to get it working without tweaking makepkg. Your package has the
same problem like my one did: type "mcs" (the C#-compiler) and see the
error. This corelib.dll is indeed installed, but, the stripping process of
makepkg corrupted it. Now pacman-package (where makepkg is included)
has a --nostrip option, but it doesn't help much. Why?

mono package consists of two parts: the mono runtime which are native
linux sources which get compiled on your box. If you don't strip them you
will end up with a 20MB package. The second part are included *.exe and
*.dll which are only copied by make install. These files are corrupted if
you strip them. makepkg will strip them, that is why your package doesn't
work.

The way between that is to tweak makepkg:
find the lines where stripping happens. Currently line (496-502)

# strip binaries
if [ "$NOSTRIP" = "0" ]; then
    msg "==> Stripping debugging symbols from libraries..."
    find pkg/{,usr,usr/local,opt/*}/lib -type f -exec /usr/bin/strip --strip-debug '{}' ; 2>&1
    msg "==> Stripping symbols from binaries..."
    find pkg/{,usr,usr/local,opt/*}/{bin,sbin} -type f -exec /usr/bin/strip '{}' ; 2>&1
fi

the find-commands need to be extended, that they exclude all *.dll and
*.exe files. (It also works for the codecs package since windows libraries and executables seem to be generally damaged by stripping) find
arguments are combined by logical "and".

# strip binaries
if [ "$NOSTRIP" = "0" ]; then
    msg "==> Stripping debugging symbols from libraries..."
    find pkg/{,usr,usr/local,opt/*}/lib -type f -not -name '*.dll' -exec /usr/bin/strip --strip-debug '{}' ; 2>&1
    msg "==> Stripping symbols from binaries..."
    find pkg/{,usr,usr/local,opt/*}/{bin,sbin} -type f  -not -name '*.exe' -exec /usr/bin/strip '{}' ; 2>&1
fi

This should help. Well it is up to the developers to include that generally. It
probably needs some further investigation whether this hack has impact
on the functionality of makepkg.

But, nevertheless, good work, man.

bye neri

Offline

#3 2003-10-06 16:25:05

contrasutra
Member
From: New Jersey
Registered: 2003-07-26
Posts: 507

Re: Mono

Yeah, in the FILELIST is said that corlib.dll was in the package,so I figured everything was alright.

Oh well. Ive got dialup,so I dont have the bandwidth to upload a fixed package. sad


"Contrary to popular belief, penguins are not the salvation of modern technology.  Neither do they throw parties for the urban proletariat."

Offline

#4 2003-10-06 17:03:25

neri
Forum Fellow
From: Victoria, Canada
Registered: 2003-05-04
Posts: 552

Re: Mono

contrasutra wrote:

Yeah, in the FILELIST is said that corlib.dll was in the package,so I figured everything was alright.

Oh well. Ive got dialup,so I dont have the bandwidth to upload a fixed package. sad

::::::::::::::::::::::::::
:EDIT
The rebuilt package is mono-028.tar.gz
the other one is mono-0.28-1.tar.bz2 and can be deleted I think
::::::::::::::::::::::::::

I have broadband here I will do that for you

bye neri

Offline

Board footer

Powered by FluxBB