diff --git a/.github/workflows/Unit-Test.yml b/.github/workflows/Unit-Test.yml index c7c162c0c..a226ba0d4 100644 --- a/.github/workflows/Unit-Test.yml +++ b/.github/workflows/Unit-Test.yml @@ -19,4 +19,6 @@ jobs: CREW_REPO=${{ github.event.pull_request.head.repo.clone_url }} CREW_BRANCH=${{ github.head_ref }} crew update && \ yes | crew upgrade && \ yes | crew install vim && \ - yes | crew remove vim" + yes | crew remove vim && \ + cd ../tests && \ + ./prop_test" diff --git a/bin/crew b/bin/crew index 6ae818619..7161e983e 100755 --- a/bin/crew +++ b/bin/crew @@ -286,23 +286,7 @@ def generate_compatible puts "Error with #{pkgName}.rb: #{e}".red unless e.to_s.include?('uninitialized constant') end puts "Checking #{pkgName} for compatibility.".orange if @opt_verbose - # If compatibility property does not exist, check if a binary package - # exists, and if not, see if at least a source url exists. - @compatibility = true - @binary_url = '' - @url = '' - if @pkg.compatibility.nil? - @binary_url = @pkg.get_binary_url(@device[:architecture]) - @url = @pkg.get_url(@device[:architecture]) - unless @binary_url - puts "#{pkgName} is missing compatibility information".red - # puts "url: #{@url}".green - # If no source package is available, then package is not compatible. - @compatibility = false unless @url - puts "#{pkgName} compatibility is #{@compatibility}" if @opt_verbose - end - end - if @pkg.compatible? && @compatibility + if @pkg.compatible? # add to compatible packages puts "Adding #{pkgName} #{@pkg.version} to compatible packages.".lightgreen if @opt_verbose @device[:compatible_packages].push(name: @pkg.name) diff --git a/packages/buildessential.rb b/packages/buildessential.rb index 9c9688e48..dbd64e417 100644 --- a/packages/buildessential.rb +++ b/packages/buildessential.rb @@ -2,7 +2,7 @@ require 'package' class Buildessential < Package description 'A collection of tools essential to compile and build software.' - homepage '' + homepage 'SKIP' version '1.25' license 'GPL-3+' compatibility 'all' diff --git a/packages/camp.rb b/packages/camp.rb deleted file mode 100644 index 44eb38520..000000000 --- a/packages/camp.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'package' - -class Camp < Package - description 'Server stack which includes httpd, percona_server and php' - homepage '' - version '1.0' - license 'GPL-3+' - compatibility 'all' - - is_fake - - depends_on 'httpd' - depends_on 'percona_server' - depends_on 'php74' unless File.exist? "#{CREW_PREFIX}/bin/php" -end diff --git a/packages/ck4up.rb b/packages/ck4up.rb index 10d8682ce..0039f1b42 100644 --- a/packages/ck4up.rb +++ b/packages/ck4up.rb @@ -4,7 +4,7 @@ class Ck4up < Package description 'Check for Updates, a utility to monitor web pages for updates' homepage 'http://jue.li/crux/ck4up' version '1.4' - license '' # Can't find license for project + license 'GPL-2+' compatibility 'all' source_url 'http://jue.li/crux/ck4up/ck4up-1.4.tar.gz' source_sha256 '37f2f981cfdb6811a906e5520cb27203cb5ecb725d2180aaac59d377c1ac9fbf' diff --git a/packages/clean.rb b/packages/clean.rb index 4efcc6227..48ebd21fe 100644 --- a/packages/clean.rb +++ b/packages/clean.rb @@ -4,7 +4,7 @@ class Clean < Package description 'Clean is a program that searches for files identified by regular expressions and deletes them' homepage 'https://sourceforge.net/projects/clean/' version '3.4' - license '' # Can't find license for project + license 'custom' compatibility 'all' source_url 'https://downloads.sourceforge.net/project/clean/clean/3.4/clean-3.4.tar.bz2' source_sha256 '761f3a9e1ed50747b6a62a8113fa362a7cc74d359ac6e8e30ba6b30d59115320' diff --git a/packages/comgt.rb b/packages/comgt.rb index 4228e2238..dec5816d7 100644 --- a/packages/comgt.rb +++ b/packages/comgt.rb @@ -4,7 +4,7 @@ class Comgt < Package description 'Comgt is a command line tool for controlling, configuring and interacting with Option Wireless 3G and 2G (HSDPA, UMTS, EDGE, GPRS, GSM) data devices within the Linux environment.' homepage 'https://sourceforge.net/projects/comgt/' version '0.32' - license '' # Can't find license for project + license 'GPL-2+' compatibility 'all' source_url 'https://downloads.sourceforge.net/project/comgt/comgt/0.32/comgt.0.32.tgz' source_sha256 '0cedb2a5aa608510da66a99aab74df3db363df495032e57e791a2ff55f1d7913' diff --git a/packages/evolution_data_server.rb b/packages/evolution_data_server.rb index 499403b73..97b5f3497 100644 --- a/packages/evolution_data_server.rb +++ b/packages/evolution_data_server.rb @@ -2,6 +2,7 @@ require 'package' class Evolution_data_server < Package description 'Centralized access to appointments and contacts' + homepage 'https://wiki.gnome.org/Apps/Evolution' version '3.48.1' license 'LGPL-2 or LGPL-3, BSD and Sleepycat' compatibility 'x86_64' diff --git a/packages/fcft.rb b/packages/fcft.rb index cb2eaf9eb..90661e288 100644 --- a/packages/fcft.rb +++ b/packages/fcft.rb @@ -7,6 +7,7 @@ class Fcft < Package description 'Simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman.' homepage 'https://codeberg.org/dnkl/fcft' version '2.5.1' + license 'MIT' compatibility 'all' source_url 'https://codeberg.org/dnkl/fcft.git' git_hashtag version diff --git a/packages/foot.rb b/packages/foot.rb index 5c39cd1a6..c7d835c4c 100644 --- a/packages/foot.rb +++ b/packages/foot.rb @@ -7,6 +7,7 @@ class Foot < Meson description 'Wayland terminal emulator - fast, lightweight and minimalistic' homepage 'https://codeberg.org/dnkl/foot' version '1.15.0' + license 'MIT' compatibility 'x86_64 aarch64 armv7l' source_url 'https://codeberg.org/dnkl/foot.git' git_hashtag version diff --git a/packages/gjs.rb b/packages/gjs.rb index 88fe2f3ac..8c6483662 100644 --- a/packages/gjs.rb +++ b/packages/gjs.rb @@ -2,6 +2,7 @@ require 'package' class Gjs < Package description 'Javascript Bindings for GNOME' + homepage 'https://gitlab.gnome.org/GNOME/gjs/' version '1.74.0' license 'MIT and MPL-1.1, LGPL-2+ or GPL-2+' compatibility 'all' diff --git a/packages/gnome_text_editor.rb b/packages/gnome_text_editor.rb index 2861d5e1e..a63e1c9aa 100644 --- a/packages/gnome_text_editor.rb +++ b/packages/gnome_text_editor.rb @@ -1,8 +1,10 @@ require 'package' class Gnome_text_editor < Package - description 'GNOME Text Editor (2021)' + description 'GNOME Text Editor' + homepage 'https://gitlab.gnome.org/GNOME/gnome-text-editor' version '44.0' + license 'GPL-3' compatibility 'x86_64 aarch64 armv7l' source_url 'https://gitlab.gnome.org/GNOME/gnome-text-editor.git' git_hashtag version diff --git a/packages/gnome_tweaks.rb b/packages/gnome_tweaks.rb index cf049e447..7cf948c89 100644 --- a/packages/gnome_tweaks.rb +++ b/packages/gnome_tweaks.rb @@ -2,6 +2,7 @@ require 'buildsystems/meson' class Gnome_tweaks < Meson description 'Graphical interface for advanced GNOME 3 settings Tweak Tool' + homepage 'https://wiki.gnome.org/Apps/Tweaks' @_ver = '42.0' version "#{@_ver}-py3.12" license 'GPL-3+ and CC0-1.0' diff --git a/packages/hwloc.rb b/packages/hwloc.rb index 7ddf625de..75f74d275 100644 --- a/packages/hwloc.rb +++ b/packages/hwloc.rb @@ -7,6 +7,7 @@ class Hwloc < Package description 'Portable Hardware Locality is a portable abstraction of hierarchical architectures' homepage 'https://www.open-mpi.org/projects/hwloc/' version '2.7.0' + license 'BSD-3 Clause' compatibility 'all' source_url 'https://github.com/open-mpi/hwloc.git' git_hashtag "hwloc-#{version}" diff --git a/packages/iptraf.rb b/packages/iptraf.rb index 9e9a6b0c7..32a401cfc 100644 --- a/packages/iptraf.rb +++ b/packages/iptraf.rb @@ -4,7 +4,7 @@ class Iptraf < Package description 'IPTraf is a console-based network statistics utility for Linux.' homepage 'http://iptraf.seul.org/' version '3.0.0' - license '' # Can't find license + license 'GPL-2+' compatibility 'all' source_url 'ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz' # Unable to connect source_sha256 '9ee433d95573d612539da4b452e6cdcbca6ab6674a88bfbf6eaf12d4902b5163' diff --git a/packages/jam.rb b/packages/jam.rb index 918c48ac7..2d94df241 100644 --- a/packages/jam.rb +++ b/packages/jam.rb @@ -4,7 +4,7 @@ class Jam < Package description 'Jam is a software build tool that makes building simple things simple and building complicated things manageable.' homepage 'https://www.perforce.com/documentation/jam-documentation' version '2.6' - license '' # Can't find license + license 'JAM License' compatibility 'all' source_url 'https://swarm.workshop.perforce.com/downloads/guest/perforce_software/jam/jam-2.6.zip' source_sha256 '7c510be24dc9d0912886c4364dc17a013e042408386f6b937e30bd9928d5223c' diff --git a/packages/js102.rb b/packages/js102.rb index 81875159a..6320a0193 100644 --- a/packages/js102.rb +++ b/packages/js102.rb @@ -2,6 +2,7 @@ require 'package' class Js102 < Package description 'Spidermonkey is a javaScript interpreter with libraries from Mozilla — Version 102' + homepage 'https://spidermonkey.dev/' version '102.4.0' license 'MPL-2.0' compatibility 'all' diff --git a/packages/js78.rb b/packages/js78.rb index a3b43328a..f96460a1c 100644 --- a/packages/js78.rb +++ b/packages/js78.rb @@ -2,6 +2,7 @@ require 'package' class Js78 < Package description 'Spidermonkey is a javaScript interpreter with libraries from Mozilla — Version 78' + homepage 'https://spidermonkey.dev/' version '78.7.0' license 'MPL-2.0' compatibility 'all' diff --git a/packages/js91.rb b/packages/js91.rb index 0d6947595..bea78a2ff 100644 --- a/packages/js91.rb +++ b/packages/js91.rb @@ -2,6 +2,7 @@ require 'package' class Js91 < Package description 'Spidermonkey is a javaScript interpreter with libraries from Mozilla — Version 91' + homepage 'https://spidermonkey.dev/' version '91.4.1' license 'MPL-2.0' compatibility 'all' diff --git a/packages/libjpeg.rb b/packages/libjpeg.rb index 91adcf5e2..8eb908e67 100644 --- a/packages/libjpeg.rb +++ b/packages/libjpeg.rb @@ -4,6 +4,7 @@ class Libjpeg < Package description 'Libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API.' homepage 'https://libjpeg-turbo.org' version '3.0.1' + license 'IJG License' compatibility 'all' source_url 'https://github.com/libjpeg-turbo/libjpeg-turbo.git' git_hashtag version diff --git a/packages/libmaxminddb.rb b/packages/libmaxminddb.rb index b2d9d7b1f..8a84d5b2b 100644 --- a/packages/libmaxminddb.rb +++ b/packages/libmaxminddb.rb @@ -7,6 +7,7 @@ class Libmaxminddb < Package description 'MaxMind GeoIP2 database - split package with library and utilities' homepage 'https://dev.maxmind.com/geoip/geoip2/downloadable/' version '1.6.0' + license 'Apache-2.0' compatibility 'all' source_url 'https://github.com/maxmind/libmaxminddb.git' git_hashtag version diff --git a/packages/libxcvt.rb b/packages/libxcvt.rb index 06a4612ca..a0a873cb3 100644 --- a/packages/libxcvt.rb +++ b/packages/libxcvt.rb @@ -7,6 +7,7 @@ class Libxcvt < Package description 'library providing a standalone version of the X server implementation of the VESA CVT standard timing modelines generator' homepage 'https://gitlab.freedesktop.org/xorg/lib/libxcvt' version '0.1.1' + license 'MIT' compatibility 'all' source_url 'https://gitlab.freedesktop.org/xorg/lib/libxcvt.git' git_hashtag "libxcvt-#{version}" diff --git a/packages/live555.rb b/packages/live555.rb index f7a4d310a..8c5c293c1 100644 --- a/packages/live555.rb +++ b/packages/live555.rb @@ -4,7 +4,7 @@ class Live555 < Package description 'This code forms a set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP).' homepage 'http://www.live555.com/liveMedia/' version '2019.08.28' - license '' # Can't find license + license 'LGPL' compatibility 'all' source_url 'http://www.live555.com/liveMedia/public/live.2019.08.28.tar.gz' source_sha256 'a3dcd157865186cf883c3a80b4bb09637e91fff96b234b2c780a7f7dcc7a35dc' diff --git a/packages/lv2.rb b/packages/lv2.rb index ecbe2753d..d0ab7fa5b 100644 --- a/packages/lv2.rb +++ b/packages/lv2.rb @@ -7,6 +7,7 @@ class Lv2 < Meson description 'Plugin standard for audio systems' homepage 'http://lv2plug.in/' version '1.18.10' + license 'ISC License' compatibility 'all' source_url 'https://github.com/lv2/lv2.git' git_hashtag "v#{version}" diff --git a/packages/mimalloc.rb b/packages/mimalloc.rb index eb97149e3..8554b3056 100644 --- a/packages/mimalloc.rb +++ b/packages/mimalloc.rb @@ -9,6 +9,7 @@ class Mimalloc < Package git_hashtag '221f96ac2c999ef22414521fb39438018dfa9a41' @_ver = (@git_hashtag[0, 6]) version "dev-slice-#{@_ver}" + license 'MIT' compatibility 'all' source_url 'https://github.com/microsoft/mimalloc.git' git_branch 'dev-slice' diff --git a/packages/musl_libbacktrace.rb b/packages/musl_libbacktrace.rb index 704702b4d..7ad6f3e4c 100644 --- a/packages/musl_libbacktrace.rb +++ b/packages/musl_libbacktrace.rb @@ -7,6 +7,7 @@ class Musl_libbacktrace < Package description 'Library to produce symbolic backtraces' homepage 'https://github.com/ianlancetaylor/libbacktrace' version 'd0f5e95a87a4d3e0a1ed6c069b5dae7cbab3ed2a' + license 'BSD-3 Clause' compatibility 'all' source_url 'https://github.com/ianlancetaylor/libbacktrace.git' git_hashtag version diff --git a/packages/musl_wolfssl.rb b/packages/musl_wolfssl.rb index cce63c513..e8b3b5fb9 100644 --- a/packages/musl_wolfssl.rb +++ b/packages/musl_wolfssl.rb @@ -7,6 +7,7 @@ class Musl_wolfssl < Package description 'small, fast, portable implementation of TLS/SSL for embedded devices to the cloud formerly CyaSSL' homepage 'https://www.wolfssl.com/' version '5.1.1' + license 'GPL-2+' compatibility 'all' source_url 'https://github.com/wolfSSL/wolfssl/archive/v5.1.1-stable.tar.gz' source_sha256 'd3e0544dbe7e9587c0f6538cdc671b6492663bb7a4281819538abe6c99cdbd92' diff --git a/packages/opam.rb b/packages/opam.rb index 98e881d44..d5d960316 100644 --- a/packages/opam.rb +++ b/packages/opam.rb @@ -7,6 +7,7 @@ class Opam < Package description 'OCaml package manager' homepage 'https://opam.ocaml.org/' version '2.1.4' + license 'LGPL-2.1-with-linking-exception' compatibility 'all' source_url 'https://github.com/ocaml/opam.git' git_hashtag version diff --git a/packages/openrtsp.rb b/packages/openrtsp.rb index bd216f2dc..ca4c549de 100644 --- a/packages/openrtsp.rb +++ b/packages/openrtsp.rb @@ -1,10 +1,10 @@ require 'package' class Openrtsp < Package - description '"openRTSP" is a command-line program that can be used to open, stream, receive, and (optionally) record media streams that are specified by a RTSP URL - i.e., an URL that begins with rtsp://' + description 'openRTSP is a command-line program that can be used to open, stream, receive, and (optionally) record media streams that are specified by a RTSP URL - i.e., an URL that begins with rtsp://' homepage 'http://www.live555.com/openRTSP/' version '2018.02.28' - license '' # Can't find license + license 'GPL-3+' compatibility 'all' source_url 'http://www.live555.com/liveMedia/public/live.2018.02.28.tar.gz' source_sha256 '2db4f05616bdd21a609baf82c836486c44820c16a006315e02abe2b0b53a247e' diff --git a/packages/pipewire.rb b/packages/pipewire.rb index ff1b219cc..63d92a655 100644 --- a/packages/pipewire.rb +++ b/packages/pipewire.rb @@ -2,14 +2,14 @@ require 'package' class Pipewire < Package description 'PipeWire is a project that aims to greatly improve handling of audio and video under Linux.' - @_ver = if Gem::Version.new(CREW_KERNEL_VERSION.to_s) < Gem::Version.new('3.9') - '0.3.29' - elsif Gem::Version.new(CREW_KERNEL_VERSION.to_s) <= Gem::Version.new('5.4') - '0.3.60' - else - '1.0.0' - end - version @_ver + homepage 'https://pipewire.org' + if Gem::Version.new(CREW_KERNEL_VERSION.to_s) < Gem::Version.new('3.9') + version '0.3.29' + elsif Gem::Version.new(CREW_KERNEL_VERSION.to_s) <= Gem::Version.new('5.4') + version '0.3.60' + else + version '1.0.0' + end compatibility 'all' license 'LGPL-2.1+' source_url 'https://gitlab.freedesktop.org/pipewire/pipewire.git' diff --git a/packages/pkgsrc.rb b/packages/pkgsrc.rb index dc81d1bf4..05b706272 100644 --- a/packages/pkgsrc.rb +++ b/packages/pkgsrc.rb @@ -4,7 +4,7 @@ class Pkgsrc < Package description 'pkgsrc is a framework for building third-party software on NetBSD and other UNIX-like systems' homepage 'https://github.com/NetBSD/pkgsrc' version '2021Q1' - license '' # Can't find license + license 'BSD-2 Clause' compatibility 'all' source_url 'https://github.com/NetBSD/pkgsrc/archive/ccaf3cb68a965f1b055b3e04485d725fc7043813.tar.gz' source_sha256 '16039f24bb84d5046832e462cfd7a21c5f53dd15792a9e6b71fa4faec3a7ab4e' diff --git a/packages/powerline_fonts.rb b/packages/powerline_fonts.rb index 2f7926abe..2557e4e15 100644 --- a/packages/powerline_fonts.rb +++ b/packages/powerline_fonts.rb @@ -4,7 +4,7 @@ class Powerline_fonts < Package description 'Patched fonts for Powerline users.' homepage 'https://github.com/powerline/fonts' version '2015-12-04' - license '' # Can't find license + license 'MIT' compatibility 'all' source_url 'https://github.com/powerline/fonts/archive/2015-12-04.tar.gz' source_sha256 '3a0b73abca6334b5e6bddefab67f6eb1b2fac1231817d95fc79126c8998c4844' diff --git a/packages/python27.rb b/packages/python27.rb index bfa10f374..67d414852 100644 --- a/packages/python27.rb +++ b/packages/python27.rb @@ -5,6 +5,7 @@ class Python27 < Package description 'A compatibility package for python2.' homepage Python2.homepage version Python2.version + license Python2.license compatibility Python2.compatibility is_fake diff --git a/packages/qemu.rb b/packages/qemu.rb index 4b19d7cd6..7835ced59 100644 --- a/packages/qemu.rb +++ b/packages/qemu.rb @@ -4,6 +4,7 @@ class Qemu < Package description 'QEMU is a generic and open source machine emulator and virtualizer.' homepage 'http://www.qemu.org/' version '8.1.2' + license 'GPL-2' compatibility 'x86_64 aarch64 armv7l' source_url 'https://github.com/qemu/qemu.git' git_hashtag "v#{version}" diff --git a/packages/ruby_asciidoctor.rb b/packages/ruby_asciidoctor.rb index 1c205a7e5..6c64bd994 100644 --- a/packages/ruby_asciidoctor.rb +++ b/packages/ruby_asciidoctor.rb @@ -4,6 +4,7 @@ class Ruby_asciidoctor < Package description 'A fast text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook & more.' homepage 'https://asciidoctor.org/' version '2.0.18-ruby-3.2' + license 'MIT' compatibility 'all' source_url 'SKIP' diff --git a/packages/ruby_concurrent_ruby.rb b/packages/ruby_concurrent_ruby.rb index 194603a91..9064fe787 100644 --- a/packages/ruby_concurrent_ruby.rb +++ b/packages/ruby_concurrent_ruby.rb @@ -4,6 +4,7 @@ class Ruby_concurrent_ruby < Package description 'Modern concurrency tools for Ruby. Inspired by Erlang, Clojure, Scala, Haskell, F#, C#, Java, and classic concurrency patterns.' homepage 'https://github.com/ruby-concurrency/concurrent-ruby' version '1.1.10-ruby-3.2' + license 'MIT' compatibility 'all' source_url 'SKIP' diff --git a/packages/ruby_debug.rb b/packages/ruby_debug.rb index e43de5c13..ab60fb903 100644 --- a/packages/ruby_debug.rb +++ b/packages/ruby_debug.rb @@ -4,6 +4,7 @@ class Ruby_debug < Package description 'Debugging functionality for Ruby. This is completely rewritten debug.rb which was contained by the ancient Ruby versions.' homepage 'https://github.com/ruby/debug' version '1.7.1-ruby-3.2' + license 'BSD-2 Clause' compatibility 'all' source_url 'SKIP' diff --git a/packages/ruby_mdl.rb b/packages/ruby_mdl.rb index b0006fa12..a3f29dea7 100644 --- a/packages/ruby_mdl.rb +++ b/packages/ruby_mdl.rb @@ -4,6 +4,7 @@ class Ruby_mdl < Package description 'Style checker/lint tool for markdown files.' homepage 'https://github.com/markdownlint/markdownlint' version '0.12.0-ruby-3.2' + license 'MIT' compatibility 'all' source_url 'SKIP' diff --git a/packages/ruby_rubocop.rb b/packages/ruby_rubocop.rb index ff04e7ea9..4dbf5eb4a 100644 --- a/packages/ruby_rubocop.rb +++ b/packages/ruby_rubocop.rb @@ -7,6 +7,7 @@ class Ruby_rubocop < Package description 'A Ruby static code analyzer and formatter' homepage 'https://rubocop.org' version '1.57.2-ruby-3.2' + license 'MIT' compatibility 'all' source_url 'https://github.com/chromebrew/chromebrew/raw/master/.rubocop.yml' source_sha256 '3942911bbee4c316617fa78825160726a398737db9a6085c743c9477acd55222' diff --git a/packages/ruby_yaml_lint.rb b/packages/ruby_yaml_lint.rb index 0e4b30b2b..d8c1ae3a2 100644 --- a/packages/ruby_yaml_lint.rb +++ b/packages/ruby_yaml_lint.rb @@ -4,6 +4,7 @@ class Ruby_yaml_lint < Package description 'Check if your YAML files can be loaded.' homepage 'https://rubygems.org/gems/yaml-lint' version '0.0.10-ruby-3.2' + license 'MIT' compatibility 'all' source_url 'SKIP' diff --git a/packages/serd.rb b/packages/serd.rb index 7fcd3da57..eaa87c500 100644 --- a/packages/serd.rb +++ b/packages/serd.rb @@ -7,6 +7,7 @@ class Serd < Meson description 'Lightweight C library for RDF syntax supporting reading/ writing Turtle and NTriples.' homepage 'https://drobilla.net/software/serd/' version '0.30.16' + license 'ISC' compatibility 'all' source_url 'https://github.com/drobilla/serd.git' git_hashtag "v#{version}" diff --git a/packages/sg3_utils.rb b/packages/sg3_utils.rb index 19db96b26..e077998f1 100644 --- a/packages/sg3_utils.rb +++ b/packages/sg3_utils.rb @@ -2,9 +2,9 @@ require 'package' class Sg3_utils < Package description 'The sg3_utils package contains utilities that send SCSI commands to devices.' - homepage 'http://sg.danny.cz/sg/sg3_utils.html' # 404 Not Found + homepage 'http://sg.danny.cz/sg/sg3_utils.html' version '1.44' - license '' # Can't find license + license 'BSD-2 Clause' compatibility 'all' source_url 'http://sg.danny.cz/sg/p/sg3_utils-1.44.tar.xz' source_sha256 'ca94ac106510742cd8ff5ead4a7e5c89d410653291401daf4632d2bef2a35b05' diff --git a/packages/shaderc.rb b/packages/shaderc.rb index 7531b82a5..86c5ce32f 100644 --- a/packages/shaderc.rb +++ b/packages/shaderc.rb @@ -5,8 +5,9 @@ require 'package' class Shaderc < Package description 'Collection of tools, libraries and tests for shader compilation' + homepage 'https://github.com/google/shaderc' version '2023.2' - license 'Apache' + license 'Apache-2.0' compatibility 'all' source_url 'https://github.com/google/shaderc.git' git_hashtag "v#{version}" diff --git a/packages/shells.rb b/packages/shells.rb index 0619d98a3..4c3a88761 100644 --- a/packages/shells.rb +++ b/packages/shells.rb @@ -4,7 +4,7 @@ class Shells < Package description 'Launch your Shells™ virtual desktop' homepage 'https://www.shells.com/' version '0.2b' - license '' + license 'Proprietary' compatibility 'x86_64' source_url 'https://static.atonline.net/download/cswvf-5htgl5-77xz-glna-lowp-45nddony/shells-go-debian-buster-0.2b.tar.bz2' source_sha256 '6d1a8267056c5c372f2bc1918e022f618006e2bcec1869cf2bfbb7d33e8dbc84' diff --git a/packages/shhmsg.rb b/packages/shhmsg.rb index 0891a8864..a708169a0 100644 --- a/packages/shhmsg.rb +++ b/packages/shhmsg.rb @@ -2,9 +2,9 @@ require 'package' class Shhmsg < Package description 'C-functions for error messages, verbose messages and \'normal\' messages in terminal-based programs.' - homepage 'http://shh.thathost.com/pub-unix/#sshmsg' # 404 Not Found + homepage 'http://shh.thathost.com/pub-unix/#sshmsg' version '1.4.2-2' - license '' # Can't find license + license 'Artistic' compatibility 'all' source_url 'http://shh.thathost.com/pub-unix/files/shhmsg-1.4.2.tar.gz' source_sha256 '88c69e3f0b920b1ef93f6c10f354786f171d7cb3ab170a463bb9ab8bbf13a02b' diff --git a/packages/shhopt.rb b/packages/shhopt.rb index 4e4d49655..4626d8705 100644 --- a/packages/shhopt.rb +++ b/packages/shhopt.rb @@ -2,9 +2,9 @@ require 'package' class Shhopt < Package description 'C-functions for parsing command line options, both traditional one-character options, and GNU\'ish --long-options.' - homepage 'http://shh.thathost.com/pub-unix/#sshopt' # 404 Not Found + homepage 'http://shh.thathost.com/pub-unix/#sshopt' version '1.1.7-2' - license '' # Can't find license + license 'Artistic' compatibility 'all' source_url 'http://shh.thathost.com/pub-unix/files/shhopt-1.1.7.tar.gz' source_sha256 'bae94335124efa6fcc2f0a55cabd68c9c90be935bcdb8054d7e5188e0d5da679' diff --git a/packages/snap.rb b/packages/snap.rb deleted file mode 100644 index 50d0d219a..000000000 --- a/packages/snap.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'package' - -class Snap < Package - description 'Server stack which includes sqlite, nginx and php. Not to be confused with snapd.' - homepage '' - version '1.1' - license 'GPL-3+' - compatibility 'all' - - is_fake - - depends_on 'nginx' - depends_on 'sqlite' - depends_on 'php81' unless File.exist? "#{CREW_PREFIX}/bin/php" -end diff --git a/packages/sord.rb b/packages/sord.rb index d52460870..248ea9ee1 100644 --- a/packages/sord.rb +++ b/packages/sord.rb @@ -7,6 +7,7 @@ class Sord < Meson description 'A lightweight C library for storing RDF data in memory' homepage 'https://drobilla.net/software/sord/' version '0.16.14' + license 'ISC' compatibility 'all' source_url 'https://github.com/drobilla/sord.git' git_hashtag "v#{version}" diff --git a/packages/spirv_headers.rb b/packages/spirv_headers.rb index ceb6ddd9a..638eac103 100644 --- a/packages/spirv_headers.rb +++ b/packages/spirv_headers.rb @@ -4,6 +4,7 @@ require 'package' class Spirv_headers < Package + homepage 'https://github.com/KhronosGroup/SPIRV-Headers' description 'SPIR-V Headers' version '1.3.239.0' license 'MIT' diff --git a/packages/spirv_tools.rb b/packages/spirv_tools.rb index 5d06062c1..3d673035f 100644 --- a/packages/spirv_tools.rb +++ b/packages/spirv_tools.rb @@ -3,6 +3,7 @@ require 'package' class Spirv_tools < Package + homepage 'https://github.com/KhronosGroup/SPIRV-Tools' description 'API and commands for processing SPIR-V modules' version '2023.1' license 'custom' diff --git a/packages/sratom.rb b/packages/sratom.rb index d3845f546..6a7bddb62 100644 --- a/packages/sratom.rb +++ b/packages/sratom.rb @@ -7,6 +7,7 @@ class Sratom < Meson description 'An LV2 Atom RDF serialisation library' homepage 'https://drobilla.net/software/sratom/' version '0.6.14' + license 'ISC' compatibility 'all' source_url 'https://github.com/lv2/sratom.git' git_hashtag "v#{version}" diff --git a/packages/tbb.rb b/packages/tbb.rb index b145fa9ea..6d06eb2b0 100644 --- a/packages/tbb.rb +++ b/packages/tbb.rb @@ -7,6 +7,7 @@ class Tbb < Package description 'High level abstract threading library' homepage 'https://www.threadingbuildingblocks.org/' version '2021.5.0' + license 'Apache-2.0' compatibility 'all' source_url 'https://github.com/oneapi-src/oneTBB.git' git_hashtag "v#{version}" diff --git a/packages/tinycore.rb b/packages/tinycore.rb index 1bb5a68d9..1ef921e34 100644 --- a/packages/tinycore.rb +++ b/packages/tinycore.rb @@ -5,7 +5,7 @@ class Tinycore < Package This is a wrapper script to be able to execute their .tcz files.' homepage 'https://distro.ibiblio.org/tinycorelinux/' version '9.0-0' - license '' # Figuring out + license 'GPL-2' compatibility 'all' case ARCH when 'armv7l', 'aarch64' diff --git a/packages/tllist.rb b/packages/tllist.rb index 8dbfc3c42..8ff8d6d21 100644 --- a/packages/tllist.rb +++ b/packages/tllist.rb @@ -7,6 +7,7 @@ class Tllist < Package description 'A typed linked list C header file only library' homepage 'https://codeberg.org/dnkl/tllist' version '1.0.5' + license 'MIT' compatibility 'all' source_url 'https://codeberg.org/dnkl/tllist.git' git_hashtag version diff --git a/packages/ucl.rb b/packages/ucl.rb index 89111e09b..359847e3a 100644 --- a/packages/ucl.rb +++ b/packages/ucl.rb @@ -7,6 +7,7 @@ class Ucl < Package description 'Portable lossless data compression library written in ANSI C' homepage 'https://www.oberhumer.com/opensource/ucl/' version '1.03' + license 'GPL-2+' compatibility 'all' source_url 'https://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz' source_sha256 'b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348' diff --git a/packages/wayland_proxy_virtwl.rb b/packages/wayland_proxy_virtwl.rb index d75eb44ac..57d8139b1 100644 --- a/packages/wayland_proxy_virtwl.rb +++ b/packages/wayland_proxy_virtwl.rb @@ -4,6 +4,7 @@ class Wayland_proxy_virtwl < Package description 'Proxy Wayland connections across the VM boundary' homepage 'https://github.com/talex5/wayland-proxy-virtwl' version 'd7f58d405514dd031f2f12e402c8c6a58e62a885' + license 'Apache-2.0' compatibility 'all' source_url 'https://github.com/talex5/wayland-proxy-virtwl.git' git_hashtag version diff --git a/packages/wireshark.rb b/packages/wireshark.rb index 0c331b6aa..773a994f3 100644 --- a/packages/wireshark.rb +++ b/packages/wireshark.rb @@ -7,6 +7,7 @@ class Wireshark < CMake description 'Network traffic and protocol analyzer/sniffer' homepage 'https://www.wireshark.org/' version '4.2.0' + license 'GPL-2' compatibility 'all' source_url 'https://github.com/wireshark/wireshark.git' git_hashtag "wireshark-#{version}" diff --git a/packages/wxwidgets31.rb b/packages/wxwidgets31.rb index 4f7c1f85c..3f2d469f5 100644 --- a/packages/wxwidgets31.rb +++ b/packages/wxwidgets31.rb @@ -5,6 +5,7 @@ class Wxwidgets31 < Package homepage 'https://www.wxwidgets.org/' @_ver = '3.1.7' version "#{@_ver}-2" + license 'wxWindows Library Licence' compatibility 'x86_64 aarch64 armv7l' source_url 'https://github.com/wxWidgets/wxWidgets.git' git_hashtag "v#{@_ver}" diff --git a/tests/README.md b/tests/README.md index 541613acf..3eb2823ed 100644 --- a/tests/README.md +++ b/tests/README.md @@ -1,40 +1,4 @@ # Tests -## Why to run tests - -Running tests will make sure that crew is working correctly or explain the problem if it's not. - -## When to run tests - -The tests can be used at any time to help with development but make sure to run them before submitting a Pull Request. - -## Preparing new tests - -To prepare a new test, create a ruby script. It may use crew constants (created in `lib/const.rb`) and import packages (be sure to use `require_relative`). - -It should finish normally if the test passed, otherwise abort with `exit 1` and preferably explain why the test failed. - -A simple example of a test script called `my_test` is below: - -```ruby -#!/usr/bin/env ruby - -# Makes sure buildessential package depends on gcc -require_relative "../lib/package" - -pkg = Package.load_package('../package/buildessential.rb') - -if pkg.dependencies and pkg.dependencies.has_key?('gcc') then - puts "Everything works properly.".lightgreen -else - puts "Buildessential should depend on gcc!".lightred - exit 1 -end -``` -Make sure the script is executable with `chmod +x my_test`. Note: This will only work in directories with execute permission. - -## How to run tests - -Execute `ruby my_test` from this directory (`tests/`). If all tests pass, it should display a message similar to `All tests successful.`, otherwise it should indicate what went wrong. - -Running tests manually may not work! +These are a collection of programs used to ensure crew is working correctly. +They **must** be run in this directory, otherwise they will result in false positives. diff --git a/tests/cycle_test b/tests/cycle_test index 4fda3d50d..09b3ed04c 100755 --- a/tests/cycle_test +++ b/tests/cycle_test @@ -2,6 +2,9 @@ # This test checks whether the packages create a dependency cycle. +# Add >LOCAL< lib to LOAD_PATH +$LOAD_PATH.unshift '../lib' + require 'find' require_relative '../lib/const' require_relative '../lib/color' @@ -9,8 +12,6 @@ require_relative '../lib/package' @all_pkgs = {} -$LOAD_PATH.unshift '../lib' - puts "Running dependency cycle tests...\n".yellow # Loads all packages diff --git a/tests/load_test b/tests/load_test deleted file mode 100755 index 4d421a1c3..000000000 --- a/tests/load_test +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env ruby - -require 'find' -require_relative '../lib/const' -require_relative '../lib/color' - -# Add >LOCAL< lib to LOAD_PATH -$LOAD_PATH.unshift '../lib' - -Dir.glob('../packages/*.rb').each do |filename| - puts "Loading #{File.basename(filename, '.rb')}..." - load filename -end - -puts "\nAll load tests successful.".lightgreen diff --git a/tests/prop_test b/tests/prop_test new file mode 100755 index 000000000..d4647b63b --- /dev/null +++ b/tests/prop_test @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby + +# Add >LOCAL< lib to LOAD_PATH +$LOAD_PATH.unshift '../lib' + +require 'find' +require_relative '../lib/const' +require_relative '../lib/color' +require_relative '../lib/package' + +tofail = 0 + +Dir.glob('../packages/*.rb').each do |filename| + pkg = Package.load_package(filename) + name = File.basename(filename, '.rb').gsub('_', '-') + puts "#{name} is missing a description." if pkg.description.to_s.empty? + puts "#{name} is missing a homepage." if pkg.homepage.to_s.empty? + puts "#{name} is missing a version." if pkg.version.to_s.empty? + puts "#{name} is missing a license." if pkg.license.to_s.empty? + puts "#{name} is missing a compatibility property." if pkg.compatibility.to_s.empty? + tofail += 1 if pkg.description.to_s.empty? || pkg.homepage.to_s.empty? || pkg.version.to_s.empty? || pkg.license.to_s.empty? || pkg.compatibility.to_s.empty? +end + +if tofail.positive? + puts "\n#{tofail} failing packages." + exit(1) if tofail.positive? +else + puts "\nAll property tests successful.".lightgreen +end diff --git a/tests/spellcheck_test b/tests/spellcheck_test deleted file mode 100755 index 2f649ede1..000000000 --- a/tests/spellcheck_test +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env ruby - -# This test checks for spelling errors and provides suggested changes. - -require_relative '../lib/const' -require_relative '../lib/color' - -puts "This test requires codespell. Install with 'pip install codespell'.".lightred unless File.exist? "#{CREW_PREFIX}/bin/codespell" - -# Check for spelling errors. -Dir.chdir '../' do - system 'codespell' -end