LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2318|回复: 10

google-gadgets-for-linux

[复制链接]
发表于 2008-6-2 03:53:54 | 显示全部楼层 |阅读模式
http://code.google.com/p/google-gadgets-for-linux/
google官方的新开源项目,就是那个垂涎已久的桌面小玩意儿啦,刚推出不久,由苏哲主持。看样子非常不错,支持gtk/qt,无须mono,支持composite,支持已有的windows/mac平台的gagdets。
我讨厌screenlets的最大理由就是mono,效率低,资源占用很大,开一个就几十M,还让人活不?
我试着编译了一下svn,发现无法通过,看样子需要xulrunner-devel了,有兴趣的可以用我的pkgbuild修改一下并测试。
  1. # Contributor: zhuqin <zhuqin83@gmail.com>
  2. pkgname=google-gadgets-for-linux-svn
  3. pkgver=597
  4. pkgrel=1
  5. pkgdesc="Google Gadgets for Linux provides a platform for running desktop gadgets under Linux"
  6. arch=('i686' 'x86_64')
  7. url="http://code.google.com/p/google-gadgets-for-linux/"
  8. license=('ApacheLicense 2.0')
  9. depends=('gtk2' 'spidermonkey' 'curl' 'libxml2' 'zlib' 'xulrunner-devel' 'dbus' 'gstreamer0.10' 'gstreamer0.10-base' 'cairo')
  10. makedepends=('autoconf' 'automake' 'libtool' 'subversion')
  11. source=()
  12. md5sum=('')
  13. _svntrunk=http://google-gadgets-for-linux.googlecode.com/svn/trunk/
  14. _svnmod=google-gadgets-for-linux
  15. build() {
  16.   cd $startdir/src
  17.    
  18.   msg "Updating SVN entries for $_svnmod ..."
  19.    
  20.   if [ -d $_svnmod/.svn ]; then
  21.     (cd $_svnmod && svn up -r $pkgver)
  22.   else
  23.     svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
  24.   fi
  25.   
  26.   cp -r $_svnmod $_svnmod-build
  27.   cd $_svnmod-build
  28.   
  29.   msg "Finished update, starting build ..."
  30.   
  31.   sh autotools/bootstrap.sh || return 1
  32.   ./configure --prefix=/usr \
  33.   --disable-qt-host \
  34.   --disable-libggadget-qt \
  35.   --disable-qt-system-framework \
  36.   --disable-qtwebkit-browser-element \
  37.   --disable-qt-xml-http-request
  38.   
  39.   make || return 1
  40.   make DESTDIR=$startdir/pkg install
  41.   
  42.   rm -rf $startdir/pkg/usr/include/libltdl \
  43.               $startdir/pkg/usr/include/ltdl.h \
  44.               $startdir/pkg/usr/lib/libltdl.a \
  45.               $startdir/pkg/usr/lib/libltdl.so \
  46.               $startdir/pkg/usr/lib/libltdl.so.7 \
  47.               $startdir/pkg/usr/lib/libltdl.so.7.1.2
  48.   rm -rf $startdir/src/$_svnmod-build
  49. }
复制代码
发表于 2008-6-2 08:51:13 | 显示全部楼层
可以去 aur 提交一个。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-2 09:04:12 | 显示全部楼层
呃。。。其实我是让大家测试的,我自己都没测过的说,如果编译能通过那自然再好不过。xulrunner-devel会冲掉原有的xulrunner,所以一般不推荐。
我在aur已有不少东西了,若不是有问题也不会放这里来讨论。
回复 支持 反对

使用道具 举报

发表于 2008-6-2 10:25:39 | 显示全部楼层
看过一些图片,漂亮!
看过size,很小!
比如有些显示就如conky显示的一样
回复 支持 反对

使用道具 举报

发表于 2008-6-2 11:51:52 | 显示全部楼层
因为 arch 用的是 gcc 4.3,编译起来很多错误,suzhe 也很头疼,等等再说吧
发信人: lymanrb (lyman), 信区: LinuxApp
标  题: Re: Google Gadgets for Linux 0.9.1
发信站: 水木社区 (Fri May 30 21:56:26 2008), 站内
                                                                                
