Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
x11-wm/compiz-0.9* x11-wm/emerald-0.9*
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6022
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Mon Mar 23, 2015 11:57 pm    Post subject: x11-wm/compiz-0.9* x11-wm/emerald-0.9* Reply with quote

Hi,


since it ended up being quite a chore to get compiz-0.9.12.1 to compile and work I'm posting the ebuild & patches here

(thanks to funtoo-overlay and other sources - such as Unity-for-Arch !)

compiz-0.9.12.1.ebuild

Quote:
# Distributed under the terms of the GNU General Public License v2

EAPI=4

#GIT_ECLASS="git-2"
#EGIT_REPO_URI="https://github.com/hedmo/compiz"
#inherit cmake-utils eutils ${GIT_ECLASS} gnome2-utils toolchain-funcs python

# Pick your poison, EITHER the 3 lines above or the 2 lines below

#SRC_URI="http://bazaar.launchpad.net/~compiz-team/compiz/0.9.12/tarball/3919 -> ${P}.tgz"
SRC_URI="https://launchpad.net/compiz/0.9.12/0.9.12.1/+download/ -> ${P}.tgz"
# https://launchpad.net/compiz/0.9.12/0.9.12.1/+download/compiz-0.9.12.1.tar.bz2
inherit cmake-utils eutils gnome2-utils toolchain-funcs python

KEYWORDS="*"
#S="${WORKDIR}/~compiz-team/${PN}/${PV}"
S="${WORKDIR}/~compiz-team/${PN}/0.9.12"
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 debug dbus fuse gnome gtk kde +svg test"

COMMONDEPEND="
dev-libs/boost
dev-libs/glib:2
dev-cpp/glibmm
dev-libs/libxml2
dev-libs/libxslt
dev-python/pyrex
dev-libs/protobuf
media-libs/libpng
x11-base/xorg-server
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
virtual/opengl
virtual/glu
cairo? ( x11-libs/cairo[X] )
fuse? ( sys-fs/fuse )
gtk? (
>=x11-libs/gtk+-2.18.0
>=x11-libs/libwnck-2.19.4
x11-libs/pango
gnome? (
gnome-base/gnome-desktop
gnome-base/gconf
x11-wm/metacity
)
)
kde? ( kde-base/kwin:4 )
svg? (
gnome-base/librsvg:2
x11-libs/cairo
)
dbus? ( sys-apps/dbus )"

DEPEND="${COMMONDEPEND}
app-admin/chrpath
virtual/pkgconfig
x11-proto/damageproto
x11-proto/xineramaproto
test? (
dev-cpp/gtest
dev-cpp/gmock
)"

RDEPEND="${COMMONDEPEND}
dev-python/pygtk
x11-apps/mesa-progs
x11-apps/xvinfo
x11-themes/hicolor-icon-theme"

# TODO:
# - Remove automagic dependency for coverage report generation tools
# - Fix Xig-0 automagic resolving('CMake Warning at tests/integration/xig/CMakeLists.txt:30 (message): Xig not found, you will not be able to run X Server integration tests')
# - Check proper compilation with missing gettext/intltool
# - CFLAGS are NOT respected, this needs to be fixed
# - Default decorator exec command in ccsm is bad
# - Check all dependencies once more
# - Check CMakeFiles.txt this subdirectories :
# cmake - ?
# src
# compizconfig
# plugins
# tests - ?

pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
[[ $(gcc-major-version) -lt 4 ]] || \
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
&& die "Sorry, but gcc 4.6 or higher is required."
fi
}

#src_unpack() {
#git-2_src_unpack
#}

#src_unpack() {
#}
src_prepare() {

#epatch "${FILESDIR}/fix_access_violation.patch"
epatch "${FILESDIR}/0004-Disable-Werror.patch"

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

# Fix wrong path for icons
sed -i 's:DataDir = "@prefix@/share":DataDir = "/usr/share":' compizconfig/ccsm/ccm/Constants.py.in
}

pkg_setup() {
python_set_active_version 2
}

