Oto zawartość pliku źródłowego Cygports:
Zrobiłbyś lepiej myśleć o nim jako o Cygwin pliku źródłowego pakietu.
cygport
to po prostu narzędzie do automatyzacji tworzenia pakietów binarnych i źródłowych Cygwin. Jest to podstawowe narzędzie dostępne, ale w przeciwieństwie do innych systemów pakujących, naprawdę nic nie zmusza go do korzystania z niego. Jest całkiem możliwe, aby zbudować pakiet Cygwin całkowicie ręcznie, ponieważ jest to nic więcej niż plik archiwalny, który Cygwin's setup.exe
może ślepo rozpakować do katalogu głównego Cygwin (zazwyczaj c:\cygwin
) z oczekiwaniem, że spowoduje to umieszczenie plików pakietu w rozsądnych lokalizacjach .
Przed cygport
istniały ludzie, którzy stworzyli własne systemy pakowania ad hoc. Wielu opiekunów pakietów Cygwin nadal używa tych narzędzi, które stworzyli. (Twój naprawdę dołączony, dwa z moich trzech pakietów używają cygport
, ale trzeci nadal używa niestandardowego systemu kompilacji.)
Ostatecznie, chcesz przeczytać instrukcję cygport
, w /usr/share/doc/cygport/manual.html
.
(Tak, wiem, odpowiedzi "RTFM" są tu mile widziane.Ale, jak ten, który obecnie utrzymuje dwa cygport
pakiety oparte w repozytorium oficjalny pakiet Cygwin, proszę mi wierzyć, kiedy mówię, że instrukcja jest nadal jeden z najlepszych dostępnych zasobów na ten temat.)
jaki sposób. plik cygport pomoże mi uruchomić odpowiednie opcje w ./configure?
Jak dowiedział się za pośrednictwem innych środków, to najpierw trzeba zmienić wartość CYGCONF_ARGS
w pliku .cygport
.
Najprostszym możliwym krokiem po tym jest cygport gedit-3.4.2-1.cygport all
. To próbuje odbudować wszystkie pakiety binarne w jednym kroku. Tworzy także nowy pakiet źródłowy zawierający zaktualizowane pliki .cygport
i poprawki.
Jeśli coś wybucha w procesie budowania all
, to zwykle szybciej, aby przełączyć się za pomocą poleceń zawartych podrzędne przez all
zamiast całkowicie ponowne uruchomienie procesu. Krok all
po prostu działa dla Ciebie w tej kolejności: prep
, i i finish
. Na przykład, jeśli all
ulegnie awarii podczas etapu kompilacji, prawdopodobnie nie będzie potrzeby powtarzania kroku prep
.
(Jest wyjątkowo rzadkością cygport
lub powszechny system budowania zniszczyć drzewo budowania, zmuszając do ponownego biegu prep
. Znacznie częściej, skończyć się konieczności ponownego zrobić prep
gdy ręcznie wrak z zbudować drzewo, starając się uzyskać nowy pakiet budować po raz pierwszy i trzeba zacząć od nowa.)
na przykład w gedit jeśli nie podasz --disable-zaklęcie to nie przejdzie z powodu do błędu.
Prawdopodobnie można naprawić poprzez zainstalowanie pakietu libaspell-devel
z oficjalnego repozytorium pakietu Cygwin z setup.exe
.
Osobiście nie wyłączałbym żadnej funkcji, chyba że chodziło o instalowanie nieoficjalnych pakietów, takich jak te z projektu Cygwin Ports. [*] Dobrze jest mieć repozytorium Cygwin Ports, ale ponieważ zawiera ono tak wiele pakietów, instalując jeden może w końcu stworzyć sytuację "zainstaluj świat": pakiet A zależy od pakietów B, C i D, a C zależy od E, F, G, H i G zależy od I, J, K i ... Zależności hierarchie w ramach repozytorium pakietów Cygwin wydają się być bardziej płaskie i węższe niż repozytorium Cygports.
Czy istnieje sposób, w jaki możemy wykorzystać plik wykonywalny cygport do zbudowania cygport i zmienić również prefiks?
się domyślić, że po prostu dodać --prefix=/my/private/program/tree
do CYGCONF_ARGS
, ufam.
[*] Jeśli czujesz się zagubiony "Cygwin Ports" i cygport
, podobieństwo nazw nie jest przypadkowa. cygport
to narzędzie stworzone przez Yaakova Selkowitza dla siebie podczas tworzenia repozytorium pakietów Cygwin Ports. Później stało się dość popularne wśród innych opiekunów pakietów Cygwin, że wypchnął większość konkurencyjnych systemów kompilacji.
Naprawdę wspaniała odpowiedź.Użyłem go już 5 razy. –