Sto cercando di creare un PKGBUILD per PhotoFlow, un editor RAW che integra G'MIC, potenzialmente potentissimo, ancora in fase embrionale.
Ma ovviamente, essendo bestia nell'animo, non riesco :asd:
# Maintainer: Darko82 <darko 82 (hat) gmail dotcom>
pkgname=photoflow-git
pkgver=0.2.1
pkgrel=1
pkgdesc="A fully non-destructive photo retouching program providing a complete layer-based workflow including RAW image development"
arch=('any')
url="https://github.com/aferrero2707/PhotoFlow"
license=('GPLv3')
depends=('vips' 'fftw' 'libxml2' 'libtiff' 'libjpeg-turbo' 'exiv2' 'lensfun' 'gtkmm')
makedepends=('git' 'pkg-config' 'automake' 'gtk-doc' 'gobject-introspection-runtime' 'make' 'cmake')
provides=('photoflow-git')
conflicts=('photoflow')
options=()
source=("https://github.com/aferrero2707/PhotoFlow.git")
md5sums=("SKIP")
_gitroot="https://github.com/aferrero2707/PhotoFlow.git"
_gitname="PhotoFlow"
build() {
cd ${srcdir}/
msg "Connecting to the GIT server...."
if [[ -d ${srcdir}/${_gitname} ]] ; then
cd ${_gitname}
git pull origin
msg "The local files are updated..."
else
git clone ${_gitroot}
fi
msg "GIT checkout done."
msg "Starting make for: ${pkgname}"
if [[ -d ${srcdir}/${_gitname}-build ]]; then
msg "Cleaning the previous build directory..."
rm -rf ${srcdir}/${_gitname}-build
fi
git clone ${srcdir}/${_gitname} ${srcdir}/${_gitname}-build
cd ${srcdir}/${_gitname}-build
msg "Starting installation..."
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$pkgdir/usr -DINSTALL_PREFIX=pkgdir/usr/ ./|| return 1
}
package() {
cd "${srcdir}/${_gitname}-build"
make DESTDIR="$pkgdir/usr/" install
}
hai provato a mettere un "#include <stdio.h>" all'inizio del file? :lkof:
tradotto: con i pkgbuild son più bestia di te :asd:
Io non so nemmeno di che parlate -.-
script di compilazione di pacchetti AUR, per archlinux e derivate. scaricano i sorgenti, installano le dipendenze e compilano il pacchetto, che poi viene installato come un normale binario.
Fin lì c'ero, ma non ho idea di come si creino.
La mia logica di Arch è molto semplice, se un pacchetto non si trova con yaourt nome_del_pacchetto non esiste.
Pacchetto nuovo.
Il tizio lavora su OsX e cerca pacchettizzatori per le varie distro.
Peccato abbia beccato me per Arch :asd:
Nuovo PKGBUILD
# Maintainer: Darko82 <darko 82 (hat) gmail dotcom>
pkgname=photoflow-git
pkgver=0.2.1
pkgrel=1
pkgdesc="A fully non-destructive photo retouching program providing a complete layer-based workflow including RAW image development"
arch=('any')
url="https://github.com/aferrero2707/PhotoFlow"
license=('GPLv3')
depends=('vips' 'fftw' 'libxml2' 'libtiff' 'libjpeg-turbo' 'exiv2' 'lensfun' 'gtkmm')
makedepends=('git' 'pkg-config' 'automake' 'gtk-doc' 'gobject-introspection-runtime' 'make' 'cmake')
provides=('photoflow-git')
conflicts=('photoflow')
options=()
source=("https://github.com/aferrero2707/PhotoFlow.git")
md5sums=("SKIP")
_gitroot="https://github.com/aferrero2707/PhotoFlow.git"
_gitname="PhotoFlow"
build() {
cd ${srcdir}/
msg "Connecting to the GIT server...."
if [[ -d ${srcdir}/${_gitname} ]] ; then
cd ${_gitname}
git pull origin
msg "The local files are updated..."
else
git clone ${_gitroot}
fi
msg "GIT checkout done."
msg "Starting make for: ${pkgname}"
cd ${srcdir}/${_gitname}
msg "Starting installation..."
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${pkgdir}/usr -DINSTALL_PREFIX=${pkgdir}/usr ./
}
package() {
cd "${srcdir}/${_gitname}"
make install || return 1
}
Funziona?
Sembrerebbe di sì
Se qualcuno volesse provare basta copiare il PKGBUILD e dare "makepkg -i" dalla stessa directory per compilare e installare
Oppure potete scaricare il pacchetto precompilato da qui
https://dl.dropbox.com/s/pku64e1qpajn0pq/photoflow-git-0.2.1-1-any.pkg.tar.xz?dl=0
Buona cosa, dai :ueue:
Sai che per caricarlo su aur ora devi usare git?
Comunque il precompilato non funzia, ha sè stesso come dipendenza.
:???:
@Cire devi installarlo con l'opzione -U
yaourt -U nomepacchetto
O dato pacman -U, va bene lo stesso?
Sì. È lo stesso
Allora sono io che non sono capace. Guida passo-passo?
@Darko Innazitutto, dovresti modificare questa riga:
source=("https://github.com/aferrero2707/PhotoFlow.git")
in
source=("git+https://github.com/aferrero2707/PhotoFlow.git")
In secondo luogo, manca libgexiv2 nelle dipendenze
Terzo punto:
provides=('photoflow-git')
va modificato in
provides=('photoflow')
Troppa fatica, aspetto che lo metti su AUR
Se sai dove mettere le mani, non più di tanto :asd:
Ho aggiunto un edit al precedente post
Questo tema mi sconfonde. Pensavo m'avesse risposto Darko invece eri tu. :facepalm:
Succede se non si è abituati :drd:
Programma compilato correttamente e installato :tnz:
Citazione di: madnessmike il 22 Settembre 2015, 18:34:16
@Darko
Innazitutto, dovresti modificare questa riga:
source=("https://github.com/aferrero2707/PhotoFlow.git")
in
source=("git+https://github.com/aferrero2707/PhotoFlow.git")
Ok :pipp:
Citazione di: madnessmike il 22 Settembre 2015, 18:34:16
In secondo luogo, manca libgexiv2 nelle dipendenze
Se lo tira exiv2, per questo non lo ho aggiunto
Va messo comunque?
Citazione di: madnessmike il 22 Settembre 2015, 18:34:16
Terzo punto:
provides=('photoflow-git')
va modificato in
provides=('photoflow')
Sicuro? In altri pacchetti ho visto questa differenziazione rispetto a stable o snapshot :pipp:
Grazie mille. Intanto modifico
Citazione di: Darko il 22 Settembre 2015, 20:50:41
Citazione di: madnessmike il 22 Settembre 2015, 18:34:16
@Darko
Innazitutto, dovresti modificare questa riga:
source=("https://github.com/aferrero2707/PhotoFlow.git")
in
source=("git+https://github.com/aferrero2707/PhotoFlow.git")
Ok :pipp:
Se metti nel source solo https, ti scarica https://github.com/aferrero2707/PhotoFlow.git, ossia la pagina html del progetto :asd:
Citazione di: Darko il 22 Settembre 2015, 20:50:41
Citazione di: madnessmike il 22 Settembre 2015, 18:34:16
In secondo luogo, manca libgexiv2 nelle dipendenze
Se lo tira exiv2, per questo non lo ho aggiunto
Va messo comunque?
https://www.archlinux.org/packages/extra/x86_64/exiv2/
Niente libgexiv2 nelle dipendenze di exiv2
Citazione di: Darko il 22 Settembre 2015, 20:50:41
Citazione di: madnessmike il 22 Settembre 2015, 18:34:16
Terzo punto:
provides=('photoflow-git')
va modificato in
provides=('photoflow')
Sicuro? In altri pacchetti ho visto questa differenziazione rispetto a stable o snapshot :pipp:
Il provides come ho impostato io ha senso, perché se un pacchetto richiede "photoflow", anche se tu hai "photoflow-git", viene soddisfatta la dipendenza. :ysy:
Yep, cambio tutto. È libgexiv2 che dipende da exiv2, non il contrario. aggiungo
Ok, fatto tutto e ricompilato
Dovrebbe andare meglio ora.
Grazie
@madnessmike https://dl.dropboxusercontent.com/u/243865/photoflow-git-0.2.1-1-x86_64.pkg.tar.xz
https://dl.dropboxusercontent.com/u/243865/PhotoFlow_PKGBUILD
De nada ;D
Proverò a ricompliare domani, per ora non ho tempo.
@madnessmike sistemato un po' il tutto.
Eliminata completamente la dicitura git, dal momento che il tizio mi ha detto che quel branch del git è stable. I commit vanno da un'altra parte, per poi fare un merge quando c'è la release stable.
Ora, come cazzarola si infila in AUR, in maniera da avere tutto a portata di pacman?
Da che mondo e mondo, se la release è stabile, lo sviluppatore dovrebbe creare dei .tar.gz coi sorgenti :pipp:
Se i sorgenti sono comunque su git, la desinenza "-git" andrebbe lasciata.
E per caricare in aur, c'è la somma wiki:
https://wiki.archlinux.org/index.php/Arch_User_Repository#Sharing_and_maintaining_packages
Devi imparare ad usare git :asd:
Lo sviluppatore è poco avvezzo al mondo linux, sviluppando su e per osx
Però il software è completamente open e, onestamente, le premesse sono serie (G'MIC è il top nell'editing fotografico)
Citazione di: madnessmike il 23 Settembre 2015, 13:19:58
Devi imparare ad usare git :asd:
:fuuu:
Porca troia non ci capisco un cazzo :fuuu:
È più facile un trapianto di testa :lki:
Ti darei volentieri una mano, ma oggi non ne ho proprio voglia.
Quando avrò il computer vedrò che posso fare. Per ora chiedi a
@turlando.