https://github.com/ralt/dh-quicklisp-buildapp
dh for quicklisp-based applications generating binaries
https://github.com/ralt/dh-quicklisp-buildapp
Last synced: 6 months ago
JSON representation
dh for quicklisp-based applications generating binaries
- Host: GitHub
- URL: https://github.com/ralt/dh-quicklisp-buildapp
- Owner: ralt
- License: mit
- Created: 2015-11-29T15:31:37.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-12-05T21:51:24.000Z (over 10 years ago)
- Last Synced: 2025-04-22T14:08:25.600Z (12 months ago)
- Language: Perl
- Size: 21.5 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cl - dh-quicklisp-buildapp - debhelper utility to let you compile your quicklisp-based Common Lisp code into a buildapp binary in a .deb with almost no effort. [MIT][200]. (Interfaces to other package managers)
README
# dh-quicklisp-buildapp
This dh utility lets you compile your quicklisp-based Common Lisp code
into a buildapp binary in a .deb with almost no effort.
For the "almost no effort" part to work, `dh-quicklisp-buildapp` is
quite opinionated.
## Installation
```
$ wget https://github.com/ralt/dh-quicklisp-buildapp/releases/download/0.2/dh-quicklisp-buildapp_0.2_all.deb # Validate it with the .dsc
$ sudo dpkg -i dh-quicklisp-buildapp_0.2_all.deb
$ sudo apt-get -f install # Install missing dependencies if necessary
```
## Instructions
Setup your `debian/` folder with at minimum:
- A `control` file
- A `changelog` file
- A `compat` file
- A `rules` file
The `control` file should have your source and package information.
The `changelog` should have the changelog of your application. See
`dch` for more information.
The `compat` file should have just the `9` number in it.
The `rules` file just needs this:
```
#!/usr/bin/make -f
%:
dh $@ --with=quicklisp_buildapp
```
(Note that a tab character is needed.)
When you run `dpkg-buildpackage` in your source's root folder, for
each package defined in the `control` file, it will get the system
named `$package`, and use the `main` function of it as the entrypoint.
It will fetch the latest quicklisp and then use `buildapp` to generate
the binary that will be put in the .deb file.
### buildapp
If a `buildapp` or `package.buildapp` file exists, it will be parsed
in the following way:
- Each line defines a binary
- Each line is 3 items separated by space: the binary name, the
system's name, and the entrypoint name.
This lets you put multiple binaries in the same package.
All the .asd must be in the root folder.
## Roadmap
Eventually, `dh-quicklisp-buildapp` will support customizations such as:
- Specify the dist-url of quicklisp
- For each package, specify where the system's asd is
- For each package, specify the entrypoint
- For each package, specify the system's name
Patches welcome!
## License
MIT license.
## About me
My keybase: https://keybase.io/fmargaine