LINUX.ORG.RU

Нужна помощь по созданию ебилда

 , , ,


0

1

Пытаюсь запилить оверлей с compiz-9.8 и его составляющими

Есть ebuild:

# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=4

if [[ ${PV} != *9999* ]]; then
        SRC_URI="http://releases.compiz.org/${PV}/${MY_P}.tar.bz2"
        KEYWORDS="~x86 ~amd64"
        MY_PN="${PN}"
        MY_P="${MY_PN}-${PV}"
        S="${WORKDIR}/${MY_P}"
else
        GIT_ECLASS="git-2"
        EGIT_REPO_URI="https://github.com/hedmo/compiz"
        SRC_URI=""
        KEYWORDS=""
        S="${WORKDIR}/${PN}"
fi

inherit cmake-utils eutils ${GIT_ECLASS} gnome2-utils 

DESCRIPTION="OpenGL window and compositing manager"
HOMEPAGE="http://www.compiz.org/"

PATCHSET_URI="https://github.com/megabaks/stuff/blob/master/x11-wm/compiz/files/compiz-kde-4.8.patch"

LICENSE="GPL-2 LGPL-2.1 MIT"
SLOT="0"
IUSE="+cairo fuse gnome gtk kde +svg dbus"

COMMONDEPEND="
        !x11-libs/compiz-bcop
        >=dev-libs/boost-1.34.0
        dev-libs/glib:2
        dev-libs/libxml2
        dev-libs/libxslt
        media-libs/libpng
        >=media-libs/mesa-6.5.1-r1
        >=x11-base/xorg-server-1.1.1-r1
        x11-libs/libX11
        x11-libs/libXcomposite
        x11-libs/libXdamage
        x11-libs/libXext
        x11-libs/libXrandr
        x11-libs/libXrender
        x11-libs/libXinerama
        x11-libs/libICE
        x11-libs/libSM
        >=x11-libs/startup-notification-0.7
        cairo? (
                x11-libs/cairo[X]
        )
        fuse? ( sys-fs/fuse )  
          
        gtk? (
                >=x11-libs/gtk+-2.8.0
                x11-libs/libwnck
                x11-libs/pango
                gnome? (
                        gnome-base/gnome-desktop
                        gnome-base/gconf
                        x11-wm/metacity
                )
        )
        kde? (
                || (
                        >=kde-base/kwin-4.2.0
                        kde-base/kwin:live
                )
        )
        svg? (
                >=gnome-base/librsvg-2.14.0:2
                >=x11-libs/cairo-1.0
        )


        dbus? ( >=sys-apps/dbus-1.0 )


"
DEPEND="${COMMONDEPEND}
        dev-util/pkgconfig
        x11-proto/damageproto
        x11-proto/xineramaproto
"
RDEPEND="${COMMONDEPEND}
        x11-apps/mesa-progs
        x11-apps/xvinfo
"

src_unpack() {
        if [[ ${PV} != *9999* ]]; then
                default
        else
                git-2_src_unpack
        fi
}

src_prepare() {
        echo "gtk/gnome/compiz-wm.desktop.in" >> "${S}/po/POTFILES.skip"
        echo "metadata/core.xml.in" >> "${S}/po/POTFILES.skip"

        # patch for KDE 4.8. Picked up from stuff overlay
        #if use kde; then
        #       $(has_version ">=kde-base/kwin-4.8") && epatch "${FILESDIR}"/${PN}-kde-4.8.patch
        #fi
        eautoreconf
}

src_configure() {
        local mycmakeargs=(
                #"$(cmake-utils_use_use gnome GCONF)"
                #"$(cmake-utils_use_use gnome GNOME)"
                #"$(cmake-utils_use_use gtk GTK)"
                #"$(cmake-utils_use_use kde KDE4)"
                #"-DCOMPIZ_DISABLE_SCHEMAS_INSTALL=ON"
                #"-DCOMPIZ_PACKAGING_ENABLED=ON"
                "-DCOMPIZ_DESTDIR=${D}"
                "-DCMAKE_CXX_FLAGS="`pkg-config --libs --cflags gtk+-2.0 glib-2.0 sigc++-2.0` -I/usr/lib/glib-2.0/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include""
        )

        cmake-utils_src_configure
}

