Wie kann ich nach Haskell-Paketversionen in ./configure suchen?

8

Wie kann ich configure anweisen, nach version >= x.y eines bestimmten Haskell-Pakets zu suchen?

Danke,

    
Andrea Spadaccini 04.10.2011, 09:29
quelle

5 Antworten

5

Verwenden Sie cabalvchk: Ссылка

Um beispielsweise zu überprüfen, dass die Version von Parsec & gt; = 0,4 ist, könnten Sie Folgendes ausgeben:

%Vor%

Der Rückkehrcode ist Null, wenn die Versionsbeschränkung erfüllt ist und andernfalls nicht Null. Die Versionsbeschränkung kann alles sein, was Cabal versteht. Ein optionaler dritter Parameter kann nicht leer sein, um eine ausführliche Ausgabe anzufordern.

    
KQ. 11.10.2011, 08:36
quelle
3

Ich weiß nicht viel über configure ; Kannst du es bitten, einen bestimmten Befehl auszuführen? Wenn ja, dann sollte ghc-pkg latest Ihnen helfen. Zum Beispiel, hier ist ein Lauf auf meinem Rechner für das Paket zlib :

%Vor%

Das --global sollte für systemweite Installationen verwendet werden, und überhaupt kein Flag für benutzerspezifische Installationen. Das Flag --user sollte nur verwendet werden, wenn Sie überprüfen möchten, ob ein Benutzer eine lokale Installation eines Pakets hat (das das globale Paket überschreiben kann).

Wenn Sie keinen Grund haben, dies nicht zu tun, empfehle ich configure zugunsten von cabal . Für cabal lautet die Lösung hier, zuerst cabal init in Ihrem Projektverzeichnis anzulegen, dann überprüfen Sie, ob Sie in der erstellten Datei .cabal eine Zeile wie diese haben:

%Vor%

Die cabal -Werkzeugkette ist der Standard für Haskell-Projekte (weil sie viele Dinge automatisiert und vereinfacht, einschließlich Abhängigkeitsverfolgung). Sie können auch cabal anfordern, um configure aufzurufen, wenn andere Abhängigkeiten vorhanden sind. Öffnen Sie eine separate Frage, wenn Sie weitere Informationen dazu wünschen.

    
Daniel Wagner 04.10.2011 17:10
quelle
1

Vielleicht ist die bessere Frage: sollten Sie? Die Suche nach einer bestimmten Versionsnummer ist eines der großen Argumente in der Autoconf-Welt, und der allgemeine Gewinner der Debatte ist die Seite, auf der steht, dass man es nie tun sollte. Welche spezifische Eigenschaft von Haskell benötigen Sie? Testen Sie das. Nehmen wir als einfaches Beispiel (nicht mit Haskell verwandt) an, dass Ihr Programm inotify verwendet, damit die Konfiguration testen kann, ob es verfügbar ist. Sie könnten einfach testen, ob die Kernel-Version & gt; 2.6.13, aber dann, wenn Joe versucht, Ihr Programm auf seiner 2.4.xx Version zu bauen, in der er inotify Fähigkeit gepatched hat, wird er wirklich irritiert sein, dass Ihr Programm nicht funktioniert.

Es ist dir egal, ob Haskell & gt; x.y ist verfügbar. Stattdessen gibt es eine bestimmte Eigenschaft von Haskell, die Sie möchten, die in x.y eingeführt wurde; Testen Sie diese Funktion.

    
William Pursell 09.10.2011 21:12
quelle
0

Mit ghc-pkg list können Sie eine Liste der installierten Versionen eines Pakets in aufsteigender Reihenfolge abrufen. Sie sollten hoffentlich in der Lage sein, diese Liste zu filtern, indem Sie nach einer Übereinstimmung suchen. (Ich weiß nicht, wie man das mit configure tut, tut mir leid).

%Vor%     
hammar 04.10.2011 17:49
quelle
0

Versuchen Sie etwas wie folgt:

%Vor%     
Jack Kelly 08.10.2011 21:10
quelle

Tags und Links