|
|
今天升级到1.8.6,gentoo-china还没有加入newspr,于是掀起我的好奇心。
1.先建立一个新overlay,名字叫new-gentoo,把/usr/local/portage/layman/make.conf变成:- PORTDIR_OVERLAY="
- /usr/local/portage/layman/gentoo-china
- $PORTDIR_OVERLAY
- /usr/local/portage/layman/new-gentoo
- "
复制代码
2.完善new-gentoo:
#mkdir -p /usr/local/portage/layman/new-gentoo/x11-libs/cairo/files
#mkdir -p /usr/local/portage/layman/new-gentoo/profiles
#vi /usr/local/portage/layman/new-gentoo/profiles/repo_name
repo_name内容是:new-gentoo
3.加入cairo的ebuild:
#cp /usr/portage/x11-libs/cairo/cairo-1.8.6.ebuild /usr/local/portage/layman/new-gentoo/x11-libs/cairo/cairo-1.8.6-r1.ebuild
#vi /usr/local/portage/layman/new-gentoo/x11-libs/cairo/cairo-1.8.6-r1.ebuild改变一些东西,参考gentoo-china的cairo-1.8.4-r1.ebuild,这里展示的不够好,但是大概就是那个意思:把不同的行数和内容展示出来。- 5 EAPI="1" #这个是什么意思?没有懂。
- 22 newspr? ( >=media-libs/freetype-2.3.7 )
- 23 !newspr? ( >=media-libs/freetype-2.1.9 )
- 61 pkg_setup () {
- 62 if use newspr && \
- 63 ! built_with_use --missing false x11-libs/libXft newspr; then
- 64 eerror "You need to rebuild libXft with newspr USE enabled"
- 65 eerror "before you can compile cairo with newspr."
- 66 die "Please rebuild libXft with newspr enabled."
- 67 fi
- 68 }
- 69
- 70 src_unpack() {
- 71 unpack ${A}
- 72 cd "${S}"
- 73
- 74 if use newspr; then
- 75 epatch "${FILESDIR}"/${PN}-02_no-private-symbol-export.patch
- 76 epatch "${FILESDIR}"/${PN}-04_lcd_filter.patch
- 77 # epatch "${FILESDIR}"/${PN}-1.8.2-memoryleak.patch
- 78 # epatch "${FILESDIR}"/${PN}-optimise-invert.patch
- 79 fi
- 80
- 81 # We need to run elibtoolize to ensure correct so versioning on FreeBSD
- 82 elibtoolize
- 83 }
复制代码
1)cairo-02_no-private-symbol-export.patch和cairo-04_lcd_filter.patch是没有改变的,复制就行。
cp /usr/portage/x11-libs/cairo/files/cairo-02_no-private-symbol-export.patch /usr/portage/x11-libs/cairo/files/cairo-04_lcd_filter.patch /usr/local/portage/layman/new-gentoo/x11-libs/cairo/files/
2)cairo-1.8.2-memoryleak.patch可以不要了,我看见cairo-1.8.6的src/cairo-xcb-surface.c的2416行下面已经加入了这个patch.
3)cairo-1.8.4-optimise-invert.patch可以不要了,cairo-1.8.6的src/cairo-matrix.c里面也加入了这个patch.
4.生成摘要:
#cd /usr/local/portage/layman/new-gentoo/x11-libs/cairo/
#ebuild cairo-1.8.6-r1.ebuild digest
但是我不知道为什么还是不行。USE="newspr" emerge -pvuDN world时显示是:
[ebuild U ] x11-libs/cairo-1.8.6-r1 [1.8.4-r1] USE="X opengl -debug -directfb -doc -glitz -svg -xcb (-newspr%*)" 0 kB [1=>2]
Total: 1 package (1 upgrade), Size of downloads: 0 kB
Portage tree and overlays:
[0] /usr/portage
[1] /usr/local/portage/layman/gentoo-china
[2] /usr/local/portage/layman/new-gentoo
请教是什么原因?acevery您好,请问是你管理gentoo-china的cairo吗?每次问好像都有你回答。 |
|