Searches without login should now work. You must get asked to click a button.
Some translations wanted please.
New RSS 2.0 and Atom feeds are here. The old /backend/ feeds still work, but will be redirected later, so please update your subscriptions. Details.
Port details
puffin AWK-derived language with interpreter, AOT and C backends
0.8.1 langnew! Σ=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout Package not present on quarterly.This port was created during this quarter. It will be in the next quarterly branch but not the current one.
Maintainer: gcw@robottank.one search for ports maintained by this maintainer
Port Added: 2026-10-31 14:30:05
Last Update: 2026-11-06 23:52:14
Commit Hash: 858fa89
License: BSD2CLAUSE
WWW:
https://puffinlang.org/
Description: #
Puffin is an AWK-derived language with three execution backends, a tree-walking interpreter, Nim ahead-of-time compilation and emitted C, that give byte-identical output. The package ships the awktua compiler, the puffin driver, the pawk and pcawk awk(1) commands, the puffincc native compiler driver, the puffsh and pnsh shell front ends, the puffin-fmt, puffin-lint and puffin-lsp developer tools, the standard library and the manual pages.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port
Manual pages: #
pkg-plist: as obtained via: make generate-plist #
Expand this list (262 items)
Collapse this list.
  1. /usr/local/share/licenses/puffin-0.8.1/catalog.mk
  2. /usr/local/share/licenses/puffin-0.8.1/LICENSE
  3. /usr/local/share/licenses/puffin-0.8.1/BSD2CLAUSE
  4. share/sbom/pc/puffin.pc
  5. @sample etc/iawktuarc.sample
  6. bin/awktua
  7. bin/awktua-trace
  8. bin/pawk
  9. bin/pcawk
  10. bin/pnsh
  11. bin/puffin
  12. bin/puffin-fmt
  13. bin/puffin-lint
  14. bin/puffin-lsp
  15. bin/puffincc
  16. bin/puffsh
  17. lib/awktua/libawktua_rt-speed.a
  18. lib/awktua/libawktua_rt.a
  19. lib/awktua/libawktua_rt.cryptoflags
  20. lib/awktua/libawktua_rt.tlsflags
  21. share/doc/puffin/LICENSE
  22. share/man/man1/awktua.1.gz
  23. share/man/man1/pawk.1.gz
  24. share/man/man1/pcawk.1.gz
  25. share/man/man1/puffin-fmt.1.gz
  26. share/man/man1/puffin-lint.1.gz
  27. share/man/man1/puffin-lsp.1.gz
  28. share/man/man1/puffin.1.gz
  29. share/man/man1/puffincc.1.gz
  30. share/man/man1/pnsh.1.gz
  31. share/man/man1/puffsh.1.gz
  32. share/man/man7/puffin-dialects.7.gz
  33. share/puffin/puffsh/pnsh-core.sh
  34. share/puffin/puffsh/puffsh.pfn
  35. share/puffin/stdlib/contrib/crypto/ecdsa.pfn
  36. share/puffin/stdlib/contrib/crypto/sigstore.pfn
  37. share/puffin/stdlib/contrib/crypto/transparency.pfn
  38. share/puffin/stdlib/contrib/net/ftp.pfn
  39. share/puffin/stdlib/contrib/net/mailread.pfn
  40. share/puffin/stdlib/contrib/os/apk.pfn
  41. share/puffin/stdlib/contrib/os/brew.pfn
  42. share/puffin/stdlib/contrib/os/bsdpkg.pfn
  43. share/puffin/stdlib/contrib/os/chocolatey.pfn
  44. share/puffin/stdlib/contrib/os/conda.pfn
  45. share/puffin/stdlib/contrib/os/deb.pfn
  46. share/puffin/stdlib/contrib/os/debrepo.pfn
  47. share/puffin/stdlib/contrib/os/guix.pfn
  48. share/puffin/stdlib/contrib/os/nix.pfn
  49. share/puffin/stdlib/contrib/os/oci.pfn
  50. share/puffin/stdlib/contrib/os/openbsd.pfn
  51. share/puffin/stdlib/contrib/os/pkgsrc.pfn
  52. share/puffin/stdlib/contrib/os/portage.pfn
  53. share/puffin/stdlib/contrib/os/rpmrepo.pfn
  54. share/puffin/stdlib/contrib/pkg/cargo.pfn
  55. share/puffin/stdlib/contrib/pkg/cocoapods.pfn
  56. share/puffin/stdlib/contrib/pkg/composer.pfn
  57. share/puffin/stdlib/contrib/pkg/conan.pfn
  58. share/puffin/stdlib/contrib/pkg/cran.pfn
  59. share/puffin/stdlib/contrib/pkg/cyclonedx.pfn
  60. share/puffin/stdlib/contrib/pkg/gradle.pfn
  61. share/puffin/stdlib/contrib/pkg/hackage.pfn
  62. share/puffin/stdlib/contrib/pkg/helm.pfn
  63. share/puffin/stdlib/contrib/pkg/hex.pfn
  64. share/puffin/stdlib/contrib/pkg/jar.pfn
  65. share/puffin/stdlib/contrib/pkg/luarocks.pfn
  66. share/puffin/stdlib/contrib/pkg/maven.pfn
  67. share/puffin/stdlib/contrib/pkg/mvs.pfn
  68. share/puffin/stdlib/contrib/pkg/npm.pfn
  69. share/puffin/stdlib/contrib/pkg/opam.pfn
  70. share/puffin/stdlib/contrib/pkg/pub.pfn
  71. share/puffin/stdlib/contrib/pkg/pypi.pfn
  72. share/puffin/stdlib/contrib/pkg/rubygems.pfn
  73. share/puffin/stdlib/contrib/pkg/spack.pfn
  74. share/puffin/stdlib/contrib/pkg/spdx.pfn
  75. share/puffin/stdlib/contrib/pkg/swift.pfn
  76. share/puffin/stdlib/shcmd/bsd.pfn
  77. share/puffin/stdlib/shcmd/gnu_sort.pfn
  78. share/puffin/stdlib/shcmd/gnu_text.pfn
  79. share/puffin/stdlib/shcmd/posix_all.pfn
  80. share/puffin/stdlib/shcmd/posix_bytes.pfn
  81. share/puffin/stdlib/shcmd/posix_edit.pfn
  82. share/puffin/stdlib/shcmd/posix_fields.pfn
  83. share/puffin/stdlib/shcmd/posix_gen.pfn
  84. share/puffin/stdlib/shcmd/posix_meta.pfn
  85. share/puffin/stdlib/shcmd/posix_reorder.pfn
  86. share/puffin/stdlib/shcmd/posix_search.pfn
  87. share/puffin/stdlib/shcmd/posix_sortx.pfn
  88. share/puffin/stdlib/shcmd/posix_text.pfn
  89. share/puffin/stdlib/shcmd/posix.pfn
  90. share/puffin/stdlib/shcmd/shcmd_all.pfn
  91. share/puffin/stdlib/std/archive/ar.pfn
  92. share/puffin/stdlib/std/archive/cpio.pfn
  93. share/puffin/stdlib/std/archive/gzip.pfn
  94. share/puffin/stdlib/std/archive/tar.pfn
  95. share/puffin/stdlib/std/archive/zip.pfn
  96. share/puffin/stdlib/std/async/reactor.pfn
  97. share/puffin/stdlib/std/cert/auth.pfn
  98. share/puffin/stdlib/std/cert/http_guard.pfn
  99. share/puffin/stdlib/std/cert/redact.pfn
  100. share/puffin/stdlib/std/cert/store.pfn
  101. share/puffin/stdlib/std/cli/arg.pfn
  102. share/puffin/stdlib/std/cli/assert.pfn
  103. share/puffin/stdlib/std/cli/getopt.pfn
  104. share/puffin/stdlib/std/cli/test.pfn
  105. share/puffin/stdlib/std/collections/bisect.pfn
  106. share/puffin/stdlib/std/collections/cache.pfn
  107. share/puffin/stdlib/std/collections/collections.pfn
  108. share/puffin/stdlib/std/collections/deque.pfn
  109. share/puffin/stdlib/std/collections/functional.pfn
  110. share/puffin/stdlib/std/collections/graphlib.pfn
  111. share/puffin/stdlib/std/collections/hash.pfn
  112. share/puffin/stdlib/std/collections/heapq.pfn
  113. share/puffin/stdlib/std/collections/itertools.pfn
  114. share/puffin/stdlib/std/compress/compress.pfn
  115. share/puffin/stdlib/std/cpan.pfn
  116. share/puffin/stdlib/std/crypto/aead.pfn
  117. share/puffin/stdlib/std/crypto/crypto.pfn
  118. share/puffin/stdlib/std/crypto/ecdh.pfn
  119. share/puffin/stdlib/std/crypto/ed25519.pfn
  120. share/puffin/stdlib/std/crypto/jwt.pfn
  121. share/puffin/stdlib/std/crypto/kdf.pfn
  122. share/puffin/stdlib/std/crypto/libressl_vendor_probe.pfn
  123. share/puffin/stdlib/std/crypto/nanoid.pfn
  124. share/puffin/stdlib/std/crypto/random.pfn
  125. share/puffin/stdlib/std/crypto/rsa.pfn
  126. share/puffin/stdlib/std/crypto/sha3.pfn
  127. share/puffin/stdlib/std/crypto/ulid.pfn
  128. share/puffin/stdlib/std/crypto/uuid.pfn
  129. share/puffin/stdlib/std/db/db.pfn
  130. share/puffin/stdlib/std/edi/hl7_x12_fix.pfn
  131. share/puffin/stdlib/std/encoding/base.pfn
  132. share/puffin/stdlib/std/encoding/base32.pfn
  133. share/puffin/stdlib/std/encoding/base85.pfn
  134. share/puffin/stdlib/std/encoding/binary.pfn
  135. share/puffin/stdlib/std/encoding/cbor.pfn
  136. share/puffin/stdlib/std/encoding/csv.pfn
  137. share/puffin/stdlib/std/encoding/dotenv.pfn
  138. share/puffin/stdlib/std/encoding/htmlentities.pfn
  139. share/puffin/stdlib/std/encoding/ini.pfn
  140. share/puffin/stdlib/std/encoding/json.pfn
  141. share/puffin/stdlib/std/encoding/jsonpatch.pfn
  142. share/puffin/stdlib/std/encoding/jsonpath.pfn
  143. share/puffin/stdlib/std/encoding/jsonschema.pfn
  144. share/puffin/stdlib/std/encoding/multiformats.pfn
  145. share/puffin/stdlib/std/encoding/ndjson.pfn
  146. share/puffin/stdlib/std/encoding/pem.pfn
  147. share/puffin/stdlib/std/encoding/properties.pfn
  148. share/puffin/stdlib/std/encoding/quotedprintable.pfn
  149. share/puffin/stdlib/std/encoding/sexpr.pfn
  150. share/puffin/stdlib/std/encoding/struct.pfn
  151. share/puffin/stdlib/std/encoding/toml.pfn
  152. share/puffin/stdlib/std/encoding/valser.pfn
  153. share/puffin/stdlib/std/encoding/xml.pfn
  154. share/puffin/stdlib/std/encoding/yaml.pfn
  155. share/puffin/stdlib/std/flow/ratelimit.pfn
  156. share/puffin/stdlib/std/flow/retry.pfn
  157. share/puffin/stdlib/std/math/complex.pfn
  158. share/puffin/stdlib/std/math/decimal.pfn
  159. share/puffin/stdlib/std/math/fractions.pfn
  160. share/puffin/stdlib/std/math/math.pfn
  161. share/puffin/stdlib/std/math/mathx.pfn
  162. share/puffin/stdlib/std/math/money.pfn
  163. share/puffin/stdlib/std/math/random.pfn
  164. share/puffin/stdlib/std/math/statistics.pfn
  165. share/puffin/stdlib/std/net/auth.pfn
  166. share/puffin/stdlib/std/net/byte_range.pfn
  167. share/puffin/stdlib/std/net/cache_control.pfn
  168. share/puffin/stdlib/std/net/cidr.pfn
  169. share/puffin/stdlib/std/net/cookie.pfn
  170. share/puffin/stdlib/std/net/dns.pfn
  171. share/puffin/stdlib/std/net/form.pfn
  172. share/puffin/stdlib/std/net/hostname.pfn
  173. share/puffin/stdlib/std/net/http.pfn
  174. share/puffin/stdlib/std/net/httpd.pfn
  175. share/puffin/stdlib/std/net/listen.pfn
  176. share/puffin/stdlib/std/net/mime.pfn
  177. share/puffin/stdlib/std/net/multipart.pfn
  178. share/puffin/stdlib/std/net/rpc.pfn
  179. share/puffin/stdlib/std/net/server.pfn
  180. share/puffin/stdlib/std/net/smtp.pfn
  181. share/puffin/stdlib/std/net/sse.pfn
  182. share/puffin/stdlib/std/net/tcp.pfn
  183. share/puffin/stdlib/std/net/tls.pfn
  184. share/puffin/stdlib/std/net/udp.pfn
  185. share/puffin/stdlib/std/net/unix.pfn
  186. share/puffin/stdlib/std/net/uritemplate.pfn
  187. share/puffin/stdlib/std/net/url.pfn
  188. share/puffin/stdlib/std/net/websocket_transport.pfn
  189. share/puffin/stdlib/std/net/websocket.pfn
  190. share/puffin/stdlib/std/nuget.pfn
  191. share/puffin/stdlib/std/path/fnmatch.pfn
  192. share/puffin/stdlib/std/path/glob.pfn
  193. share/puffin/stdlib/std/path/path.pfn
  194. share/puffin/stdlib/std/path/pathutil.pfn
  195. share/puffin/stdlib/std/pkg/attestation.pfn
  196. share/puffin/stdlib/std/pkg/authority.pfn
  197. share/puffin/stdlib/std/pkg/publish.pfn
  198. share/puffin/stdlib/std/pkg/purity.pfn
  199. share/puffin/stdlib/std/pkg/purl.pfn
  200. share/puffin/stdlib/std/pkg/tuft.pfn
  201. share/puffin/stdlib/std/sh/codegen.pfn
  202. share/puffin/stdlib/std/sh/lexer.pfn
  203. share/puffin/stdlib/std/sh/parser.pfn
  204. share/puffin/stdlib/std/sync/actor_stdio.pfn
  205. share/puffin/stdlib/std/sync/actor.pfn
  206. share/puffin/stdlib/std/sync/pool.pfn
  207. share/puffin/stdlib/std/sys/config.pfn
  208. share/puffin/stdlib/std/sys/env.pfn
  209. share/puffin/stdlib/std/sys/fs.pfn
  210. share/puffin/stdlib/std/sys/io.pfn
  211. share/puffin/stdlib/std/sys/iobuf.pfn
  212. share/puffin/stdlib/std/sys/log.pfn
  213. share/puffin/stdlib/std/sys/os.pfn
  214. share/puffin/stdlib/std/sys/process.pfn
  215. share/puffin/stdlib/std/sys/sh_rt.pfn
  216. share/puffin/stdlib/std/sys/sysstat.pfn
  217. share/puffin/stdlib/std/sys/tempfile.pfn
  218. share/puffin/stdlib/std/term/color.pfn
  219. share/puffin/stdlib/std/term/termctl.pfn
  220. share/puffin/stdlib/std/testing.pfn
  221. share/puffin/stdlib/std/text/diff.pfn
  222. share/puffin/stdlib/std/text/difflib.pfn
  223. share/puffin/stdlib/std/text/humanize.pfn
  224. share/puffin/stdlib/std/text/inflect.pfn
  225. share/puffin/stdlib/std/text/patch.pfn
  226. share/puffin/stdlib/std/text/pprint.pfn
  227. share/puffin/stdlib/std/text/shlex.pfn
  228. share/puffin/stdlib/std/text/slugify.pfn
  229. share/puffin/stdlib/std/text/strconv.pfn
  230. share/puffin/stdlib/std/text/strings.pfn
  231. share/puffin/stdlib/std/text/table.pfn
  232. share/puffin/stdlib/std/text/template.pfn
  233. share/puffin/stdlib/std/text/textwrap.pfn
  234. share/puffin/stdlib/std/text/unicode.pfn
  235. share/puffin/stdlib/std/time/calendar.pfn
  236. share/puffin/stdlib/std/time/cron.pfn
  237. share/puffin/stdlib/std/time/datetime.pfn
  238. share/puffin/stdlib/std/time/time.pfn
  239. share/puffin/stdlib/std/time/timezones.pfn
  240. share/puffin/stdlib/std/tk.pfn
  241. share/puffin/stdlib/std/ui.pfn
  242. share/puffin/stdlib/std/ui/bridge.pfn
  243. share/puffin/stdlib/std/ui/builder.pfn
  244. share/puffin/stdlib/std/ui/diff.pfn
  245. share/puffin/stdlib/std/ui/events.pfn
  246. share/puffin/stdlib/std/ui/layout.pfn
  247. share/puffin/stdlib/std/ui/native_window.pfn
  248. share/puffin/stdlib/std/ui/render_term.pfn
  249. share/puffin/stdlib/std/ui/render_web.pfn
  250. share/puffin/stdlib/std/ui/tk_backend.pfn
  251. share/puffin/stdlib/std/ui/tk_shim.c
  252. share/puffin/stdlib/std/ui/tk_shim.h
  253. share/puffin/stdlib/std/ui/tk.pfn
  254. share/puffin/stdlib/std/ui/types.pfn
  255. share/puffin/stdlib/std/ui/ui.pfn
  256. share/puffin/stdlib/std/version/calver.pfn
  257. share/puffin/stdlib/std/version/monover.pfn
  258. share/puffin/stdlib/std/version/semver.pfn
  259. share/puffin/stdlib/std/version/versionscheme.pfn
  260. @owner
  261. @group
  262. @mode
