On 2022/02/24 09:19, Tracey Emery wrote:
> Hello ports,
> 
> There are some bash script anomalies that sthen@ found during a recent
> build of OpenCascade. There is a script that has a customized name based
> on the architecture.
> 
> Also, the script names are fairly generic to be in ${LOCALBASE}/bin, so
> those should be slightly customized for our installation.
> 
> Going down this rabbit hole, I found more customizations to make oce
> properly run, in the event that it is ever used for anything other than
> the kicad build.
> 
> I think I've addressed everything. This fixes the custom name, adds a
> new patch, and adds a MESSAGE with execution instructions.
> 
> ok?

Please use something other than ARCH for the variable, redefining this
could cause some issues (according to bsd.port.mk(5) it is "Current
machine architecture. Read-only.") BITS would do.

Otherwise OK.

> 
> Tracey Emery
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/cad/oce/Makefile,v
> retrieving revision 1.4
> diff -u -p -u -r1.4 Makefile
> --- Makefile  22 Feb 2022 15:20:11 -0000      1.4
> +++ Makefile  24 Feb 2022 16:16:33 -0000
> @@ -9,6 +9,7 @@ GH_ACCOUNT =  tpaviot
>  GH_PROJECT = oce
>  GH_COMMIT =  98a788062f0f30593880b0df1bcf967408212ba4
>  DISTNAME =   oce-7.6.0
> +REVISION =   0
>  
>  .for LIB in TKBO TKBRep TKBin TKBinL TKBinTObj TKBinXCAF TKBool TKCAF TKCDF \
>       TKDCAF TKDraw TKFeat TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR \
> @@ -42,5 +43,48 @@ RUN_DEPENDS =              ${MODTK_RUN_DEPENDS} \
>  
>  CONFIGURE_ARGS +=    -DCMAKE_CXX_FLAGS="-I${X11BASE}/include ${CXXFLAGS}" \
>                       -DINSTALL_DIR_RESOURCE:STRING="share/opencascade/src"
> +
> +.include <bsd.port.arch.mk>
> +.if ${PROPERTIES:Mlp64}
> +ARCH=64
> +.else
> +ARCH=32
> +.endif
> +SUBST_VARS += ARCH
> +
> +# fix bash and make installed script names less generic
> +pre-configure:
> +     sed -i "s,custom,oce_custom,g" \
> +             ${WRKSRC}/adm/templates/*.sh*
> +     sed -i "s,env,oce_env,g" \
> +             ${WRKSRC}/adm/templates/*.sh*
> +     sed -i "s,env,oce_env,g" \
> +             ${WRKSRC}/gen*
> +     sed -i "s,custom,oce_custom,g" \
> +             ${WRKSRC}/gen*
> +     sed -i "s,env\.,oce_env\.,g" \
> +             ${WRKSRC}/CMakeLists.txt
> +     sed -i "s,custom\.,oce_custom\.,g" \
> +             ${WRKSRC}/CMakeLists.txt
> +     sed -i "s,custom_,oce_custom_,g" \
> +             ${WRKSRC}/CMakeLists.txt
> +     sed -i "s,draw\.,oce_draw\.,g" \
> +             ${WRKSRC}/CMakeLists.txt
> +     sed -i "s,/bin/bash,/usr/bin/env bash," \
> +             ${WRKSRC}/adm/templates/*.sh*
> +     mv ${WRKSRC}/adm/templates/custom.sh.main \
> +             ${WRKSRC}/adm/templates/oce_custom.sh.main
> +     mv ${WRKSRC}/adm/templates/custom.build.sh.in \
> +             ${WRKSRC}/adm/templates/oce_custom.build.sh.in
> +     mv ${WRKSRC}/adm/templates/custom.install.sh.in \
> +             ${WRKSRC}/adm/templates/oce_custom.install.sh.in
> +     mv ${WRKSRC}/adm/templates/draw.sh \
> +             ${WRKSRC}/adm/templates/oce_draw.sh
> +     mv ${WRKSRC}/adm/templates/env.build.sh.in \
> +             ${WRKSRC}/adm/templates/oce_env.build.sh.in
> +     mv ${WRKSRC}/adm/templates/env.install.sh.in \
> +             ${WRKSRC}/adm/templates/oce_env.install.sh.in
> +     mv ${WRKSRC}/adm/templates/env.samples.sh.in \
> +             ${WRKSRC}/adm/templates/oce_env.samples.sh.in
>  
>  .include <bsd.port.mk>
> Index: patches/patch-adm_templates_env_install_sh_in
> ===================================================================
> RCS file: patches/patch-adm_templates_env_install_sh_in
> diff -N patches/patch-adm_templates_env_install_sh_in
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-adm_templates_env_install_sh_in     24 Feb 2022 16:16:33 
> -0000
> @@ -0,0 +1,14 @@
> +$OpenBSD$
> +
> +Index: adm/templates/env.install.sh.in
> +--- adm/templates/env.install.sh.in.orig
> ++++ adm/templates/env.install.sh.in
> +@@ -4,7 +4,7 @@ aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}
> + 
> + # ----- For compatibility with external application using CASROOT -----
> + if [ "${CASROOT}" == "" ]; then
> +-  export CASROOT="@INSTALL_DIR@"
> ++  export CASROOT="@INSTALL_DIR@/share/opencascade"
> + fi
> + 
> + # ----- Define path to 3rdparty products -----
> Index: pkg/MESSAGE
> ===================================================================
> RCS file: pkg/MESSAGE
> diff -N pkg/MESSAGE
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ pkg/MESSAGE       24 Feb 2022 16:16:33 -0000
> @@ -0,0 +1,3 @@
> +The following should be used to properly initialize and start OpenCascade:
> +
> +${LOCALBASE}/bin/bash ${LOCALBASE}/bin/oce_draw.sh
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/cad/oce/pkg/PLIST,v
> retrieving revision 1.2
> diff -u -p -u -r1.2 PLIST
> --- pkg/PLIST 22 Feb 2022 15:20:11 -0000      1.2
> +++ pkg/PLIST 24 Feb 2022 16:16:33 -0000
> @@ -1,10 +1,10 @@
>  @comment $OpenBSD: PLIST,v 1.2 2022/02/22 15:20:11 tracey Exp $
>  bin/DRAWEXE
>  @bin bin/DRAWEXE-7.6.0
> -bin/custom.sh
> -bin/custom_clang_64.sh
> -bin/draw.sh
> -bin/env.sh
> +bin/oce_custom.sh
> +bin/oce_custom_clang_${ARCH}.sh
> +bin/oce_draw.sh
> +bin/oce_env.sh
>  include/opencascade/
>  include/opencascade/AIS.hxx
>  include/opencascade/AIS_AngleDimension.hxx
> 

Reply via email to