As I see it, this repository consists of two components:
An open source kernel module
A proprietary firmware binary file
Proprietary firmware binary
This can be shared among all devices, just like the linux-firmware package. Now we could make one postmarketos-firmware package - but then again we would install all firmware files on all phones, and trigger updates for all phones using that package, when one firmware file gets added/removed/updated, even if the specific phone does not use that firmware.
So as we know which phone needs which firmware file, I would suggest making separate packages per firmware file.
Kernel module
In-tree build
This is what @drebrez did for the samsung-i9070. The module gets built along with the rest of the kernel inside of the linux-samsung-i9070APKBUILD. (In this case, the firmware file is also in the linux- package, but putting it in an extra package is better to share it among multiple devices.)
I think in the case of the samsung-i9070 the wifi kernel module was already provided in the kernel tree, so it made most sense to do it this way (opposed to what you have, in your case the module is not directly in the kernel tree as I see it).
Out-of-tree build
The module is built in an extra package, and is specific to a certain kernel version (so it would not simply be interchangeable between two devices using different Android kernels!).
All kernels, for which that extra module shall be compiled, need that -dev package (which contains the kernel headers). The linux-postmarketos package is pretty close to linux-vanilla provided by Alpine, and has a linux-postmarketos-dev-subpackage, so you could look at it for reference.
DKMS
DKMS dynamically compiles the module for each kernel, when that kernel gets installed/upgraded. The advantage here would be, that you really had one package, that could be used with all kernels. The kernels would also need to provide the -dev subpackages.
DKMS is not packaged for Alpine at time moment, and generally this approach seems to be more complex to me, so I would avoid this solution for now.
Recommended steps
Here is how I would do it:
Package the firmware blobs as aports/firmware/firmware-qualcomm-prima (the path is debatable, I think a new firmware folder makes sense. I've tried to stick to the manufacturer-codename scheme with the package name, but please suggest better ideas if you have any!
Do either the in-tree-build or out-of-tree build (disclaimer: I have not done either.)
Note: We discussed in another ticket, that our firmware files should go into /lib/firmware/postmarketos/ (and the i9070 already follows that).
From the name (wlan-prima) I think my titan also requires the same wifi firmware (but haven't checked that the files are the same).
I started working on it on my titan-wifi branch. It has lots of test code that would never be accepted in pmbootstrap master :P but it helped me to try these things:
Firmware loading
Udev rule for firmware loading
How wcnss-service work (once the firmware is loaded, it is required to initialize the wlan interface)
Converting the wcnss-service from Android to standard-linux
I didn't get the interface to work because I continued working on other pmbootstrap features. There was something wrong when running wcnss-service that froze my device and I had to restart.