openSUSE / golang-packaging

golang packaging tool for openSUSE
GNU General Public License v3.0
6 stars 13 forks source link

gobuild c-shared library #38

Open skazi0 opened 2 years ago

skazi0 commented 2 years ago

As %gobuild expands to go install, there's currently no option to use it for building c-shared outputs. With %gobuild -buildmode=c-shared libfoo we get into https://github.com/golang/go/issues/24253 As described there, go install is not supposed to be used for shared libraries.

It would be nice if we can have %gobuild -buildmode=c-shared libfoo expand to something like:

mkdir -p %_builddir/go/lib
go build -buildmode-c-shared -o $_builddir/go/lib/libfoo.so %import_path/libfoo

With that the packaging scripts could easily install -D -m0755 %_builddir/go/lib/libfoo.so %buildroot/%_libdir/libfoo.so (or %goinstall could be extended to install the libs as well).