src_compile() {
        cmake-utils_src_compile
}

src_install() {
        pushd ${CMAKE_BUILD_DIR}
        dodir /usr/share/cmake/Modules
        emake findcompiz_install
        emake install
        popd ${CMAKE_BUILD_DIR}
}

pkg_preinst() {
        use gnome && gnome2_gconf_savelist
}

pkg_postinst() {
        use gnome && gnome2_gconf_install
}

pkg_prerm() {
        use gnome && gnome2_gconf_uninstall
}

При сборке выбивает вот что:

[100%] Built target kde4-window-decorator
Install the project...
-- Install configuration: "Gentoo"
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/lib64/pkgconfig/compiz.pc
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/CompizCommon.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/CompizPlugin.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/CompizPackage.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/CompizBcop.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/CompizDefaults.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/CompizGconf.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/CompizGSettings.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/plugin_extensions/CompizGenInstallData.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/plugin_extensions/CompizGenInstallImages.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/plugin_extensions/CompizGenGconf.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/cmake/plugin_extensions/CompizGenGSettings.cmake
-- Installing: /var/tmp/portage/x11-wm/compiz-9999/image/usr/include/compiz/decoration.h
ACCESS DENIED  mkdir:        /usr/include/compiz/core
CMake Error at include/core/cmake_install.cmake:38 (FILE):
  file cannot create directory: /usr/include/compiz/core.  Maybe need
  administrative privileges.
Call Stack (most recent call first):
  include/cmake_install.cmake:43 (INCLUDE)
  cmake_install.cmake:44 (INCLUDE)


