General instructions on how you can start hacking on the FreeBSD Ports.
Prepare your environment.
Create a new directory for your new port somewhere. For example in your home directory.
mkdir ~/newport
Go to the newport directory and create a Makefile there.
cd ~/newport
touch Makefile
-
Let's try to build and install the new port. Normally, it is done by running make install inside the port's directory. For development purposes it might be easier to run every command involved in the process manually.
Run
make fetch
Troubleshooting:
Run
make extract
Run
make build
Run
make install
At this point you've managed to build and install that new port on the system. It is time to clean up the files you've created and do some testing.
Run
portlint
Fix everything this tool complains about.
Run
port test
Fix everything this tool complains about.
TODO
Simple tasks and issues for first timers
| Abricotine | Open-source markdown editor built for desktop. | |
| Antares | Tactical space combat game. | |
| Beaker | Peer-to-peer Web browser. | |
| Communi | IRC client for desktop environments. | |
| eplot | Ruby script which allows to pipe data easily through gnuplot and create plots quickly, which can be saved in PostScript, PDF, PNG or EMF files. | |
| escrotum | Screen capture using pygtk, inspired by scrot. | |
| modernish | Cross-platform POSIX shell feature detection and language extension library. | |
| PowerShell | Task-based command-line shell and scripting language built on the .NET Framework to help IT professionals control and automate the administration of MS-Windows and (now) other platforms. | |
| PyTorch | Tensors and dynamic neural networks in Python with strong GPU acceleration. | :( The 201802 workshop participants started to work on this port but it turned out to be a little bit too big to fit in one workshop. |
| Although CUDA is not supported on FreeBSD it might be nice to have at least some of the PyTorch functionalities available on FreeBSD. |
| rentry | Markdown pastebin from command line. | |
| saait | Static site generator in C. | |
| shellen | Interactive shellcoding environment to easily craft shellcodes. | |
| slstatus | Suckless status monitor for window managers that use WM_NAME (e.g. dwm) or stdin to fill the status bar. | |
| tootstream | Command line interface for interacting with Mastodon instances. | |
| whohas | Command line tool that allows querying several package lists at once written in Perl. | |
| vim-anywhere | Integrate Vim editing capabilities into any text buffer | |
| Will It Scale | Benchmark utility which takes a testcase and runs it from 1 through to n parallel copies to see if the testcase. | |
| There is a NetBSD port, which might be helpful. Ping MateuszPiotrowski for details. |
| MateuszGuzik is using it for benchmarking. He might have some patches laying aroud. |
| New features and modifications |
| JonoF's Shadow Warrior | Jonathon Fowler's port of the 3D Realms game “Shadow Warrior”. | <:( As of the 201802 workshop, the game does not start. It is probably related to the fact that you need to obtain a couple of extra files to run this game (namely, sw.grp and sw.rts) |