require 'package' class Go < Package description 'Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.' homepage 'https://go.dev' version '1.25.5' license 'BSD' compatibility 'all' source_url({ aarch64: "https://go.dev/dl/go#{version}.linux-armv6l.tar.gz", armv7l: "https://go.dev/dl/go#{version}.linux-armv6l.tar.gz", i686: "https://go.dev/dl/go#{version}.linux-386.tar.gz", x86_64: "https://go.dev/dl/go#{version}.linux-amd64.tar.gz" }) source_sha256({ aarch64: '0b27e3dec8d04899d6941586d2aa2721c3dee67c739c1fc1b528188f3f6e8ab5', armv7l: '0b27e3dec8d04899d6941586d2aa2721c3dee67c739c1fc1b528188f3f6e8ab5', i686: 'db908a86e888574ed3432355ba5372ad3ef2c0821ba9b91ceaa0f6634620c40c', x86_64: '9e9b755d63b36acf30c12a9a3fc379243714c1c6d3dd72861da637f336ebb35b' }) conflicts_ok # FIXME: Remove this when file conflicts between go and gcc are fixed no_compile_needed no_shrink def self.install FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/go" FileUtils.mv Dir['*'], "#{CREW_DEST_PREFIX}/share/go" FileUtils.ln_s "#{CREW_PREFIX}/share/go/bin/go", "#{CREW_DEST_PREFIX}/bin" FileUtils.ln_s "#{CREW_PREFIX}/share/go/bin/gofmt", "#{CREW_DEST_PREFIX}/bin" end end