Cc semarie, who is MAINTAINER for lang/sbcl.

On Wed, 24 Apr 2024 14:20:46 +0100
Dima Pasechnik <d...@sagemath.org> wrote:

> Dear all,
> sbcl can be packaged into a dynamic library, something one needs for
> e.g. calling Lisp from C or Python,
> via sbcl-librarian  https://github.com/quil-lang/sbcl-librarian
> 
> Currently sbcl port does not build and install it, while it's quite easy
> at least in theory. Here is my incomplete attempt to fix the port;
> I do get libsbcl.so built, but not installed.
> (after "make install" it's left in 
> /usr/ports/pobj/sbcl-2.4.3/fake-amd64/usr/local/lib)
> 
> Could someone tell me what's missing?
> Thanks
> Dima

Try running "make update-plist" to add new files like libsbcl.so.0.0
from the fake to the package.

I can't apply your diff, because something changed your tabs into
spaces.  I suggest that you send your next diff as an attachment, or
from a mail client that preserves whitespace.
--gkoehler

> #--------------------------- # some magic is missing still?
> #
> --- a/lang/sbcl/Makefile
> +++ b/lang/sbcl/Makefile
> @@ -10,6 +10,8 @@ PKGNAME =     sbcl-${V}
> 
>  CATEGORIES =   lang
> 
> +SHARED_LIBS +=  sbcl                              0.0
> +
>  HOMEPAGE =     https://www.sbcl.org/
> 
>  MAINTAINER =   Sebastien Marie <sema...@kapouay.eu.org>
> @@ -116,6 +118,8 @@ do-build:
>                         --with-sb-core-compression \
>                         --with-sb-xref-for-internals \
>                         ${EXTRA_PARAMS}
> +       umask 022 && cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
> +               /bin/sh ./make-shared-library.sh
>         umask 022 && cd ${WRKSRC}/doc/manual/ && ${SETENV} ${MAKE_ENV} \
>                 ${GMAKE} info
> 
> #   add missing $(LDFLAGS) in $CC call in the Makefile
> #
> --- a/lang/sbcl/patches/patch-src_runtime_GNUmakefile
> +++ b/lang/sbcl/patches/patch-src_runtime_GNUmakefile
> @@ -13,3 +13,12 @@ Index: src/runtime/GNUmakefile
>   ASFLAGS += $(CFLAGS)
>   CPPFLAGS += -I.
> 
> +@@ -133,7 +133,7 @@ libsbcl.a: $(OBJS)
> +
> + PIC_OBJS = $(subst .o,.pic.o,$(OBJS))
> + libsbcl.so: $(PIC_OBJS)
> +-      $(CC) -shared -o $@ $^ $(LIBS) $(SOFLAGS)
> ++      $(CC) -shared -o $@ $^ $(LDFLAGS) $(LIBS) $(SOFLAGS)
> + # for this to work, you must have with-gcc-tls in your build features 
> already.
> + # can't define it here because then it conflicts if you have it in both 
> places.
> + %.pic.o: %.c
> 
> 

Reply via email to