src_configure() {
BUILD_DIR=${WORKDIR}/build
local mycmakeargs=(
"$(cmake-utils_use_use gnome GCONF)"
"$(cmake-utils_use_use gnome GNOME)"
"$(cmake-utils_use_use gnome GSETTINGS)"
"$(cmake-utils_use_use gtk GTK)"
"$(cmake-utils_use_use kde KDE4)"
"$(cmake-utils_use test COMPIZ_BUILD_TESTING)"
"-DCMAKE_INSTALL_PREFIX=/usr"
"-DCMAKE_C_FLAGS=$(usex debug '-DDEBUG -ggdb' '')"
"-DCMAKE_CXX_FLAGS=$(usex debug '-DDEBUG -ggdb' '')"
"-DCOMPIZ_DEFAULT_PLUGINS=ccp"
"-DCOMPIZ_DISABLE_SCHEMAS_INSTALL=ON"
"-DCOMPIZ_PACKAGING_ENABLED=ON"
"-HAVE_WNCK_WINDOW_HAS_NAME=1"
"-Wno-dev=ON"
)
cmake-utils_src_configure
}

src_install() {
pushd "${CMAKE_BUILD_DIR}"
# Fix paths to avoid sandbox access violation
# 'emake DESTDIR=${D} install' does not work with compiz cmake files!
for i in `find . -type f -name "cmake_install.cmake"`;do
sed -e "s|/usr|${D}/usr|g" -i "${i}" || die "sed failed"
done
emake install
popd
}

pkg_preinst() {
use gnome && gnome2_gconf_savelist
}

pkg_postinst() {
use gnome && gnome2_gconf_install
if use dbus; then
ewarn "The dbus plugin is known to crash compiz in this version. Disable"
ewarn "it if you experience crashes when plugins are enabled/disabled."
fi
}

pkg_prerm() {
use gnome && gnome2_gconf_uninstall
}



files/0004-Disable-Werror.patch

Quote:
From e4a588eda697978af2f82ad7663c783975ac8b10 Mon Sep 17 00:00:00 2001
From: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
Date: Mon, 27 Oct 2014 21:50:02 -0400
Subject: [PATCH 4/5] Disable -Werror

---
cmake/CompizCommon.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cmake/CompizCommon.cmake b/cmake/CompizCommon.cmake
index f902963..7727d7e 100644
--- a/cmake/CompizCommon.cmake
+++ b/cmake/CompizCommon.cmake
@@ -72,7 +72,7 @@ if (NOT COMPIZ_SIGN_WARNINGS)
endif ()

if (${CMAKE_PROJECT_NAME} STREQUAL "compiz")
- set (COMPIZ_WERROR_DEFAULT ON)
+ set (COMPIZ_WERROR_DEFAULT OFF)
else ()
set (COMPIZ_WERROR_DEFAULT OFF)
endif ()
--
2.1.2


otherwise it would error out on each warning




Anyone got emerald-0.9 to compile ?

it's complaining that xrender is too old :/
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.6.1
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
hashnon
n00b
n00b


Joined: 23 Apr 2011
Posts: 3

PostPosted: Wed Nov 18, 2015 7:05 pm    Post subject: Reply with quote

You can use
Code:
${PV%.*}
instead of
Code:
0.9.12
and how is your progress with emerald?
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6022
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Wed Nov 18, 2015 9:47 pm    Post subject: Reply with quote

Thanks, hashnon !

It keeps on segfaulting, upstream is dead - so I took it from hedmo's overlay (just forked it on github to have a copy)


For now I'm using gtk-window-decorator, I'd prefer emerald but that unfortunately doesn't work :(


Updated 0.9.12.2.ebuild

Code:
# Distributed under the terms of the GNU General Public License v2

EAPI=4

#GIT_ECLASS="git-2"
#EGIT_REPO_URI="https://github.com/hedmo/compiz"
#inherit cmake-utils eutils ${GIT_ECLASS} gnome2-utils toolchain-funcs python

# Pick your poison, EITHER the 3 lines above or the 2 lines below

#SRC_URI="http://bazaar.launchpad.net/~compiz-team/compiz/0.9.12/tarball/3919 -> ${P}.tgz"
SRC_URI="https://launchpad.net/compiz/0.9.12/0.9.12.2/+download/ -> ${P}.tar.bz2"
# https://launchpad.net/compiz/0.9.12/0.9.12.1/+download/compiz-0.9.12.1.tar.bz2
inherit cmake-utils eutils gnome2-utils toolchain-funcs python

KEYWORDS="*"
#S="${WORKDIR}/~compiz-team/${PN}/${PV}"

#S="${WORKDIR}/~compiz-team/${PN}/0.9.12"
S="${WORKDIR}/${PN}-${PV}"
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 debug dbus fuse gnome gtk kde +svg test"