make: *** [install] Ошибка 1
 * ERROR: x11-wm/compiz-9999 failed (install phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=x11-wm/compiz-9999'`,
 * the complete build log and the output of `emerge -pqv '=x11-wm/compiz-9999'`.
 * This ebuild is from an overlay named 'deylix_overlay': '/usr/local/portage/'
 * The complete build log is located at '/var/tmp/portage/x11-wm/compiz-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-wm/compiz-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/x11-wm/compiz-9999/work/compiz-9999_build'
 * S: '/var/tmp/portage/x11-wm/compiz-9999/work/compiz'
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE "/var/log/sandbox/sandbox-16129.log"

VERSION 1.0
FORMAT: F - Function called
FORMAT: S - Access Status
FORMAT: P - Path as passed to function
FORMAT: A - Absolute Path (not canonical)
FORMAT: R - Canonical Path
FORMAT: C - Command Line

F: mkdir
S: deny
P: /usr/include/compiz/core
A: /usr/include/compiz/core
R: /usr/include/compiz/core
C: /usr/bin/cmake -P cmake_install.cmake 

Я прекрасно понимаю почему это происходит, но не имею понятия как это исправить. Прошу помощи.

Кстати насколько корректно делать так: "-DCMAKE_CXX_FLAGS=«`pkg-config --libs --cflags gtk+-2.0 glib-2.0 sigc++-2.0` -I/usr/lib/glib-2.0/include/ -I/usr/include/glibmm-2.4/ -I/usr/lib/glibmm-2.4/include»"?

qnikst max_udoff

★★★★★

Ответ на: комментарий от megabaks

Вроде помогло, но теперь посыпались ошибки такого плана:

-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image//usr/include/compiz/opengl/opengl.h
[WARNING]: Installing GSettings schemas to a custom location that might not be in XDG_DATA_DIRS, you need to add /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/ to your XDG_DATA_DIRS in order for GSettings schemas to be found!
-- Installing GSettings schemas to /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas//org.freedesktop.compiz.opengl.gschema.xml
-- Recompiling GSettings schemas in /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/
Произошла ошибка при открытии каталога «/var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/»: Нет такого файла или каталога
running /usr/bin/gconftool-2 --install-schema-file=/var/tmp/portage/x11-wm/compiz-9999/work/compiz-9999_build/generated/compiz-opengl.schemas > /dev/null  2>&1
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image/usr/share/gconf/schemas/compiz-opengl.schemas
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image/usr/lib64/compiz/libopengl.so
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/water.xml
[WARNING]: Installing GSettings schemas to a custom location that might not be in XDG_DATA_DIRS, you need to add /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/ to your XDG_DATA_DIRS in order for GSettings schemas to be found!
-- Installing GSettings schemas to /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas//org.freedesktop.compiz.water.gschema.xml
-- Recompiling GSettings schemas in /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/
Произошла ошибка при открытии каталога «/var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/»: Нет такого файла или каталога
running /usr/bin/gconftool-2 --install-schema-file=/var/tmp/portage/x11-wm/compiz-9999/work/compiz-9999_build/generated/compiz-water.schemas > /dev/null  2>&1
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image/usr/share/gconf/schemas/compiz-water.schemas
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image/usr/lib64/compiz/libwater.so
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image/usr/share/compiz/compiztoolbox.xml
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image/usr/lib64/pkgconfig/compiz-compiztoolbox.pc
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image//usr/include/compiz/compiztoolbox
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image//usr/include/compiz/compiztoolbox/compiztoolbox.h
[WARNING]: Installing GSettings schemas to a custom location that might not be in XDG_DATA_DIRS, you need to add /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/ to your XDG_DATA_DIRS in order for GSettings schemas to be found!
-- Installing GSettings schemas to /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/
-- Installing: ./var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas//org.freedesktop.compiz.compiztoolbox.gschema.xml
-- Recompiling GSettings schemas in /var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/
Произошла ошибка при открытии каталога «/var/tmp/portage/x11-wm/compiz-9999/image//usr/share/glib-2.0/schemas/»: Нет такого файла или каталога
running /usr/bin/gconftool-2 --install-schema-file=/var/tmp/portage/x11-wm/compiz-9999/work/compiz-9999_build/generated/compiz-compiztoolbox.schemas > /dev/null  2>&1

deterok ★★★★★
() автор топика
Ответ на: комментарий от megabaks

С ними не собиралось.

Сейчас попробую.

deterok ★★★★★
() автор топика
Ответ на: комментарий от megabaks

Сейчас кстати все пакеты связанные с компизом на этапе конфигураации выбивают

-- checking for module 'compiz'
--   package 'compiz' not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:284 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:338 (_pkg_check_modules_internal)
  /usr/share/cmake/Modules/FindCompiz.cmake:75 (pkg_check_modules)
  CMakeLists.txt:3 (find_package)

Как поправить?

deterok ★★★★★
() автор топика
Ответ на: комментарий от deterok

0.9 надо 2 раза ставить из-за этого дурацкого FindCompiz.cmake
последовательность не помню
или же как-то самому всё сделать в нём в нужном виде

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Если будет время, разрули 9 пожалуйста. У меня скила и времени не хватает, совсем...

deterok ★★★★★
() автор топика
Ответ на: комментарий от megabaks

Черт, kwin такой ужас...
Но пока альтернатив толком нету, либо сидеть с артефактами либо на квине. Буду с нетерпением ждать результата вашей работы.(Если конечно вы возьметесь).

deterok ★★★★★
() автор топика
Ответ на: комментарий от deterok

там не только сам компиз надо, а ещё что-то_там_config
либа емнип
вот их надо как-то ставить последовательно и дважды

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Пока вся надежда на вас, у меня свободное время появиться только через месяц(отпуск и конец практики), пока в лучшем случае могу по ночам подпиливать все это.

deterok ★★★★★
() автор топика
Ответ на: комментарий от megabaks

В целом меня порадовало то, что он вообще собрался.

deterok ★★★★★
() автор топика
Ответ на: комментарий от megabaks

Ну в любом случае, до конца лета, общими усилиями думаю сможем склепать ebuild'ы.

deterok ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.