Collapse this list.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • puffin>0:lang/puffin
To install the port: #
cd /usr/ports/lang/puffin/ && make install clean
To add the package, run one of these commands:
  • pkg install lang/puffin
  • pkg install puffin
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: puffin
Flavors: #
there is no flavor information for this port.
distinfo: #
TIMESTAMP = 1793446686 SHA256 (puffin-v0.8.1.tar.gz) = ebb3f88de40dc900d55ad94364bb1f5c49acaf690b0d25e7ae8952b9aa028b73 SIZE (puffin-v0.8.1.tar.gz) = 7428673

Packages (timestamps in pop-ups are UTC): #
puffin
ABIaarch64amd64armv6armv7i386
FreeBSD:14:latest-0.8.1---
FreeBSD:14:quarterly-----
FreeBSD:15:latest0.8.10.8.1n/a-n/a
FreeBSD:15:quarterly--n/a-n/a
FreeBSD:16:latest-0.8.1n/a-n/a
Dependencies #
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies: #
  1. nim : lang/nim
  2. gmake>=4.4.1 : devel/gmake
  3. pkgconf>=1.3.0_1 : devel/pkgconf
Library dependencies: #
  1. libsodium.so : security/libsodium
  2. libzstd.so : archivers/zstd
  3. libsqlite3.so : databases/sqlite3
