# [Ebuild] ebuild de kipi-plugins 0.2.0 beta5 (résolu)

## titoucha

Bonjour, je tente de créer un ebuild pour le programme kipi-plugins 0.2.0 beta5, mais je butte sur l'erreur suivante: 

```
-- Check Kexiv2 library in local sub-folder...                                                                                         

-- Check Kexiv2 library using pkg-config...                                                                                            

-- WARNING: you are using the obsolete 'PKGCONFIG' macro use FindPkgConfig                                                             

-- PKGCONFIG() indicates that libkexiv2 is not installed (install the package which contains libkexiv2.pc if you want to support this feature)                                                                                                                                

CMake Error at /usr/kde/4.2/share/apps/cmake/modules/FindKexiv2.cmake:91 (message):                                                    

  Could NOT find libkexiv2 header files                                                                                                

Call Stack (most recent call first):                                                                                                   

  CMakeLists.txt:37 (FIND_PACKAGE)                                                                                                     

-- Configuring incomplete, errors occurred!

```

 Je précise que j'ai installé la version 4.2 beta2 de kde provenant de kde.crazy et que j'utilise la librairie libkexiv2 en version 4.1.85 qui est slotée en 4.2.

Pour finir l'ebuild (soyé indulgent je débute dans les ebuild): 

```
EAPI="2"

inherit kde4-base eutils

MY_P=${P/_/-}

S=${WORKDIR}/${MY_P}

DESCRIPTION="Plugins for the KDE Image Plugin Interface (libkipi)."

HOMEPAGE="http://www.kipi-plugins.org/"

SRC_URI="mirror://sourceforge/kipi/${MY_P}.tar.bz2"

SLOT="0"

LICENSE="GPL-2"

KEYWORDS="~amd64"

IUSE="calendar opengl gphoto2 ipod tiff"

DEPEND="calendar? ( || ( kde-base/libkcal:4.2 kde-base/kdepim:4.2 ) )

                kde-base/libkipi:4.2

                kde-base/libkexiv2:4.2

                kde-base/libkdcraw:4.2

                gphoto2? ( >=media-libs/libgphoto2-2.3.1 )

                >=media-libs/imlib2-1.1.0

                opengl? ( virtual/opengl )

                tiff? ( >=media-libs/tiff-3.6 )

                >=dev-libs/libxslt-1.1

                ipod? ( >=media-libs/libgpod-0.4.2 )"

RDEPEND="${DEPEND}

                >=media-gfx/imagemagick-6.2.4

                >=media-video/mjpegtools-1.6.0

                media-sound/vorbis-tools

                virtual/mpg123"

pkg_setup(){

        if ! built_with_use media-libs/imlib2 X ; then

                eerror "X support is required in media-libs/imlib2 in order to be able"

                eerror "to compile media-plugins/kipi-plugins. Please, re-emerge"

                eerror "media-libs/imlib2 with the 'X' USE flag enabled."

                die

        fi

}

src_compile() {

        cd ${S}

        mkdir build

        cd build

        cmake .. \

       -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` \

       -DCMAKE_BUILD_TYPE=release

}
```

----------

## guilc

De mémoire, la version actuelle des kipi-plugins (et digikam et libkexiv) ne sont pas compatible avec kde-4.2, mais seulement avec kde-4.1.

Il me semble avoir vu passer ça sur la liste de digikam-devel il y a quelques temps.

En effet, ces version correspondent à la branche "stable", donc 4.1, pas 4.2.

Il y a des chances que le problème vienne de là.

----------

## titoucha

Je vais regarder pour cette incompatibilité, mais par contre digikam (version 0.10.0 beta6) et libkexiv2 sont compatible avec kde 4.2, j'utilise digikam souvent et il tourne nickel sous 4.2.

----------

## titoucha

J'ai réussi à compiler kipi-plugins, il fallait rajouter 

```
-DCMAKE_LIBRARY_PATH=/usr/kde/4.2/lib64/
```

 à la commande cmake

----------

## titoucha

J'ai maintenant une autre erreur: 

```
-- Installing: /usr/kde/4.2/lib64/libkipiplugins.so.1.0.0                                                                              

ACCESS DENIED  unlink:    /usr/kde/4.2/lib64/libkipiplugins.so.1.0.0                                                                   

ACCESS DENIED  open_wr:   /usr/kde/4.2/lib64/libkipiplugins.so.1.0.0                                                                   

CMake Error at common/libkipiplugins/cmake_install.cmake:42 (FILE):                                                                    

  file INSTALL cannot copy file                                                                                                        

  "/var/tmp/portage/media-plugins/kipi-plugins-0.2.0_beta5/work/kipi-plugins-0.2.0-beta5/build/lib/libkipiplugins.so.1.0.0"            

  to "/usr/kde/4.2/lib64/libkipiplugins.so.1.0.0".                                                                                     

Call Stack (most recent call first):                                                                                                   

  common/cmake_install.cmake:37 (INCLUDE)                                                                                              

  cmake_install.cmake:37 (INCLUDE)

make: *** [install] Erreur 1

>>> Source compiled.

--------------------------- ACCESS VIOLATION SUMMARY ---------------------------

