Emacs 构建脚本项目教程
1. 项目目录结构及介绍
build-emacs/
├── build-dependencies
├── build-dependencies.rb
├── build-emacs-from-tar
├── build.rb
├── combine-and-package
├── combine-extra-source
├── dependencies.nix
├── emacs-entitlements.plist
├── fetch-emacs-from-ftp
├── ftp-versions.rb
├── launch-nw
├── launch.rs
├── verbose-shell.rb
├── Cargo.lock
├── Cargo.toml
├── LICENSE
├── Makefile
├── README.md
├── gitattributes
└── gitignore
目录结构介绍
- build-dependencies: 包含构建依赖的文件。
- build-dependencies.rb: 构建依赖的 Ruby 脚本。
- build-emacs-from-tar: 从 tar 文件构建 Emacs 的脚本。
- build.rb: 主构建脚本。
- combine-and-package: 合并和打包多个 tar 文件的脚本。
- combine-extra-source: 合并额外源代码的脚本。
- dependencies.nix: Nix 依赖配置文件。
- emacs-entitlements.plist: Emacs 的权限配置文件。
- fetch-emacs-from-ftp: 从 FTP 下载 Emacs 源代码的脚本。
- ftp-versions.rb: 处理 FTP 版本的 Ruby 脚本。
- launch-nw: 启动 NW 的脚本。
- launch.rs: 启动 Rust 脚本。
- verbose-shell.rb: 详细输出 shell 命令的 Ruby 脚本。
- Cargo.lock: Rust 项目的锁定文件。
- Cargo.toml: Rust 项目的配置文件。
- LICENSE: 项目许可证文件。
- Makefile: 项目的 Makefile。
- README.md: 项目说明文件。
- gitattributes: Git 属性配置文件。
- gitignore: Git 忽略配置文件。
2. 项目启动文件介绍
build.rb
build.rb
是项目的主构建脚本。它负责从 tar 文件中构建 Emacs,并支持多种架构的构建。可以通过 --arch
选项指定构建的架构。
fetch-emacs-from-ftp
fetch-emacs-from-ftp
脚本用于从 FTP 服务器下载最新的 Emacs 源代码,并将其转换为 tar.bz2 格式。
combine-and-package
combine-and-package
脚本用于合并多个 tar 文件,并将最终的 Emacs.app 打包成 dmg 文件。可以通过 --sign
参数进行代码签名。
3. 项目配置文件介绍
emacs-entitlements.plist
emacs-entitlements.plist
是 Emacs 的权限配置文件,用于在 macOS 上配置 Emacs 的权限。
dependencies.nix
dependencies.nix
是 Nix 依赖配置文件,定义了项目所需的依赖项。
Cargo.toml
Cargo.toml
是 Rust 项目的配置文件,定义了 Rust 项目的依赖和构建配置。
Makefile
Makefile
是项目的 Makefile,定义了项目的构建规则和任务。
gitattributes
和 gitignore
gitattributes
和 gitignore
是 Git 的配置文件,分别用于定义 Git 的属性规则和忽略规则。
通过以上介绍,您可以更好地理解和使用 build-emacs
项目。