On Sat, May 06, 2017 at 02:26:41PM -0400, Adam Jensen wrote:
> $ sysctl -n kern.version
> OpenBSD 6.1 (GENERIC.MP) #20: Sat Apr  1 13:45:56 MDT 2017
>     dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
> fpc-3.0.2, lazarus-1.6.4
> 
> Installed via `pkg_add`
> 
> $ echo $PKG_PATH
> http://ftp.openbsd.org/%m
> 
> --- Problem ---
> 
> At start, the "Configure Lazarus IDE" window says:
> '''
> Directory: /usr/local/share/lazarus/
> 
> Error: directory rtl not foundYou can download FPC and the FPC sources from 
> http://sourceforge.net/projects/lazarus/?source=directory
> '''
> 
> Clicking "Start IDE" results in a message that says:
> '''
> Without the proper FPC sources code browsing and completion will be very 
> limited.
> '''
> 
> It looks like the installation is incomplete. 
> 

No, from the FPC point of view the installation is complete. However,
Lazarus wants to access to the "src" directory to enable the
autocompletion on its editor.

This is a patch which I sent to pascal@ long time ago but maintaining
the plist with "src" included is a PIA.

Apply the patch and run:
$ make clean=all
$ make update-plist
$ make reinstall


Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/fpc/Makefile,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile
--- Makefile    2 Mar 2017 12:19:22 -0000       1.15
+++ Makefile    6 May 2017 21:19:30 -0000
@@ -62,6 +62,8 @@ USE_GMAKE =           Yes
 
 post-patch:
        ${SUBST_CMD} ${WRKSRC}/fpcsrc/compiler/systems/t_bsd.pas
+       # We need to save a clean copy of FPC for Lazarus
+       cp -Rf ${WRKSRC}/fpcsrc ${WRKDIR}/
 
 post-install:
        cd ${PREFIX}/bin && ln -s ../lib/fpc/${V}/${COMPNAME} .
@@ -75,6 +77,11 @@ post-install:
        # generate sample config file
        ${PREFIX}/bin/fpcmkcfg -d "basepath=${TRUEPREFIX}/lib/fpc/$V" \
                -o ${PREFIX}/share/examples/fpc-$V/fpc.cfg.sample
+       # Lazarus will look for the source code of FPC here at runtime
+       mv ${WRKDIR}/fpcsrc ${PREFIX}/share/
+       chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/fpcsrc
+       find ${PREFIX}/share/fpcsrc -type d -exec chmod ${DIRMODE} {} +
+       find ${PREFIX}/share/fpcsrc -type f -exec chmod ${SHAREMODE} {} +
 
 do-test:
        find ${WRKSRC} -name Package.fpc | xargs rm -f

Reply via email to