You are not logged in.
Pages: 1
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
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
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.
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
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.
::::::::::::::::::::::::::
: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
Pages: 1