Index | Thread | Search

From:
Sebastian Benoit <benno@openbsd.org>
Subject:
[new] geant4 package, feedback needed
To:
ports@openbsd.org
Date:
Thu, 13 Nov 2025 19:53:50 +0100

Download raw body.

Thread
Hi,

i'm trying to make a package for geant4, https://geant4.web.cern.ch/

I have a couple of things where i need some guidance:

(1) its in essence a library that allows one to build ones own applications.
But unfortunatly many user-applications out there do not compile against
the latest version of geant4, for various reasons.
Its basically common that an user-application lags behind, and it should be possible to
install multiple versions in parallel. I use two myseld, one needs
geant4-10.7.4 and the other is ahppy with 11.x.

It installs into <prefix>/bin, include, lib, and share.
For now i picked /usr/local/geant4-10.7.4 as prefix for trying it out.

(2) The system needs datasets that describe physical processes. These
are static files, the original installer tries to download these.
Obviously i want to download them earlier, during the fetch phase? And
then install them later. How do we typically hand such situations? Is
there an exmaple in ports? 

https://geant4.web.cern.ch/download/11.3.2.html
https://geant4.web.cern.ch/download/10.7.4.html

(3) I attach my makefile just for illustration, it compiles and produces a
usable package, but its not finished yet. 

I picked /usr/ports/devel/10.7.4/ for now.

-----------------------------------------------------------------------------

COMMENT=	particle simulation toolkit
V =		10.7.4

DISTNAME=	geant4-v${V}
PKGNAME=	geant4-${V}
#REVISION=	0

CATEGORIES=	devel
HOMEPAGE=	https://geant4.web.cern.ch/
MAINTAINER=	Sebastian Benoit <benno@openbsd.org>

# "The Geant4 Software License, Last revision: 28 June 2006"
# "The g4/tools license 2011-Feb-9"
PERMIT_PACKAGE=	Yes

#https://gitlab.cern.ch/geant4/geant4/-/archive/v10.7.3/geant4-v10.7.3.tar.bz
SITES=		https://gitlab.cern.ch/geant4/geant4/-/archive/v${V}/
EXTRACT_SUFX=	.tar.bz2

MODULES=	devel/cmake \
		x11/qt5

SHARED_LIBS +=	G4ptl		0.0

WANTLIB =
WANTLIB +=	${COMPILER_LIBCXX} GL ICE SM X11 Xext Xm
WANTLIB +=	Xmu Xt expat m xerces-c z

#BUILD_DEPENDS=	devel/cmake x11/qt5 graphics/vtk x11/motif

LIB_DEPENDS= 	textproc/xerces-c>=3.0 \
		graphics/vtk \
		x11/motif

RUN_DEPENDS=	devel/cmake

#CFLAGS +=       -I${X11BASE}/include
#CXXFLAGS +=     -I${X11BASE}/include

CONFIGURE_ARGS+=-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_INSTALL_PREFIX=${LOCALBASE}/geant4-${V} \
		-DGEANT4_USE_GDML=ON \
		-DGEANT4_USE_OPENGL_X11=ON \
		-DGEANT4_USE_SYSTEM_ZLIB=ON \
		-DGEANT4_USE_VTK=ON \
		-DGEANT4_USE_XM=ON

#		-DGEANT4_INSTALL_DATA=ON


# rm /usr/local/geant4-10.7.4/lib/Geant4-10.7.4/Geant4PackageCache.cmake

.include <bsd.port.mk>