COMMONDEPEND="
        dev-libs/boost
        dev-libs/glib:2
        dev-cpp/glibmm
        dev-libs/libxml2
        dev-libs/libxslt
        dev-python/pyrex
        dev-libs/protobuf
        media-libs/libpng
        x11-base/xorg-server
        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
        virtual/opengl
        virtual/glu
        cairo? ( x11-libs/cairo[X] )
        fuse? ( sys-fs/fuse )
        gtk? (
                >=x11-libs/gtk+-2.18.0
                >=x11-libs/libwnck-2.19.4
                x11-libs/pango
                gnome? (
                        gnome-base/gnome-desktop
                        gnome-base/gconf
                        x11-wm/metacity
                )
        )
        kde? ( kde-base/kwin:4 )
        svg? (
                gnome-base/librsvg:2
                x11-libs/cairo
        )
        dbus? ( sys-apps/dbus )"

DEPEND="${COMMONDEPEND}
        app-admin/chrpath
        virtual/pkgconfig
        x11-proto/damageproto
        x11-proto/xineramaproto
        test? (
                dev-cpp/gtest
                dev-cpp/gmock
        )"

RDEPEND="${COMMONDEPEND}
        dev-python/pygtk
        x11-apps/mesa-progs
        x11-apps/xvinfo
        x11-themes/hicolor-icon-theme"

# TODO:
# - Remove automagic dependency for coverage report generation tools
# - Fix Xig-0 automagic resolving('CMake Warning at tests/integration/xig/CMakeLists.txt:30 (message): Xig not found, you will not be able to run X Server integration tests')
# - Check proper compilation with missing gettext/intltool
# - CFLAGS are NOT respected, this needs to be fixed
# - Default decorator exec command in ccsm is bad
# - Check all dependencies once more
# - Check CMakeFiles.txt this subdirectories :
# cmake - ?
# src
# compizconfig
# plugins
# tests - ?

pkg_pretend() {
      if [[ ${MERGE_TYPE} != binary ]]; then
         [[ $(gcc-major-version) -lt 4 ]] || \
         (   [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
         && die "Sorry, but gcc 4.6 or higher is required."
      fi
}

#src_unpack() {
#git-2_src_unpack
#}

#src_unpack() {
#}
src_prepare() {

#epatch "${FILESDIR}/fix_access_violation.patch"
epatch "${FILESDIR}/0004-Disable-Werror.patch"

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

# Fix wrong path for icons
      sed -i 's:DataDir = "@prefix@/share":DataDir = "/usr/share":' compizconfig/ccsm/ccm/Constants.py.in
}

pkg_setup() {
   python_set_active_version 2
}

src_configure() {
BUILD_DIR=${WORKDIR}/build
local mycmakeargs=(
"$(cmake-utils_use_use gnome GCONF)"
"$(cmake-utils_use_use gnome GNOME)"
"$(cmake-utils_use_use gnome GSETTINGS)"
"$(cmake-utils_use_use gtk GTK)"
"$(cmake-utils_use_use kde KDE4)"
"$(cmake-utils_use test COMPIZ_BUILD_TESTING)"
"-DCMAKE_INSTALL_PREFIX=/usr"
"-DCMAKE_C_FLAGS=$(usex debug '-DDEBUG -ggdb' '')"
"-DCMAKE_CXX_FLAGS=$(usex debug '-DDEBUG -ggdb' '')"
"-DCOMPIZ_DEFAULT_PLUGINS=ccp"
"-DCOMPIZ_DISABLE_SCHEMAS_INSTALL=ON"
"-DCOMPIZ_PACKAGING_ENABLED=ON"
"-HAVE_WNCK_WINDOW_HAS_NAME=1"
"-Wno-dev=ON"
)
cmake-utils_src_configure
}

src_install() {
   pushd "${CMAKE_BUILD_DIR}"
   # Fix paths to avoid sandbox access violation
   # 'emake DESTDIR=${D} install' does not work with compiz cmake files!
   for i in `find . -type f -name "cmake_install.cmake"`;do
   sed -e "s|/usr|${D}/usr|g" -i "${i}"  || die "sed failed"
   done
   emake install
   popd
}

pkg_preinst() {
   use gnome && gnome2_gconf_savelist
}

pkg_postinst() {
   use gnome && gnome2_gconf_install
   if use dbus; then
   ewarn "The dbus plugin is known to crash compiz in this version. Disable"
   ewarn "it if you experience crashes when plugins are enabled/disabled."
   fi
}

pkg_prerm() {
   use gnome && gnome2_gconf_uninstall
}


compiz-0.9.12.2-sandbox.patch

Code:
--- compiz-0.9.12.1/cmake/base.cmake   2015-02-03 12:09:12.000000000 +0100
+++ compiz-0.9.12.1/cmake/base.cmake~   2015-02-03 12:09:12.000000000 +0100
@@ -53,11 +53,11 @@
         ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindCompiz.cmake
         ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindOpenGLES2.cmake
         DESTINATION
-        ${CMAKE_INSTALL_PREFIX}/share/cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}/)
+        ${D}/${CMAKE_INSTALL_PREFIX}/share/cmake/)
     add_custom_target (findcompiz_install
    ${CMAKE_COMMAND} -E make_directory ${CMAKE_ROOT}/Modules &&
-   ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/cmake/FindCompiz.cmake ${CMAKE_ROOT}/Modules &&
-   ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/cmake/FindOpenGLES2.cmake ${CMAKE_ROOT}/Modules
+   ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/cmake/FindCompiz.cmake ${D}/${CMAKE_ROOT}/Modules &&
+   ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/cmake/FindOpenGLES2.cmake ${D}/${CMAKE_ROOT}/Modules
     )
     find_file (_find_compizconfig FindCompizConfig.cmake PATHS ${CMAKE_ROOT}/Modules ${ARGN})
     if (NOT _find_compizconfig)