嗯,手动要改的地方太多了。基本上都是要求头文件和显式类型转换。本来想一气改完做个
patch,改着改着居然连这个都出来了。放弃了,呵呵
                                                                                
cc1plus: warnings being treated as errors
/usr/include/xulrunner/nsID.h: In member function ‘virtual nsresult
ExternalObject:ueryInterface(const nsIID&, void**)’:
/usr/include/xulrunner/nsID.h:86: 错误:可能的类型双关会破坏强重叠规则:对象‘
*{unknown}’作为类型‘unsigned int’在/usr/include/xulrunner/nsID.h:86或附近的
引用可能与对象‘{unknown}’作为类型‘short unsigned int’在
/usr/include/xulrunner/nsID.h:86 或附近的引用重叠。
/usr/include/xulrunner/nsID.h:86: 错误:可能的类型双关会破坏强重叠规则:对象‘
*{unknown}’作为类型‘unsigned int’在/usr/include/xulrunner/nsID.h:86或附近的
引用可能与对象‘{unknown}’作为类型‘short unsigned int’在
/usr/include/xulrunner/nsID.h:86 或附近的引用重叠。
                                                                                
看来 archlinux 号称的 bleeding edge 并非浪得虚名啊
                                                                                
【 在 suzhe (烦着呢) 的大作中提到: 】
: 我们会尽快修正这些问题。谢谢支持。
回复 支持 反对

使用道具 举报

发表于 2008-6-2 13:30:02 | 显示全部楼层
刚刚编的598需要patch一下,对应的编译环境自己看着装了,编译时会自动检测的,效果还行
pkgbuild

  1. pkgname=google-gadgets
  2. pkgver=598
  3. pkgrel=2
  4. pkgdesc="a platform for running desktop gadgets"
  5. arch=('i686' 'x86_64')
  6. license=('GPL')
  7. #depends=('')
  8. url="http://code.google.com/p/google-gadgets-for-linux/"
  9. source=()
  10. md5sums=()

  11. _svntrunk="http://google-gadgets-for-linux.googlecode.com/svn/trunk"
  12. _svnmod="google-gadgets"

  13. build() {
  14.   cd ${startdir}/src

  15.   [ -d ${_svnmod}-build ] && rm -rf ${_svnmod}-build

  16.   msg "Connecting to svn server...."
  17.   
  18.   if [ -d ${_svnmod}/.svn ]; then
  19.     (cd ${_svnmod} && svn up -r ${pkgver})
  20.   else
  21.     svn co $_svntrunk ${_svnmod}
  22.   fi

  23.   msg "SVN checkout done or server timeout"
  24.   msg "Starting make..."

  25.   cp -r ${startdir}/src/${_svnmod} ${startdir}/src/${_svnmod}-build

  26.   cd ${startdir}/src/${_svnmod}-build

  27.   patch -p0 -i ${startdir}/xulrunner-patch.diff || return 1

  28.   sh autotools/bootstrap.sh
  29.   ./configure --prefix=/usr
  30.   make || return 1
  31.   make DESTDIR="${startdir}/pkg" install
  32.   
  33.   rm -rf ${startdir}/pkg/usr/lib/libltdl.*
  34.   rm -rf ${startdir}/pkg/usr/include/l*

  35. }
  36. # vim:set ts=2 sw=2 et:
复制代码

