正文
【homebrew 系列文章】
-
HomeBrew常规使用教程
-
Homebrew进阶使用教程(一)
-
Homebrew进阶使用教程(二)-用一个命令行天气客户端构建自己的仓库
-
Homebrew进阶使用教程(三)-apue.h在mac下安装并使用连接
我的github地址:
github地址:https://github.com/rangaofei/homebrew-saka
上篇文章讲了如何创建自己的仓库,这次简单讲解如何上传自己的库或者程序到自己的仓库。最近正在学习apue这本书,但是需要依赖作者的一个apue库,本篇将以unix环境高级编程的库apue.h和libapue.a文件的关联讲解如何上传库到自己的仓库然后用brew安装
1. 创建安装脚本
首先把自己的文件压缩为tar.gz(官方推荐为这种压缩格式,其他的没有尝试)格式文件,名称以"库名称-版本号"格式书写,这样便于homebrew识别自己的版本号自动填写。
此处我已下载好apue的源码并且编译好,我们只需要两个文件include文件夹下的apue.h文件和lib文件夹下的libapue.a文件,将这两个文件随便拷贝到一个文件夹下,只包含
apue.h
和
libapue.a
,命令行进入这个文件夹并将这两个文件打包:
tar -cvzf apue-1.0.tar.gz ./*
此时会自动生成这个文件,将这个文件上传到某个所有人能访问的地址,此处我上传到了
https://raw.githubusercontent.com/rangaofei/apue/master/lib/apue-1.0.tar.gz
这个地址。
执行命令
brew create <url>
即可创建我们的安装脚本,脚本名称默认为前边提到的库名称,对应我的命令为
brew create https://raw.githubusercontent.com/rangaofei/apue/master/lib/apue-1.0.tar.gz
生成的文件为
apue.rb
。
2. 改写安装脚本
执行上边的命令后会自动打开安装脚本为可编辑状态,此处我的电脑自动使用vim打开,并生成一系列的代码:
class Apue < Formula
desc ""
homepage ""
url "https://raw.githubusercontent.com/rangaofei/apue/master/lib/apue-1.0.tar.gz"
sha256 "7e84d03563f7f0119f2d946cc9f439192e582b65a504c39f4158fea7f38f7cbd"
def install
system "./configure", "--disable-debug",
"--disable-dependency-tracking",
"--disable-silent-rules",
"--prefix=#{prefix}"
system "make", "install"
end
test do
system "false"
end
end
遵循ruby语法(我完全不懂ruby,现学现卖)。
class即为我们的目标库。
里边比较重要的字段就是列出来的几个
desc
,
homepage
,
url
,
sha256
。
url和sha256是创建时自动生成的,url是下载地址,sha256是验证码,假如不匹配则会停止安装,所以此处一定要填写正确。
desc是描述字段,对库的简介,homepage按官方的说法是这个库的官方网址。
3. 修改安装方式
install函数是安装时执行的动作,默认提供了make安装和cmake(注释部分)的安装方式。这次我们不用两个方式,而是采用直接复制文件到目标文件夹的方式。
def install
lib.install "libapue.a"
include.install "apue.h"
end
注意此处的lib和include这两个字段,和cmake中的install基本雷同。
看一下官方的说明:
prefix.install "file1", "file2"