Re: Software als PORT einpflegen: Wie erzwingen, daß PKGCONFDIR respektiert wird?

From: Lars Engels <lars.engels(at)0x20.net>
Date: Sat, 20 Nov 2010 17:07:34 +0100

On Thu, Nov 18, 2010 at 03:22:50PM +0100, O. Hartmann wrote:
> Hallo.
>
> Ich übe mich in der Portierung von Software, die nicht ganz alltäglich
> ist und vornehmlich im wissenschaftlichen Sektor Verwendung findet. Ein
> solches Softwarepaket erfordert die xerces-c-Bibliothek in der Version
> 3.1.1, die man auf der Apache Website bereits finden kann. FreeBSD hat
> allerdings nur Version 2.7 als xerces-c2 oder 2.8 als xerces-c2-devel.
> Ich dachte mir, es sei vielleicht opportun einen Port 'xerces-c3' zu
> bauen, allerdings stoße ich nun bei meinen Erstversuchen auf schier
> unüberwindliche Probleme.
>
> a) Nahezu alle Ports, die pkg-config verwenden, scheinen ohne weiteres
> Zutun die Umgebungsvariable PKGCONFDIR (die scheinbar nur in
> Mk/bsd.scon.mk gesetzt wird) richtig zu setzen, nämlich auf
> ${PREFIX}/libdata/pkgconf. Ich habe leider keine Ahnung (und vor allem
> keine Hinweise gefunden), wie man 'configure' dauz zwingen kann, diese
> Variable zu respektieren. Sie ienfach mit "CONFIG_ENV+=" setzen reicht
> irgendwie nicht und "CONFIG_ARGS+=" läßt mir leider auch keinen
> Spielraum, da ich nicht sehe, welches 'configure'-tag hier geschaltet
> werden muß (--datadir=${PKGCONFDIR}?).
> Jedenfalls landet 'xerces-c.pc' stets in /usr/local/lib/pkgconf/ statt
> in /usr/local/libdata/pkgconf.
>
> b) Das FreeBSD-Paradigma will, daß Bibliotheken am Ende ihres Namens die
> Versionsnummer tragen. Also libxerces-c.so.27 oder wie in meinem Falle
> nun libxerces-c.so.31. Wie kann man solch Benamungen erzwingen? Bei mir
> ist PORTVERSION=3.1.1, im Procedere wird daraus die Bibliothek
> 'xerces-c-3.1.so', das ist aber nicht korrekt. Ein korrekter
> symbolischer Link wird aber dann auch gesetzt, so daß ich annehme, daß
> das Framework weiß, wie zu installieren ist, man muß ihm nur an der
> richtigen Stelle mitteilen, wie der endgültige Bibliotheksname
> auszusehen hat.
>
> c) Mit dem bisherigen Installationsprozedere wird der Port in Konkurrenz
> zum Port xerces-c2 installiert, kann man diesen Port elegant als
> parallele Installation enrichten? Es scheint, als würde mit dem neuen
> Xerces-C ein neues Schema eingeführt, Tools und Bibliotheken sind
> getrennt, so daß gleich für mich die Arbeit mit einem 'Metaport'
> aufkommen würde - also nur noch frustrierender für einen Anfänger.
>
> Hintergrund: NASA und USGS bieten einige für uns sehr wichtige Werkzeuge
> im Bereich der Astro-Geo-Wissenschaften. Händisch kann ich die Software
> (zum Beispiel ISIS3 des USGS) einrichten und sie läuft, aber mit der
> neuen Version des ISIS3 Paketes werden funkelnagelneue Bibliotheken
> benutzt. ISIS3 geht recht pervers vor: Es gibt einen Ordner 'ISIS3PRTY',
> in dem die entwickler für LinSux-Distros und OSX vorkompilierte
> Bibliotheken anbieten, unabhängig davon, ob das System nun schon eine
> volle Qt4-Installation, als Beispiel, hat oder nicht. Man gibt sich
> seitens des Help-Forums auch ziemlich rigide, der Download erfolgt noch
> vie rsync sehr benutzerunfreudlich. Nun, Diese Software will xerces-c3,
> Xalan-c, aus den Ports, will aber xerces-c2 und schon ist ein Konflikt
> gegeben. Ohne xerces-c3 aber kompiliert die neue Software nicht. Ich
> habe jetzt die Faxen dicke und will mir eine eigene Port-Kollektion
> bauen, um das ständige Patchen etc. loszuwerden. Die Software muß an
> einigen Stellen relativ trivial auf FreeBSD Spezifika angepaßt werden,
> was aber fü¶ Entwickler nich wild sein sollte. Es hängt wieder mal an
> Kleinigkeiten ...

Falls sich hier keine Antwort finden lassen sollte, frag mal auf
ports(at)freebsd.org nach, das ist fuer Ports die beste Adresse.

Cheers
Lars


To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 20 Nov 2010 - 17:07:35 CET

search this site