There are no ports dependent upon this port #

Configuration Options: #
No options to configure
Options name: #
lang_puffin
USES: #
gmake pkgconfig ssl sqlite
pkg-message: #
FreshPorts was unable to extract/find any pkg message
Master Sites: #
Expand this list (1 items)
Collapse this list.
  1. https://puffinlang.org/alpha/freebsd/
Collapse this list.

Number of commits found: 3 #

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
0.8.1
06 Nov 2026 23:52:14
commit hash: 858fa890f1dd5390fbe8cbabfba0c11773be19b2commit hash: 858fa890f1dd5390fbe8cbabfba0c11773be19b2commit hash: 858fa890f1dd5390fbe8cbabfba0c11773be19b2commit hash: 858fa890f1dd5390fbe8cbabfba0c11773be19b2 files touched by this commit
Piotr Kubaj (pkubaj) search for other commits by this committer
lang/puffin: fix build on powerpc64*

The interpreter's extern FFI only knew the x86-64 and arm64 calling
conventions. On 64-bit PowerPC an integer argument goes in the register
that matches its position, even when doubles come before it, so put it
there.
0.8.1
04 Nov 2026 14:00:32
commit hash: f3f385c385ae9fe27ccdd544f8e6827941150d2ccommit hash: f3f385c385ae9fe27ccdd544f8e6827941150d2ccommit hash: f3f385c385ae9fe27ccdd544f8e6827941150d2ccommit hash: f3f385c385ae9fe27ccdd544f8e6827941150d2c files touched by this commit
Daniel Engberg (diizzy) search for other commits by this committer
*/*: Use sqlite helper

Make use of USES= sqlite instead of LIB_DEPENDS
https://docs.freebsd.org/en/books/porters-handbook/book/#using-databases

Approved by:	blanket
0.8.1
31 Oct 2026 14:26:58
commit hash: 7e9187af4217efe3bc1537a3392e959e5f6f54becommit hash: 7e9187af4217efe3bc1537a3392e959e5f6f54becommit hash: 7e9187af4217efe3bc1537a3392e959e5f6f54becommit hash: 7e9187af4217efe3bc1537a3392e959e5f6f54be files touched by this commit
Dave Cottlehuber (dch) search for other commits by this committer
lang/puffin: New port - AWK-derived language with multiple backends

- link host libcrypto, libsodium, sqlite3, zstd and base bzip2 and
  delete the vendored copies in post-extract
- record those libraries in the runtime link flags so emit-C programs
  built by puffincc and auto-AOT still link
- keep foreign keys on by default now that the sqlite build flags no
  longer apply

Number of commits found: 3