diff --git a/packages/glfw/package.py b/packages/glfw/package.py new file mode 100644 index 0000000000000000000000000000000000000000..ba005f779c8fb0864f9c6699110620894919372b --- /dev/null +++ b/packages/glfw/package.py @@ -0,0 +1,53 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Glfw(CMakePackage): + """GLFW is an Open Source, multi-platform library for + OpenGL, OpenGL ES and Vulkan development on the desktop. It + provides a simple API for creating windows, contexts and + surfaces, receiving input and events.""" + + homepage = "https://www.glfw.org/" + url = "https://github.com/glfw/glfw/archive/3.3.2.tar.gz" + + license("Zlib") + + version("3.3.8", sha256="f30f42e05f11e5fc62483e513b0488d5bceeab7d9c5da0ffe2252ad81816c713") + version("3.3.2", sha256="98768e12e615fbe9f3386f5bbfeb91b5a3b45a8c4c77159cef06b1f6ff749537") + version("3.3.1", sha256="6bca16e69361798817a4b62a5239a77253c29577fcd5d52ae8b85096e514177f") + version("3.3", sha256="81bf5fde487676a8af55cb317830703086bb534c53968d71936e7b48ee5a0f3e") + version("3.2.1", sha256="e10f0de1384d75e6fc210c53e91843f6110d6c4f3afbfb588130713c2f9d8fe8") + version("3.2", sha256="cb3aab46757981a39ae108e5207a1ecc4378e68949433a2b040ce2e17d8f6aa6") + version("3.1.2", sha256="6ac642087682aaf7f8397761a41a99042b2c656498217a1c63ba9706d1eef122") + version("3.1.1", sha256="4de311ec9bf43bfdc8423ddf93b91dc54dc73dcfbedfb0991b6fbb3a9baf245f") + version("3.1", sha256="2140f4c532e7ce4c84cb7e4c419d0979d5954fa1ce204b7646491bd2cc5bf308") + version("3.0.4", sha256="a4e7c57db2086803de4fc853bd472ff8b6d2639b9aa16e6ac6b19ffb53958caf") + version("3.0.3", sha256="7a182047ba6b1fdcda778b79aac249bb2328b6d141188cb5df29560715d01693") + + depends_on("c", type="build") # generated + + variant("doc", default=False, description="Build documentation") + variant("shared", default=False, description="Builds a shared version of the library") + + # dependencies + depends_on("doxygen", type="build", when="+doc") + + # linux only dependencies + depends_on("libxrandr", when="platform=linux") + depends_on("libxinerama", when="platform=linux") + depends_on("libxcursor", when="platform=linux") + depends_on("libxdamage", when="platform=linux") + depends_on("libxft", when="platform=linux") + depends_on("libxi", when="platform=linux") + depends_on("libxmu", when="platform=linux") + depends_on("freetype", when="platform=linux") + depends_on("fontconfig", when="platform=linux") + depends_on("pkgconfig", type="build", when="platform=linux") + + def cmake_args(self): + return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]