@@ -70,7 +70,7 @@
     install (FILES
         ${CMAKE_CURRENT_SOURCE_DIR}/compizconfig/libcompizconfig/cmake/FindCompizConfig.cmake
         DESTINATION
-        ${CMAKE_INSTALL_PREFIX}/share/cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}/)
+        ${D}/${CMAKE_INSTALL_PREFIX}/share/cmake/)
     add_custom_target (
    findcompizconfig_install
    ${CMAKE_COMMAND} -E make_directory ${CMAKE_ROOT}/Modules &&

_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.6.1
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6022
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Mar 03, 2016 2:29 pm    Post subject: Reply with quote

hashnon wrote:
You can use
Code:
${PV%.*}
instead of
Code:
0.9.12
and how is your progress with emerald?


It appears Funtoo Linux got you covered :D

https://github.com/funtoo/funtoo-overlay/tree/master/x11-wm


https://bugs.funtoo.org/browse/FL-2458
https://bugs.funtoo.org/browse/FL-2922?jql=text%20~%20%22compiz%22
https://bugs.funtoo.org/browse/FL-1730

The fact that emerald was always failing could have been that I use a hardened toolchain and pretty aggressive CFLAGS/CXXFLAGS - leading to:

Quote:
[77609.662799] emerald-theme-m[13258]: segfault at 5a419120 ip 00007fdd8ecc352b sp 00007ffc1d501970 error 4 in libgobject-2.0.so.0.4600.2[7fdd8ec91000+5d000]
[77615.519391] emerald-theme-m[13297]: segfault at 798e2120 ip 00007f160059d52b sp 00007ffd8ae90490 error 4 in libgobject-2.0.so.0.4600.2[7f160056b000+5d000]
[77619.281099] emerald-theme-m[13332]: segfault at fffffffff8924120 ip 00007fd07becf52b sp 00007fff09a68860 error 5 in libgobject-2.0.so.0.4600.2[7fd07be9d000+5d000]
[77633.953170] emerald[13393]: segfault at ffffffffd7f4cce0 ip 00007f25f62d065a sp 00007fff39e4e850 error 5 in libgdk-x11-2.0.so.0.2400.29[7f25f62ae000+b3000]
[77639.744961] emerald[13396]: segfault at 371ffce0 ip 00007f5bac42365a sp 00007ffce427ce30 error 4 in libgdk-x11-2.0.so.0.2400.29[7f5bac401000+b3000]




Currently I'm using kde4-window-decorator (kde use-flag in my new Gentoo installation, since gtk-window-decorator appears to be depend on gnome-control-center or some other gnome

components that can't be installed without migrating to systemd) :?


edit:

=libwnck-3.14*:3 is needed for the package to toggle gtk-window-decorator to enabled :o
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.6.1
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum