Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-03-30 07:48:31

0001 # Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
0002 # Spack Project Developers. See the top-level COPYRIGHT file for details.
0003 #
0004 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
0005 
0006 from spack.package import *
0007 from spack_repo.builtin.build_systems.makefile import MakefilePackage
0008 import os
0009 
0010 
0011 class Dawn(MakefilePackage):
0012     """Fukui  Renderer   DAWN (Drawer for Academic WritiNgs)
0013     is a renderer, which reads 3D geometrical data and visualize them.
0014     It is a vectorized 3D PostScript processor with analytical
0015     hidden line/surface removal.
0016     It aims at precise technical drawing of complex geometries.
0017     It performs geometrical hidden line/surface removal and calculates
0018     out all visible parts of the 3D data before drawing.  This drawing
0019     algorithm realizes device-independent technical high quality of
0020     vectorized graphics.
0021     3D Data files should be generated by a modeler or by hands
0022     separately.  If you use DAWN as a visualizer of,
0023     say, a simulator of physical experiments,
0024     the simulator application itself is recognized as a modeler.
0025     An important feature of DAWN is that
0026     it has been developed to visualize 3D data generated by
0027     a high-energy experimental detector simulator "GEANT4"
0028     ( http://geant4.web.cern.ch/geant4 , http://geant4.kek.jp ).
0029 
0030     Note: we set 'gv' as default pdf/ps viewer, assuming this is
0031           installed on your system.
0032     """
0033 
0034     # Note: Dawn homepage not available anymore...
0035     homepage = "https://geant4.kek.jp/~tanaka"
0036     url = "http://geant4.kek.jp/~tanaka/src/dawn_3_91a.tgz"
0037 
0038     maintainers = ["sly2j"]
0039 
0040     version(
0041         "3_91a",
0042         sha256="81d855ead1117681b188242dd0be3a24e005d9bd4063fd2bda9a7a794ebcf5f4",
0043     )
0044 
0045     depends_on("c", type="build")
0046     depends_on("cxx", type="build")
0047 
0048     depends_on("tcl")
0049     depends_on("tk")
0050 
0051     ## Patch to ensure wish is called correctly
0052     patch("exec.patch")
0053     patch("install.patch")
0054 
0055     def edit(self, spec, prefix):
0056         makefile = FileFilter("Makefile")
0057         makefile.filter("CC= .*", "CC = " + env["CC"])
0058         makefile.filter("CXX = .*", "CXX = " + env["CXX"])
0059         makefile.filter("INSTALL_DIR = .*", "INSTALL_DIR = {}/bin".format(prefix))
0060         os.environ["DAWN_PS_PREVIEWER"] = "gv"