Arch Linux 有 ABS (Arch Build System) 就是好。如果自带的包不满意,比如需要什么功能没有编译进去,可以自己编译。
下面贴上我自己定制的几个 ABS 包,以 PKGBUILD patch 的形式提供。算作备忘,也算是分享。
- ffmpeg 加入一些因版权问题没有自带的解码器,比如我经常需要压制 mp4 视频,需要 aac 编码器:文件名:ffmpeg.diff
--- a/ffmpeg/PKGBUILD 2013-06-06 01:43:40.319846062 +0800 +++ b/ffmpeg/PKGBUILD 2013-05-26 21:35:51.118143876 +0800 @@ -57,7 +57,9 @@ --enable-shared \ --enable-vdpau \ --enable-version3 \ - --enable-x11grab + --enable-x11grab \ + --enable-nonfree \ + --enable-libfaac make
- Timidity++ 允许播放超过 1,048,575 个音符的 MIDI 文件文件名:timidity++-maxalloc.diff
--- a/timidity/timidity.h 2012-06-01 11:40:44.000000000 +0800 +++ b/timidity/timidity.h 2013-06-06 01:48:14.186722904 +0800 @@ -436,7 +436,7 @@ /* you cannot but use safe_malloc(). */ #define HAVE_SAFE_MALLOC 1 /* malloc's limit */ -#define MAX_SAFE_MALLOC_SIZE (1<<23) /* 8M */ +#define MAX_SAFE_MALLOC_SIZE (1<<26) /* 64M */ #define DEFAULT_SOUNDFONT_ORDER 0
文件名:timidity++.diff
--- a/timidity++/PKGBUILD 2013-06-06 01:45:15.627480183 +0800 +++ b/timidity++/PKGBUILD 2013-06-06 01:56:25.255489134 +0800 @@ -14,13 +14,16 @@ 'xaw3d: for using the Xaw interface') backup=('etc/timidity++/timidity.cfg') source=(http://downloads.sourceforge.net/timidity/TiMidity++-${pkgver}.tar.xz \ + timidity++-maxalloc.diff timidity.cfg timidity.service) sha1sums=('15ec27f1ea3e718a8d61603521fc16df5c0dd24b' + 'SKIP' '660b3afbb720d26e8f008034cee66dd8da082d6e' 'f0351b9eb8928d3d82c380107654a7dbe7cd2d54') build() { cd "${srcdir}/TiMidity++-${pkgver}" + patch -p1 <"${srcdir}/timidity++-maxalloc.diff" sed -i -e 's/tcl8.5/tcl8.6 tcl8.5/' -e 's/tk8.5/tk8.6 tk8.5/' configure sed -i 's/my_interp->result/(char *) Tcl_GetObjResult(my_interp)/' interface/tk_c.c ./configure --prefix=/usr --mandir=/usr/share/man --with-default-path=/etc/timidity++/ \
- lib32-fontconfig 中保留 fc-cache fc-list fc-match 等命令。文件名:lib32-fontconfig.diff
--- a/lib32-fontconfig/PKGBUILD 2013-06-05 06:07:34.000000000 +0800 +++ b/lib32-fontconfig/PKGBUILD 2013-06-05 22:44:01.613122245 +0800 @@ -54,7 +54,10 @@ make DESTDIR="${pkgdir}" install - rm -rf "${pkgdir}"/usr/{include,share,bin} "$pkgdir"/{etc,var} + rm -rf "${pkgdir}"/usr/{include,share} "$pkgdir"/{etc,var} + for i in "${pkgdir}"/usr/bin/fc-*; do + mv "$i" "$i"32 + done mkdir -p "$pkgdir/usr/share/licenses" ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname" }
后续还会继续追加……比如开启 Pidgin 的视频聊天功能等。
没有评论:
发表评论