[分享] 第六个练手作品 xfmpc 一个xfce4库支持下的mpc前端 by [**与玫瑰]
时间:2008-03-31
来源:互联网
我blog里存放的位置 http://hi.baidu.com/3444542/blog/item/1c909555a70f06c0b745aed9.html
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit xfce44
DESCRIPTION="A graphical GTK+ MPD client focusing on low footprint" # 这是对你的软件包进行的简短说明
HOMEPAGE="http://goodies.xfce.org/projects/applications/xfmpc" # 这个就没什么好说的了,如果你在某个站点发布你的软件,那在这里加上网站的链接就是了
#SRC_URI="http://goodies.xfce.org/releases/xfmpc/xfmpc-0.0.4.tar.bz2"
SRC_URI="http://goodies.xfce.org/releases/xfmpc/${P}.tar.bz2"
SLOT="0" # 通常这里写成0就可以了,这主要用于GCC,emacs这类可以多版本共存的软件包
#IUSE="linguas_zh_CN ssl applet systray doc" # 这里设置USE标记,较为复杂,这里就只加一个doc作例子了
IUSE=""
RESTRICT="mirror" #for local overlay
LICENSE="GPL-2" # 我们痛恨但又不可避免的软件许可
KEYWORDS="x86 amd64" #这只是个简单的脚本,所以在各种架构上都应该是可以正常运行的,不过,我们只想在x86上测试它
#并且所有起始的ebuild都应该先进行测试,所以只写上~x86
#写完后发现原来有人家写好的了 不过用的是svn版
#http://gentoo-overlays.zugaina.org/xfce/portage/xfce-extra/xfmpc/xfmpc-9999.ebuild
RDEPEND=">=x11-libs/gtk+-2.12 \
>=xfce-base/libxfcegui4-4.4.0 \
>=xfce-base/libxfce4util-4.4.0 \
>=media-libs/libmpd-0.15.0 "
DEPEND="${RDEPEND} \
dev-util/intltool"
#RDEPEND=">=media-libs/libmpd-0.15.0 \
# >=dev-libs/glib-2.14:2 \
# >=x11-libs/gtk+-2.12:2 \
# ~xfce-base/libxfcegui4-${PV} \
# ~xfce-base/libxfce4util-${PV}"
#=========xfce44.eclass====
#XFCE_CONFIG="${XFCE_CONFIG} $(use_enable dbus)"
#DOCS="AUTHORS ChangeLog NEWS TODO README README.plugins README.remote"
#==============================================
#S="${WORKDIR}/${PN}${PV}"
#------------------ 一个使用第三方ebuild的示例---------------------------
#sudo mkdir /usr/local/myportage/net-misc/g2ipmsg/files -p
#cd /usr/local/myportage/net-misc/g2ipmsg/files
#--------------------
#add PORTDIR_OVERLAY to /etc/make.conf
#PORTDIR_OVERLAY="/usr/local/myportage"
#PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/portage/local/layman/gentoo-china"
#sudo sh -c "echo net-misc/g2ipmsg >> /etc/portage/package.keywords"
#sudo sh -c 'echo "net-misc/g2ipmsg ssl applet doc systray >> /etc/portage/package.use'
#不用这一步
#sudo ebuild ./g2ipmsg-0.9.5.ebuild digest
#sudo sh -c "USE=doc emerge g2ipmsg"
#cat /var/lib/portage/world | grep g2ipmsg
#---------------------------------------------
#test for ebuild
#repoman scan
#repoman full
#---------------------------------------------
#==========联系方式==========
# mailto: [email protected]
# QQ: 3444542
# gmail: [email protected]
# irc: irc.freenode.org/#gentoo-cn GunsNRose
# blog: http://hi.baidu.com/3444542/blog
#============================
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit eutils xfce44
DESCRIPTION="A graphical GTK+ MPD client focusing on low footprint" # 这是对你的软件包进行的简短说明
HOMEPAGE="http://goodies.xfce.org/projects/applications/xfmpc" # 这个就没什么好说的了,如果你在某个站点发布你的软件,那在这里加上网站的链接就是了
#SRC_URI="http://goodies.xfce.org/releases/xfmpc/xfmpc-0.0.4.tar.bz2"
SRC_URI="http://goodies.xfce.org/releases/xfmpc/${P}.tar.bz2"
SLOT="0" # 通常这里写成0就可以了,这主要用于GCC,emacs这类可以多版本共存的软件包
IUSE=""
RESTRICT="mirror" #for local overlay
LICENSE="GPL-2" # 我们痛恨但又不可避免的软件许可
KEYWORDS="x86 amd64" #这只是个简单的脚本,所以在各种架构上都应该是可以正常运行的,不过,我们只想在x86上测试它
#并且所有起始的ebuild都应该先进行测试,所以只写上~x86
#写完后发现原来有人家写好的了
#http://gentoo-overlays.zugaina.org/xfce/portage/xfce-extra/xfmpc/xfmpc-9999.ebuild
RDEPEND=">=x11-libs/gtk+-2.12 \
>=xfce-base/libxfcegui4-4.4.0 \
>=xfce-base/libxfce4util-4.4.0 \
>=media-libs/libmpd-0.15.0"
DEPEND="${RDEPEND} \
dev-util/intltool"
#RDEPEND=">=media-libs/libmpd-0.15.0 \
# >=dev-libs/glib-2.14:2 \
# >=x11-libs/gtk+-2.12:2 \
# ~xfce-base/libxfcegui4-${PV} \
# ~xfce-base/libxfce4util-${PV}"
#=========xfce44.eclass====
#XFCE_CONFIG="${XFCE_CONFIG} $(use_enable dbus)"
#DOCS="AUTHORS ChangeLog NEWS TODO README README.plugins README.remote"
#==============================================
#S="${WORKDIR}/${PN}${PV}"
# src_unpack() # 这个函数用于解压源代码
# {
# #当前ebuild可以不用声明此函数 但为了学习而显示一些变量而用的
# # ${S}是src_unpack函数起始执行的地方,由emerge系统自动创建
# #cp ${FILESDIR}/unmask.gz ${S}
# #FILESDIR这个变量指明了我们存放该包的路径也就是
# #/usr/portage/local/myebuilds/app-portage/unmask/files
# #gzip -d ${S}/unmask.gz
# einfo "Start src_unpack()"
# einfo "${P}"
# einfo "\$\{S\}=${S}"
# einfo "\$\{D\}=${D}"
# einfo "\$\{FILESDIR\}=${FILESDIR}"
# unpack ${A}
# einfo "A = ${A}"
# einfo "org S = ${S}"
# einfo "WORKDIR = ${WORKDIR}"
# cd "${S}"
# einfo "after S = ${S}"
# einfo "D = ${D}"
# einfo "FEATURES=${FEATURES}"
# }
src_compile()
{
econf || die "=================econf failed============="
emake || die "emake failed"
}
# src_compile() { } #如果你需要编译什么东西,就在这个函数中完成.
src_install()
{
einfo "Start src_install()"
emake DESTDIR="${D}" install || die "emake install failed" #
#dobin ${PN}
#dodoc README CHANGELOG
#推荐使用 make DESTDIR="${D}" install 方式
#einstall用于对付不正常Makefile
}
#------------------ 一个使用第三方ebuild的示例---------------------------
#sudo mkdir /usr/local/myportage/net-misc/g2ipmsg/files -p
#cd /usr/local/myportage/net-misc/g2ipmsg/files
#--------------------
#add PORTDIR_OVERLAY to /etc/make.conf
#PORTDIR_OVERLAY="/usr/local/myportage"
#PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/portage/local/layman/gentoo-china"
#sudo sh -c "echo net-misc/g2ipmsg >> /etc/portage/package.keywords"
#sudo sh -c 'echo "net-misc/g2ipmsg ssl applet doc systray >> /etc/portage/package.use'
#不用这一步
#sudo ebuild ./g2ipmsg-0.9.5.ebuild digest
#sudo sh -c "USE=doc emerge g2ipmsg"
#cat /var/lib/portage/world | grep g2ipmsg
#---------------------------------------------
#test for ebuild
#repoman scan
#repoman full
#---------------------------------------------
#==========联系方式==========
# mailto: [email protected]
# QQ: 3444542
# gmail: [email protected]
# irc: irc.freenode.org/#gentoo-cn GunsNRose
# blog: http://hi.baidu.com/3444542/blog
#============================
v1 : RDEPEND=">=x11-libs/gtk+-2.12 \ 写成了 DEPEND=">=x11-libs/gtk+-2.12 \ 导致无法找到依赖关系
学习记录:
v1 : 使用xfce44.eclass的话可以省去很多麻烦,在portage中有非常多类似的例子,如 gentoo-china的eva, 还有kde的例子
v2 : >=dev-libs/glib-2.14:2 :2 代表 SLOT=2 而非 EAPI="2" 好像理解有误,晚点再去学,干正事先
http://gentoo-wiki.com/EAPI
http://bugs.gentoo.org/show_bug.cgi?id=150368 这个里面有讲到,比较详细
http://zhllg.spaces.live.com/blog/cn...?wa=wsignin1.0
作者: axlrose 发布时间: 2008-03-31
作者: cbkid 发布时间: 2008-03-31
还是一直就这么散装?
作者: druggo 发布时间: 2008-03-31
|
作者: druggo
你的这些ebuild有放到哪个overlay去吗?
还是一直就这么散装? |
我自己的overlay
你的意思是说网上的overlay?
作者: axlrose 发布时间: 2008-03-31
|
作者: axlrose
我一般都放在我的 /usr/local/myportage/里面的
我自己的overlay 你的意思是说网上的overlay? |
作者: 食古不化 发布时间: 2008-03-31
|
作者: 食古不化
你可以和老大联系一下,放到gentoo-china的overlay里,方便大家
|
其实这个xfmpc可能过段时间就会在portage或者有的overlays上看到了
作者: axlrose 发布时间: 2008-03-31
应该先去gentoo-bugs提交。
我觉得放到gentoo-china的overlay就比较好。
作者: somebody 发布时间: 2008-03-31
作者: tlze 发布时间: 2008-04-01
因为我的英文实在太烂了,所以只有把里面所有的注释全部删除,目前我本机上备份两套ebuild,一份是带有中文注释版本的,另一份是提交gentoo-china的清洁版,大家有什么建议,或者有什么新的有用的简单的包还未发现有ebuild的,请与我联系,我空闲时间尽量搞定它,最近 update-eix-remote update在我的机子上不灵了,不晓得咋回事
对了,重要的一件事忘了,ebuild高手们冒个泡,空闲时间想请教一些关于ebuild的东西,zhllg上班时又不好意思打扰
[i] net-misc/prozilla [1]
Available versions: 2.0.4!m
Installed versions: 2.0.4!m(18时14分45秒 2008年02月29日)
Homepage: http://prozilla.genesys.ro/
Description: A multi-threaded download accelerator
作者: axlrose 发布时间: 2008-04-01
另外,软件的分类也和portage里的不一样,不知ebuild开发文档中有没有关于分类的相关规则。
作者: zhou3345 发布时间: 2008-04-01
如果现在的portage里有,就沿用portage的分类
如果没有,和大家商量一下
作者: zhllg 发布时间: 2008-04-01
分类问题实在是大意了
http://gentoo-overlays.zugaina.org/x...-extra.html.en 这里找到
* xfce-extra/xfmpc/xfmpc-9999
到时提前先还是让老大先检查一下吧
今天 sssslang 说要用 kipmsg 就试着写了一下,如果有多些 gentooer要的话也放进去吧
作者: axlrose 发布时间: 2008-04-01
作者: alaxie 发布时间: 2008-04-01
连接时需要什么库,运行时就需要什么库
./configure选项 --with-foo, --enable-bar, 这里foo bar就可以作为USE flag
如果目前没有这个foo USE你也可以自己加上,如果是自己的overlay,你可以随便加,叫什么名字都行。
如果要收入portage tree,你需要先发个RFC到gentoo-dev,征求大家意见。还需要改一个profile里的文件,取决于你的USE是global还是local。
作者: zhllg 发布时间: 2008-04-01
作者: alaxie 发布时间: 2008-04-01
|
作者: alaxie
我想问一下axlrose兄是如何知道一个软件编译和运行时依赖哪些库,有如何查到这些库对应的USE,谢谢。
|
http://devmanual.gentoo.org/
繁体版http://man.ddvip.com/linux/gentoo/ge...rt2_chap1.html
我的笔记http://hi.baidu.com/3444542/blog/ite...c7af48063.html
你的问题老大回答了,其实我在哪个网页上看到过的,看来要慢慢到我的BLOG上翻了,东西很乱
我的英文实在烂得不行了,有些ebuild的东西光靠stardict还不行,
今天回复了 gentoo bugs
http://bugs.gentoo.org/show_bug.cgi?id=215514
按理说老外看到我的回复就知道我英文有多烂了,gentoo文档我是没办法翻译了,只能靠学一下 ebuild来分享一下,能力有限,需要大家的共同努力
今天晚上回来同步了一下portage才发现xfmpc进了portage里面,已从gentoo-china中删除,添加了 kipmsg 这个东东是基于kde的,我在机子上试了,很棒
作者: axlrose 发布时间: 2008-04-02
|
作者: axlrose
兄台一起学ebuild吧,参考以下网址
http://devmanual.gentoo.org/ 繁体版http://man.ddvip.com/linux/gentoo/ge...rt2_chap1.html 我的笔记http://hi.baidu.com/3444542/blog/ite...c7af48063.html 你的问题老大回答了,其实我在哪个网页上看到过的,看来要慢慢到我的BLOG上翻了,东西很乱 我的英文实在烂得不行了,有些ebuild的东西光靠stardict还不行, 今天回复了 gentoo bugs http://bugs.gentoo.org/show_bug.cgi?id=215514 按理说老外看到我的回复就知道我英文有多烂了,gentoo文档我是没办法翻译了,只能靠学一下 ebuild来分享一下,能力有限,需要大家的共同努力 今天晚上回来同步了一下portage才发现xfmpc进了portage里面,已从gentoo-china中删除,添加了 kipmsg 这个东东是基于kde的,我在机子上试了,很棒 |
目前水平很菜,只能追随老兄你学点东西好了,呵呵
作者: alaxie 发布时间: 2008-04-02
|
作者: alaxie
我才刚接触gentoo,以前都是在用debian的,对ebuild很感兴趣,不过
目前水平很菜,只能追随老兄你学点东西好了,呵呵 |
后来转到gentoo, 放心吧,
多上irc.freenode.org #gentoo-cn
deb太复杂了,老学不会,还是ebuild相对容易学一些
到#gentoo-cn来吧,我在那里的ID是GunsNRose
到时把我学习ebuild的心得拿来分享一些,不过现在水平很菜 :(
作者: axlrose 发布时间: 2008-04-02
|
作者: axlrose
我以前是用ubuntu-->debian的
后来转到gentoo, 放心吧, 多上irc.freenode.org #gentoo-cn deb太复杂了,老学不会,还是ebuild相对容易学一些 到#gentoo-cn来吧,我在那里的ID是GunsNRose 到时把我学习ebuild的心得拿来分享一些,不过现在水平很菜 :( |
作者: alaxie 发布时间: 2008-04-02
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28