xulrunner-patch.diff

  1. --- extensions/gtkmoz_browser_element/browser_child.cc-ori
  2. +++ extensions/gtkmoz_browser_element/browser_child.cc
  3. @@ -33,7 +33,7 @@
  4. #include <nsCRT.h>
  5. #include <nsICategoryManager.h>
  6. #include <nsIComponentRegistrar.h>
  7. -#include <nsIContentPolicy.h>
  8. +#include <content/nsIContentPolicy.h>
  9. #include <nsIDOMAbstractView.h>
  10. #include <nsIDOMDocument.h>
  11. #include <nsIDOMDocumentView.h>
  12. @@ -41,10 +41,10 @@
  13. #include <nsIDOMWindow.h>
  14. #include <nsIGenericFactory.h>
  15. #include <nsIInterfaceRequestor.h>
  16. -#include <nsIScriptNameSpaceManager.h>
  17. +#include <dom/nsIScriptNameSpaceManager.h>
  18. #include <nsIURI.h>
  19. -#include <nsIXPConnect.h>
  20. -#include <nsIXPCScriptable.h>
  21. +#include <xpconnect/nsIXPConnect.h>
  22. +#include <xpconnect/nsIXPCScriptable.h>
  23. #include <nsServiceManagerUtils.h>
  24. #include <nsStringAPI.h>
  25. #include <nsXPCOMCID.h>
复制代码

如还有问题的话,手动链接下:
[PHP]
cd /usr/lib
ln -s xulrunner/libgtkembedmoz.so .
ln -s xulrunner/libmozjs.so .
ln -s xulrunner/libxpcom.so .
[/PHP]
回复 支持 反对

使用道具 举报

发表于 2008-6-2 13:34:53 | 显示全部楼层
gcc 4.3出来也有段时间了.FC9也是采用gcc 4.3.....kde4都能用4.3编译通过.

这个程序还出现头文件的问题.实在不应该.
回复 支持 反对

使用道具 举报

发表于 2008-6-3 00:50:44 | 显示全部楼层
............

太好了,我就喜欢弄桌面。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-7 06:23:59 | 显示全部楼层
现在编译都没有问题的,可是为什么添加工具就说无法更新数据呢。
是只有我有这个问题还是别的什么?
$ ggl-gtk
Failed to open zip file /usr/share/google-gadgets/resources.gg: 没有那个文件或目录
Not a regular file: /usr/share/google-gadgets/resources
Not a regular file: /
Initialize default_framework extension.
Initialize gtk_edit_element extension.
Initialize gtkmoz_browser_element extension.
Initialize gst_mediaplayer_element extension.
Initialize gtk_system_framework extension.
Initialize gst_audio_framework extension.
org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files
No slot registered to handle this reply.
No slot registered to handle this reply.
Demarshal failed. Type dismatch, message type: , expected: s
Initialize linux_system_framework extension.
Initialize smjs_script_runtime extension.
Register smjs_script_runtime extension.
Call DBusWatchCallBack, watch id: 4
Call DBusWatchCallBack, watch id: 6
No slot registered to handle this reply.
No slot registered to handle this reply.
Failed to update gadget metadata. Will retry after 7200000ms
回复 支持 反对

使用道具 举报

发表于 2008-6-14 22:51:33 | 显示全部楼层
你安装了么?

Post by zhuqin_83;1860008
现在编译都没有问题的,可是为什么添加工具就说无法更新数据呢。
是只有我有这个问题还是别的什么?
$ ggl-gtk
Failed to open zip file /usr/share/google-gadgets/resources.gg: 没有那个文件或目录
Not a regular file: /usr/share/google-gadgets/resources
Not a regular file: /
Initialize default_framework extension.
Initialize gtk_edit_element extension.
Initialize gtkmoz_browser_element extension.
Initialize gst_mediaplayer_element extension.
Initialize gtk_system_framework extension.
Initialize gst_audio_framework extension.
org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.NetworkManager was not provided by any .service files
No slot registered to handle this reply.
No slot registered to handle this reply.
Demarshal failed. Type dismatch, message type: , expected: s
Initialize linux_system_framework extension.
Initialize smjs_script_runtime extension.
Register smjs_script_runtime extension.
Call DBusWatchCallBack, watch id: 4
Call DBusWatchCallBack, watch id: 6
No slot registered to handle this reply.
No slot registered to handle this reply.
Failed to update gadget metadata. Will retry after 7200000ms
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表