text: # Copyright 2013-2021 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 import *
  
  
  class Cloc(Package):
      """Count, or compute differences of, physical lines of source code in the
      given files (may be archives such as compressed tarballs or zip files)
      and/or recursively below the given directories."""
      homepage = "https://github.com/AlDanial/cloc/"
      url      = "https://github.com/AlDanial/cloc/archive/v1.90.tar.gz"
  
      version('1.90', sha256='60b429dd2aa5cd65707b359dcbcbeb710c8e4db880886528ced0962c67e52548')
      version('1.84', sha256='c3f0a6bd2319110418ccb3e55a7a1b6d0edfd7528bfd2ae5d530938abe90f254')
      version('1.80', sha256='082f53530eee3f9ee84ec449eca59a77ff114250cd7daf9519679537b5b21d67')
      version('1.74', sha256='55ac423d5766c74236700a47838ed66bea47ba42e1d594fdd894074ba3eb0567')
  
      depends_on('perl')
  
      def install(self, spec, prefix):
          # rewrite the script's #! line to call the perl dependency
          shbang = '#!' + spec['perl'].command.path
          filter_file(r'^#!/usr/bin/env perl', shbang, 'cloc')
          filter_file(r'^#!/usr/bin/env perl', shbang, 'sqlite_formatter')
  
          # cloc doesn't have a build system. We have to do our own install here.
          mkdirp(prefix.bin)
          install('cloc', join_path(prefix.bin, "cloc"))
          install('sqlite_formatter', join_path(prefix.bin, "sqlite_formatter"))
          install('./LICENSE', "%s" % prefix)
          install('./README.md', "%s" % prefix)
  