🏎 mod_swift for M1 Homebrew
I am pleased to announce that mod_swift now runs w/ Xcode 13.3.1,
on macOS 12 M1 Macs, with the native Homebrew installed in /opt
!
A neat way to write Apache modules in Swift 5.
Quick Install
$ brew tap modswift/mod_swift
$ brew install httpd mod_swift
$ swift apache validate
swift-driver version: 1.45.2 The Swift Apache build environment looks sound.
srcroot: /Users/helge/tmp/mods_helloworld
module: mods_helloworld
config: debug
product: /Users/helge/tmp/mods_helloworld/.build/mods_helloworld.so
apxs: /opt/homebrew/bin/apxs
moddir: /opt/homebrew/lib/httpd/modules
relmoddir: /
mod_swift: /opt/homebrew/opt/mod_swift
swift: 5.6.0
cert: self-signed-mod_swift-localhost-server.crt
http/2: yes
HelloWorld Apache Module
$ mkdir mods_helloworld && cd mods_helloworld
$ swift apache init
The Swift Apache build environment looks sound.
module: mods_helloworld
config: debug
product: /Users/helge/tmp/tests/mods_helloworld/.build/mods_helloworld.so
apxs: /usr/local/bin/apxs
mod_swift: /usr/local/opt/mod_swift
$ swift apache build
Fetching https://github.com/modswift/Apache.git
Fetching https://github.com/modswift/CApache.git
Completed resolution in 3.65s
Cloning https://github.com/modswift/CApache.git
Resolving https://github.com/modswift/CApache.git at 2.0.1
Cloning https://github.com/modswift/Apache.git
Resolving https://github.com/modswift/Apache.git at 0.5.0
[2/2] Compiling Swift Module 'mods_helloworld' (1 sources)
$ ls -hl .build/mods_helloworld.so
-rwxr-xr-x 1 helge staff 173K 12 Mai 15:29 .build/mods_helloworld.so
$ swift apache serve
Note: DocRoot /usr/local/var/www/htdocs
Starting Apache on port 8042/8442:
GET /helloworld/ 200 715 - 0ms
URL: http://localhost:8042/helloworld
Have fun! hh
Written on May 8, 2022