LOG FILE = "/var/log/sandbox/sandbox-23019.log"

unlink:    /usr/kde/4.2/lib64/libkipiplugins.so.1.0.0

open_wr:   /usr/kde/4.2/lib64/libkipiplugins.so.1.0.0

--------------------------------------------------------------------------------

```

 Là je ne comprend pas trop le fichier libkipiplugins.so.1.0.0 existe et les permissions sont bonnes.

----------

## titoucha

Bon j'ai réussi à ce que la compilation et l'installation fonctionne mais j'ai toujours un problème il ne m'installe pas les fichier dans le bon répertoire.

Je vous met l'ebuild, ce serais super si quelqu'un pouvait maider.

```
EAPI="2"

KDE_MINIMAL="4.1"

inherit kde4-base 

MY_P=${P/_/-}

S=${WORKDIR}/${MY_P}

DESCRIPTION="Plugins for the KDE Image Plugin Interface (libkipi)."

HOMEPAGE="http://www.kipi-plugins.org/"

SRC_URI="mirror://sourceforge/kipi/${MY_P}.tar.bz2"

SLOT="4.2"

LICENSE="GPL-2"

KEYWORDS="~amd64"

IUSE="calendar opengl gphoto2 ipod tiff"

DEPEND="calendar? ( || ( kde-base/libkcal:4.2 kde-base/kdepim:4.2 ) )

      kde-base/libkipi:4.2

      kde-base/libkexiv2:4.2

      kde-base/libkdcraw:4.2

      gphoto2? ( >=media-libs/libgphoto2-2.4.3 )

      >=media-libs/imlib2-1.4.2

      opengl? ( virtual/opengl )

      tiff? ( >=media-libs/tiff-3.8.2 )

      >=dev-libs/libxslt-1.1.24

      ipod? ( >=media-libs/libgpod-0.4.2 )"

RDEPEND="${DEPEND}

      >=media-gfx/imagemagick-6.4.5.7

      >=media-video/mjpegtools-1.9.0_rc3

      media-sound/vorbis-tools

      virtual/mpg123"

pkg_setup(){

   if ! built_with_use media-libs/imlib2 X ; then

      eerror "X support is required in media-libs/imlib2 in order to be able"

      eerror "to compile media-plugins/kipi-plugins. Please, re-emerge"

      eerror "media-libs/imlib2 with the 'X' USE flag enabled."

      die

   fi

}

src_configure() {

   kde4-base_src_configure

}

```

PS: Je suis à la recherche de docs sur comment faire des ebuilds car la méthode de regarder les autres ebuilds à ces limite.

PS2: Il me semble que la liste française est en grosse perte de vitesse, il n'y a presque plus de questions posées   :Crying or Very sad: 

----------

## titoucha

Après lecture du fichier kde4-base.eclass j'ai trouvé la fonction qui va bien, elle se nome PREFIX.

Donc mon ebuild fonctionne enfin comme je le veux, mais il est de loin pas parfait car il ne fonctionne que pour la version 4.2 de Kde (de l'overlay kde-crazy) et les toutes dernières versions des librairies, je ne l'ai testé que pour l'architecture amd64.

Une dernière chose il faut avoir compilé kde avec le flag kdeprefix.

Je le donne quand même si sa peut intéressé quelqu'un. 

```
# Distributed under the terms of the GNU General Public License v2

# $Header: $

EAPI="2"

inherit kde4-base 

MY_P=${P/_/-}

S=${WORKDIR}/${MY_P}

DESCRIPTION="Plugins for the KDE Image Plugin Interface (libkipi)."

HOMEPAGE="http://www.kipi-plugins.org/"

SRC_URI="mirror://sourceforge/kipi/${MY_P}.tar.bz2"

SLOT="4.2"

LICENSE="GPL-2"

KEYWORDS="~amd64"

IUSE="calendar opengl gphoto2 ipod tiff"

PREFIX="/usr/kde/4.2"

DEPEND="calendar? ( || ( kde-base/libkcal:4.2 kde-base/kdepim:4.2 ) )

      kde-base/libkipi:4.2

      kde-base/libkexiv2:4.2

      kde-base/libkdcraw:4.2

      gphoto2? ( >=media-libs/libgphoto2-2.4.3 )

      >=media-libs/imlib2-1.4.2

      opengl? ( virtual/opengl )

      tiff? ( >=media-libs/tiff-3.8.2 )

      >=dev-libs/libxslt-1.1.24

      ipod? ( >=media-libs/libgpod-0.4.2 )"

RDEPEND="${DEPEND}

      >=media-gfx/imagemagick-6.4.5.7

      >=media-video/mjpegtools-1.9.0_rc3

      media-sound/vorbis-tools

      virtual/mpg123"

pkg_setup(){

   if ! built_with_use media-libs/imlib2 X ; then

      eerror "X support is required in media-libs/imlib2 in order to be able"

      eerror "to compile media-plugins/kipi-plugins. Please, re-emerge"

      eerror "media-libs/imlib2 with the 'X' USE flag enabled."

      die

   fi

}

src_configure() {

   kde4-base_src_configure

}

```

----------

