You are not logged in.
anyone has made a PKGBUILD for this lang?
http://www.digitalmars.com/d/
http://www.dsource.org/
thx
Offline
# Packager: Dawid Ciezarkiewicz "arael" <arael@fov.pl>
pkgname=dmd
pkgver=0.1
pkgrel=1
pkgdesc="The D Programming Language Compiler"
url="http://www.digitalmars.com/d/"
depends=(gcc)
install=
source=(ftp://ftp.digitalmars.com/$pkgname.zip)
md5sums=()
build() {
cd $startdir/src/
mkdir -p $startdir/pkg/usr/bin/ $startdir/pkg/usr/lib/ $startdir/pkg/etc $startdir/pkg/usr/include/
chmod a+x dmd/bin/dmd dmd/bin/obj2asm dmd/bin/dumpobj
echo '[Environment]' >> $startdir/pkg/etc/dmd.conf
echo 'DFLAGS=-I/usr/include/phobos:/usr/include/dlang/' >> $startdir/pkg/etc/dmd.conf
cp dmd/bin/dmd dmd/bin/obj2asm dmd/bin/dumpobj $startdir/pkg/usr/bin/
cp dmd/lib/libphobos.a $startdir/pkg/usr/lib/
cp -R dmd/src/phobos $startdir/pkg/usr/include/
}
jabber id: arael (at) fov (dot) pl
Offline
thanks arael!
Do you play/program with D?
eitherways, we all welcome Poland in EU!
Offline
The more I use D the more I like it.
jabber id: arael (at) fov (dot) pl
Offline
Oh, almost forgot... I wish you nice olympic games.
jabber id: arael (at) fov (dot) pl
Offline
How exactly do I compile the D compiler, instead of using the provided binaries? I see sources are provided but from the looks of things, there's no makefile or even a README. Lame
Offline
Everything about D is still bit tricky. I would prefer something like "Gnu d compiler" better than DMD.
Anyway I've prepared first custom module PKGBUILD. To store include files somewhere more compatibily I've choosen /usr/include/dlang path. DMD upgrade is needed to make this path added to defualt include list
# Packager: Dawid Ciezarkiewicz "arael" <arael@fov.pl>
pkgname=dui
pkgver=00.14
pkgrel=97
pkgdesc="D Programing Language GUI Toolkit"
url="http://dui.sourceforge.net"
depends=()
makedepends=()
conflicts=()
replaces=()
backup=()
install=
source=(http://belnet.dl.sourceforge.net/sourceforge/dui/${pkgname}_${pkgver}_${pkgrel}.tar.gz)
md5sums=()
build() {
cd $startdir/src/${pkgname}_${pkgver}_${pkgrel}
make
#INC
cd $startdir/src/${pkgname}_${pkgver}_${pkgrel}
mkdir -p $startdir/pkg/usr/include/dlang/
cd src
cp -R * $startdir/pkg/usr/include/dlang/
#LIB
cd $startdir/src/${pkgname}_${pkgver}_${pkgrel}
mkdir -p $startdir/pkg/usr/lib/
cp libdui.a -p $startdir/pkg/usr/lib
}
Don't forget about upgraded dmd PKGBUILD
I need to subscribe to some d-related mailing list or something. Oh and I must finally start to be a Trusted User.
jabber id: arael (at) fov (dot) pl
Offline
Everything about D is still bit tricky. I would prefer something like "Gnu d compiler" better than DMD.
Anyway I've prepared first custom module PKGBUILD. To store include files somewhere more compatibily I've choosen /usr/include/dlang path. DMD upgrade is needed to make this path added to defualt include list
# Packager: Dawid Ciezarkiewicz "arael" <arael@fov.pl> pkgname=dui pkgver=00.14 pkgrel=97 pkgdesc="D Programing Language GUI Toolkit" url="http://dui.sourceforge.net" depends=() makedepends=() conflicts=() replaces=() backup=() install= source=(http://belnet.dl.sourceforge.net/sourceforge/dui/${pkgname}_${pkgver}_${pkgrel}.tar.gz) md5sums=() build() { cd $startdir/src/${pkgname}_${pkgver}_${pkgrel} make #INC cd $startdir/src/${pkgname}_${pkgver}_${pkgrel} mkdir -p $startdir/pkg/usr/include/dlang/ cd src cp -R * $startdir/pkg/usr/include/dlang/ #LIB cd $startdir/src/${pkgname}_${pkgver}_${pkgrel} mkdir -p $startdir/pkg/usr/lib/ cp libdui.a -p $startdir/pkg/usr/lib }
Don't forget about upgraded dmd PKGBUILD
I need to subscribe to some d-related mailing list or something. Oh and I must finally start to be a Trusted User.
the pkgrel is reserved in arch for it's own release-number - use origrel or other variable instead pkgrel if you need it - pkgrel starts at 1 and if the pkg changes, but not the version of the software inside, then pkgrel++ --- in TUR/staging the pkgrel has a s as prefix
you can remove not used specifications:
makedepends=()
conflicts=()
replaces=()
no depends at all?
at least dmd is needed for dui
The impossible missions are the only ones which succeed.
Offline
> the pkgrel is reserved in arch for (...)
:oops: I know ...
> no depends at all?
> at least dmd is needed for dui
These are prealpha PKGBUILD. I've forgotten about it. I'll fix this. Thanks for remind. I'm looking for many things about libaries writen in D - this language seems to be not prepared for packaging at all and this bother me now.
If anyone is interested in any DLang related stuff please post requests here.
jabber id: arael (at) fov (dot) pl
Offline
> the pkgrel is reserved in arch for (...)
:oops: I know ...> no depends at all?
> at least dmd is needed for dui
These are prealpha PKGBUILD. I've forgotten about it. I'll fix this. Thanks for remind. I'm looking for many things about libaries writen in D - this language seems to be not prepared for packaging at all and this bother me now.If anyone is interested in any DLang related stuff please post requests here.
ok, cool
what do you mean with "not prepared for packaging"? bad makefiles? hardcoded paths?
The impossible missions are the only ones which succeed.
Offline
Look for installation guide for DMD. It said to be installed somewhere in home directory. Custom modules seems to follow this convention that D is used now by some interested users .
Another thing is that in C or C++ you've got *.h and *.c files. While installing it's simple to copy just *.h ones. In D you've got only *.d files all the time and have to prepare another ones that could lay in system after installation. I'm looking for a way to strip code from them automagicaly. Or maybe someone/something enlights me in suprising way.
DUI is bit messy for me. On D forum I was told that d include files should be installed directly in /usr/include. But lets look at DUI's src/ - that I assume almost all should be copied (becose author didn't prepared nothing like make install). It has many dirs - not even with some unique names. Storing such include code in one place (event /usr/include/dlang or something) will rapidly cause a dir names conflicts. Storing those files in subdirs - one for every libary - forces user to use other import paths than on tutorials etc.
jabber id: arael (at) fov (dot) pl
Offline
# Packager: Dawid Ciezarkiewicz "arael" <arael@fov.pl>
pkgname=dmd
pkgver=0.95
pkgrel=1
pkgdesc="D Programing Language Compiler"
url="http://www.digitalmars.com/d/"
depends=(gcc)
source=(ftp://ftp.digitalmars.com/$pkgname.zip)
build() {
cd $startdir/src/
mkdir -p $startdir/pkg/usr/bin/ $startdir/pkg/usr/lib/ $startdir/pkg/etc $startdir/pkg/usr/include/
chmod a+x dmd/bin/dmd dmd/bin/obj2asm dmd/bin/dumpobj
echo '[Environment]' >> $startdir/pkg/etc/dmd.conf
echo 'DFLAGS="-I/usr/include/phobos:/usr/include/dlang/"' >> $startdir/pkg/etc/dmd.conf
cp dmd/bin/dmd dmd/bin/obj2asm dmd/bin/dumpobj $startdir/pkg/usr/bin/
cp dmd/lib/libphobos.a $startdir/pkg/usr/lib/
cp -R dmd/src/phobos $startdir/pkg/usr/include/
}
md5sums=('d00dc3739b08a81c841daafb0dfab620')
# Packager: Dawid Ciezarkiewicz "arael" <arael@fov.pl>
pkgname=dlang-sdlport
pkgver=1.2.3
pkgrel=1
pkgdesc="D Programing Language SDL Port"
url="http://int19h.tamb.ru/"
depends=(sdl dmd)
makedepends=(perl)
source=(http://int19h.tamb.ru/files/SDL.zip)
build() {
#INC
cd $startdir/src/
mkdir -p $startdir/pkg/usr/include/dlang/
chmod 0666 *.d
#HACK :/
perl -pi -e 's/import SDL_Keysym/import SDL_keysymf/' SDL_keyboard.d
mv SDL_keysym.d SDL_keysymf.d
cp -R *.d $startdir/pkg/usr/include/dlang/
}
md5sums=('4091a252da5f5559c0257cdb964cd36a')
# Packager: Dawid Ciezarkiewicz "arael" <arael@fov.pl>
pkgname=dlang-dui
pkgver=00.14_97
pkgrel=1
pkgdesc="D Programing Language GUI Toolkit"
url="http://dui.sourceforge.net"
depends=(dmd gtk2)
source=(http://belnet.dl.sourceforge.net/sourceforge/dui/dui_${pkgver}.tar.gz)
build() {
cd $startdir/src/dui_${pkgver}
make
#INC
cd $startdir/src/dui_${pkgver}
mkdir -p $startdir/pkg/usr/include/dlang/
cd src
cp -R `ls | grep -v gameIn4` $startdir/pkg/usr/include/dlang/
#LIB
cd $startdir/src/dui_${pkgver}
mkdir -p $startdir/pkg/usr/lib/
cp libdui.a -p $startdir/pkg/usr/lib
}
md5sums=('adf239006f59ebad01cf81767c996bfa')
jabber id: arael (at) fov (dot) pl
Offline