def check_version(hash = {}) pkg_version = `cat /usr/local/lib/crew/packages/#{hash[:pkg_name]}.rb | pcregrep -i -o1 'version (.+)'`.strip cur_version = `wget -q -O- #{hash[:url]} | pcregrep -i -o1 \"#{hash[:pattern]}\" #{hash[:rest]}`.strip pkg_name_f = hash[:pkg_name].rjust(16) pkg_ver_f = "crew(#{pkg_version})".ljust(14) cur_ver_f = "latest(#{cur_version})" fmt_s = "#{pkg_name_f} -> #{pkg_ver_f} #{cur_ver_f}" puts fmt_s if pkg_version < cur_version || hash[:pkg_name] == 'jdk8' end task default: %w[nano] task common: %w[openssl node python27 jdk8 node_current php7 nginx go readline ncurses curl binutils perl git sqlite nano] desc 'Check for new version of a2png' task :a2png do check_version pkg_name: 'a2png', url: '', pattern: '', rest: '' end desc 'Check for new version of a2ps' task :a2ps do check_version pkg_name: 'a2ps', url: 'https://ftp.gnu.org/gnu/a2ps/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of acl' task :acl do check_version pkg_name: 'acl', url: '', pattern: '', rest: '' end desc 'Check for new version of ag' task :ag do check_version pkg_name: 'ag', url: '', pattern: '', rest: '' end desc 'Check for new version of aircrack_ng' task :aircrack_ng do check_version pkg_name: 'aircrack_ng', url: '', pattern: '', rest: '' end desc 'Check for new version of antiword' task :antiword do check_version pkg_name: 'antiword', url: '', pattern: '', rest: '' end desc 'Check for new version of applewmproto' task :applewmproto do check_version pkg_name: 'applewmproto', url: '', pattern: '', rest: '' end desc 'Check for new version of apr' task :apr do check_version pkg_name: 'apr', url: '', pattern: '', rest: '' end desc 'Check for new version of apriconv' task :apriconv do check_version pkg_name: 'apriconv', url: '', pattern: '', rest: '' end desc 'Check for new version of aprutil' task :aprutil do check_version pkg_name: 'aprutil', url: '', pattern: '', rest: '' end desc 'Check for new version of aria2' task :aria2 do check_version pkg_name: 'aria2', url: '', pattern: '', rest: '' end desc 'Check for new version of ascii' task :ascii do check_version pkg_name: 'ascii', url: '', pattern: '', rest: '' end desc 'Check for new version of asciidoc' task :asciidoc do check_version pkg_name: 'asciidoc', url: '', pattern: '', rest: '' end desc 'Check for new version of aspell' task :aspell do check_version pkg_name: 'aspell', url: '', pattern: '', rest: '' end desc 'Check for new version of aspell_en' task :aspell_en do check_version pkg_name: 'aspell_en', url: '', pattern: '', rest: '' end desc 'Check for new version of aspell_es' task :aspell_es do check_version pkg_name: 'aspell_es', url: '', pattern: '', rest: '' end desc 'Check for new version of atomicparsely' task :atomicparsely do check_version pkg_name: 'atomicparsely', url: '', pattern: '', rest: '' end desc 'Check for new version of attr' task :attr do check_version pkg_name: 'attr', url: 'http://download.savannah.nongnu.org/releases/attr/', pattern: '\\-([\\d.]+)\\.src\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of autoconf' task :autoconf do check_version pkg_name: 'autoconf', url: 'https://ftp.gnu.org/gnu/autoconf/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end # autoconf_archive desc 'Check for new version of automake' task :automake do check_version pkg_name: 'automake', url: 'https://ftp.gnu.org/gnu/automake/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of aws' task :aws do check_version pkg_name: 'aws', url: '', pattern: '', rest: '' end desc 'Check for new version of bacon' task :bacon do check_version pkg_name: 'bacon', url: 'http://www.basic-converter.org/stable/', pattern: '\\-([\\d.]+)\\.tar\\.gz<', rest: '' end desc 'Check for new version of bash_completion' task :bash_completion do check_version pkg_name: 'bash_completion', url: '', pattern: '', rest: '' end desc 'Check for new version of bashdb' task :bashdb do check_version pkg_name: 'bashdb', url: '', pattern: '', rest: '' end desc 'Check for new version of bc' task :bc do check_version pkg_name: 'bc', url: 'https://ftp.gnu.org/gnu/bc/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of bcif' task :bcif do check_version pkg_name: 'bcif', url: 'http://www.researchandtechnology.net/bcif/downloads/', pattern: '', rest: '' end desc 'Check for new version of bdwgc' task :bdwgc do check_version pkg_name: 'bdwgc', url: '', pattern: '', rest: '' end desc 'Check for new version of bigreqsproto' task :bigreqsproto do check_version pkg_name: 'bigreqsproto', url: '', pattern: '', rest: '' end desc 'Check for new version of bind' task :bind do check_version pkg_name: 'bind', url: 'https://www.isc.org/downloads/bind/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of binutils' task :binutils do check_version pkg_name: 'binutils', url: 'https://ftp.gnu.org/gnu/binutils/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of bison' task :bison do check_version pkg_name: 'bison', url: 'http://mirror.keystealth.org/gnu/bison/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of buildessential' task :buildessential do # not a real package per se, so skip end desc 'Check for new version of bz2' task :bz2 do check_version pkg_name: 'bz2', url: 'http://www.bzip.org/index.html', pattern: 'current version is ([\\d.]+)', rest: '' end desc 'Check for new version of chicken' task :chicken do check_version pkg_name: 'chicken', url: 'http://code.call-cc.org/', pattern: 'release is ([\\d.]+)', rest: '' end desc 'Check for new version of clisp' task :clisp do check_version pkg_name: 'clisp', url: 'https://ftp.gnu.org/pub/gnu/clisp/release/latest', pattern: '\\-([\\d.]+)\\.tar\\.gz<', rest: '' end desc 'Check for new version of cmake' task :cmake do check_version pkg_name: 'cmake', url: 'https://cmake.org/download/', pattern: 'Latest\\s+Release\\s+\\(([\\d+.]+)\\)', rest: '' end desc 'Check for new version of curl' task :curl do check_version pkg_name: 'curl', url: 'https://curl.haxx.se/download.html', pattern: 'curl ([\\d.]+)', rest: '' end desc 'Check for new version of diffutils' task :diffutils do check_version pkg_name: 'diffutils', url: 'https://ftp.gnu.org/gnu/diffutils/', pattern: '\\-([\\d.]+)\\.tar\\.xz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of di' task :di do check_version pkg_name: 'di', url: 'http://gentoo.com/di', pattern: 'Current Version: ([\\d.]+)', rest: '' end desc 'Check for new version of elixir' task :elixir do check_version pkg_name: 'elixir', url: 'https://github.com/elixir-lang/elixir/releases/latest', pattern: 'v([\\d.]+)', rest: '' end desc 'Check for new version of fontconfig' task :fontconfig do check_version pkg_name: 'fontconfig', url: 'https://www.freedesktop.org/software/fontconfig/release/', pattern: '\\-([\\d.]+)\\.tar\\.gz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of freetype' task :freetype do check_version pkg_name: 'freetype', url: 'http://download.savannah.gnu.org/releases/freetype/', pattern: '\\-([\\d.]+)\\.tar\\.gz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of gawk' task :gawk do check_version pkg_name: 'gawk', url: 'http://ftp.gnu.org/gnu/gawk/', pattern: '\\-([\\d.]+)\\.tar\\.xz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of gdal' task :gdal do check_version pkg_name: 'gdal', url: 'http://download.osgeo.org/gdal/CURRENT/', pattern: '\\-([\\d.]+)\\.tar\\.xz<', rest: '' end desc 'Check for new version of gdbm' task :gdbm do check_version pkg_name: 'gdbm', url: 'https://ftp.gnu.org/gnu/gdbm/', pattern: '\\-([\\d.]+)\\.tar\\.gz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of geos' task :geos do check_version pkg_name: 'geos', url: 'http://download.osgeo.org/geos/', pattern: '\\-([\\d.]+)\\.tar\\.bz2<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of gettext' task :gettext do check_version pkg_name: 'gettext', url: 'https://ftp.gnu.org/pub/gnu/gettext/', pattern: '\\-([\\d.]+)\\.tar\\.xz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of git' task :git do check_version pkg_name: 'git', url: 'https://github.com/git/git/releases', pattern: 'v([\\d.]+)<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of glibc' task :glibc do check_version pkg_name: 'glibc', url: 'https://ftp.gnu.org/pub/gnu/glibc/', pattern: '\\-([\\d.]+)\\.tar\\.xz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of gpm' task :gpm do check_version pkg_name: 'gmp', url: 'https://ftp.gnu.org/pub/gnu/gmp/', pattern: '\\-([\\d.]+)\\.tar\\.xz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of gnutls' task :gnutls do # NOTE: This one will be problematic as they list a series and then # have the actual versions in another directory ; rev on the # series will have to be detected somehow check_version pkg_name: 'gnutls', url: 'ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/', pattern: '\\-([\\d.]+)\\.tar\\.xz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of go_bootstrap' task :go_bootstrap do puts 'Will have to manually check this one: https://storage.googleapis.com/golang/' end desc 'Check for new version of go' task :go do check_version pkg_name: 'go', url: 'https://golang.org/dl/', pattern: 'go([\\d.]+)\\.src\\.tar\\.gz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of gperf' task :gperf do check_version pkg_name: 'gperf', url: 'http://ftp.gnu.org/pub/gnu/gperf/', pattern: '\\-([\\d.]+)\\.tar\\.gz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of graphicsmagick' task :graphicsmagick do check_version pkg_name: 'graphicsmagick', url: 'https://sourceforge.net/projects/graphicsmagick/files/', pattern: 'Download GraphicsMagick-([\\d.]+)', rest: '' end desc 'Check for new version of groff' task :groff do check_version pkg_name: 'groff', url: 'http://ftp.gnu.org/gnu/groff/', pattern: '\\-([\\d.]+)\\.tar\\.gz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of htop' task :htop do check_version pkg_name: 'htop', url: 'http://hisham.hm/htop/releases/', pattern: '([\\d.]+)\\/<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of imagemagick' task :imagemagick do check_version pkg_name: 'imagemagick', url: 'http://www.imagemagick.org/download/releases/', pattern: 'ImageMagick-([\\d.-]+)\\.tar\\.xz\\.', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of inetutils' task :inetutils do check_version pkg_name: 'inetutils', url: 'http://ftp.gnu.org/gnu/inetutils/', pattern: '\\-([\\d.]+)\\.tar\\.gz<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of jdk8' task :jdk8 do # NOTE: package version uses Oracle's naming convention rather than the one used by the OpenJDK project's website so this will need special handling check_version pkg_name: 'jdk8', url: 'http://download.java.net/openjdk/jdk8', pattern: '(8 build b[\\d.]+)', rest: '' end desc 'Check for new version of jq' task :jq do check_version pkg_name: 'jq', url: 'https://github.com/stedolan/jq/releases/latest', pattern: 'jq ([\\d.]+)', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of p7zip' task :p7zip do check_version pkg_name: 'p7zip', url: 'https://sourceforge.net/projects/p7zip/files/p7zip/', pattern: '([\\d.]+)', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of pagemon' task :pagemon do check_version pkg_name: 'pagemon', url: 'http://kernel.ubuntu.com/~cking/tarballs/pagemon/', pattern: '\\-([\\d.\\w]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of patchelf' task :patchelf do check_version pkg_name: 'patchelf', url: 'http://nixos.org/releases/patchelf/', pattern: 'patchelf\\-([\\d.]+)', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of patch' task :patch do check_version pkg_name: 'patch', url: 'http://ftp.gnu.org/gnu/patch/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of pciutils' task :pciutils do check_version pkg_name: 'pciutils', url: 'https://www.kernel.org/pub/software/utils/pciutils/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of pcre' task :pcre do check_version pkg_name: 'pcre', url: 'https://sourceforge.net/projects/pcre/files/pcre/', pattern: '([\\d.]+)', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of perl' task :perl do check_version pkg_name: 'perl', url: 'https://www.perl.org/', pattern: '([\\d.]+) - download now', rest: '' end desc 'Check for new version of php5' task :php5 do check_version pkg_name: 'php5', url: 'https://github.com/php/php-src/releases', pattern: 'php\\-(5[\\d.]+)<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of php7' task :php7 do check_version pkg_name: 'php7', url: 'https://github.com/php/php-src/releases', pattern: 'php\\-(7[\\d.]+)<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of pkgconfig' task :pkgconfig do check_version pkg_name: 'pkgconfig', url: 'http://pkgconfig.freedesktop.org/releases/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of postgres' task :postgres do check_version pkg_name: 'postgres', url: 'https://ftp.postgresql.org/pub/source', pattern: 'v([\\d.]+)<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of powerstat' task :powerstat do check_version pkg_name: 'powerstat', url: 'http://kernel.ubuntu.com/~cking/tarballs/powerstat/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of proj4' task :proj4 do check_version pkg_name: 'proj4', url: 'http://download.osgeo.org/proj/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of pv' task :pv do check_version pkg_name: 'pv', url: 'http://www.ivarch.com/programs/pv.shtml', pattern: 'Current version: ([\\d.]+)', rest: '' end desc 'Check for new version of python27' task :python27 do check_version pkg_name: 'python27', url: 'https://www.python.org/ftp/python/', pattern: '>(2.7[\\d.]+)/<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of python34' task :python34 do check_version pkg_name: 'python34', url: 'https://www.python.org/ftp/python/', pattern: '>(3.4[\\d.]+)/<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of qemacs' task :qemacs do check_version pkg_name: 'qemacs', url: 'http://bellard.org/qemacs/', pattern: 'QEmacs ([\\d.]+) is out', rest: '' end desc 'Check for new version of readline' task :readline do check_version pkg_name: 'readline', url: 'http://ftp.gnu.org/gnu/readline/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of redis' task :redis do check_version pkg_name: 'redis', url: 'http://download.redis.io/releases/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of r' task :r do check_version pkg_name: 'r', url: 'https://cran.rstudio.com/banner.shtml', pattern: 'R\\-([\\d.]+)\\.tar\\.gz<', rest: '' end desc 'Check for new version of rsync' task :rsync do check_version pkg_name: 'rsync', url: 'http://rsync.samba.org/ftp/rsync/src/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of ruby_lastest' task :ruby_latest do check_version pkg_name: 'ruby_latest', url: 'http://cache.ruby-lang.org/pub/ruby/', pattern: '\\-([\\d.]+)\\.tar\\.xz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of screenfetch' task :screenfetch do check_version pkg_name: 'screenfetch', url: 'https://github.com/KittyKatt/screenFetch/releases', pattern: 'v([\\d.]+)<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of screen' task :screen do check_version pkg_name: 'screen', url: 'ftp://ftp.gnu.org/gnu/screen/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of scrollz' task :scrollz do check_version pkg_name: 'scrollz', url: 'http://www.scrollz.info/download/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of slang' task :slang do check_version pkg_name: 'slang', url: 'http://www.jedsoft.org/slang', pattern: 'Version ([\\d.\\w]+)', rest: '' end desc 'Check for new version of sluice' task :sluice do check_version pkg_name: 'sluice', url: 'http://kernel.ubuntu.com/~cking/tarballs/sluice/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of smemstat' task :smemstat do check_version pkg_name: 'smemstat', url: 'http://kernel.ubuntu.com/~cking/tarballs/smemstat/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of socat' task :socat do check_version pkg_name: 'socat', url: 'http://www.dest-unreach.org/socat/download/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of sqlite' task :sqlite do check_version pkg_name: 'sqlite', url: 'https://sqlite.org', pattern: 'Version ([\\d.]+)<', rest: '' end desc 'Check for new version of sshfs' task :sshfs do check_version pkg_name: 'sshfs', url: 'https://github.com/libfuse/sshfs/releases/latest', pattern: 'SSHFS ([\\d.]+)<', rest: '' end desc 'Check for new version of tcl' task :tcl do check_version pkg_name: 'tcl', url: 'https://tcl.tk/software/tcltk/download.html', pattern: 'tcl([\\d.]+)\\-src\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of tcpdump' task :tcpdump do check_version pkg_name: 'tcpdump', url: 'http://www.tcpdump.org/release/', pattern: '([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end # TODO: tcpstat, website was down desc 'Check for new version of texinfo' task :texinfo do check_version pkg_name: 'texinfo', url: 'http://ftp.gnu.org/gnu/texinfo/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of tig' task :tig do check_version pkg_name: 'tig', url: 'https://github.com/jonas/tig/releases/latest', pattern: 'tig\\-([\\d.]+)<', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of tinycc' task :tinycc do check_version pkg_name: 'tinycc', url: 'http://download.savannah.gnu.org/releases/tinycc/', pattern: '\\-([\\d.]+)\\.tar\\.bz2', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of tmux' task :tmux do check_version pkg_name: 'tmux', url: 'https://tmux.github.io/', pattern: 'Download tmux ([\\d.]+)', rest: '' end desc 'Check for new version of traceroute' task :traceroute do check_version pkg_name: 'traceroute', url: 'https://sourceforge.net/projects/traceroute/files/traceroute/', pattern: 'traceroute\\-([\\d.]+)', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of tree' task :tree do check_version pkg_name: 'tree', url: 'http://mama.indstate.edu/users/ice/tree/src/', pattern: '\\-([\\d.]+)\\.tgz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of unrar' task :unrar do check_version pkg_name: 'unrar', url: 'http://www.rarlab.com/rar_add.htm', pattern: 'unrarsrc\\-([\\d.]+)\\.tar\\.gz', rest: '' end desc 'Check for new version of vifm' task :vifm do check_version pkg_name: 'vifm', url: 'https://sourceforge.net/projects/vifm/files/vifm/', pattern: 'vifm\\-([\\d.]+)', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of vim' task :vim do check_version pkg_name: 'vim', url: 'ftp://ftp.vim.org/pub/vim/unix/', pattern: '\\-([\\d.]+)\\.tar\\.bz2', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of xzutils' task :xzutils do check_version pkg_name: 'xzutils', url: 'http://tukaani.org/xz/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of yasm' task :yasm do check_version pkg_name: 'yasm', url: 'http://www.tortall.net/projects/yasm/releases/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of zlibpkg' task :zlibpkg do check_version pkg_name: 'zlibpkg', url: 'http://www.zlib.net/', pattern: 'zlib ([\\d.]+)', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of zsh' task :zsh do check_version pkg_name: 'zsh', url: 'https://sourceforge.net/projects/zsh/files/zsh/', pattern: '([\\d.]+)', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of units' task :units do check_version pkg_name: 'units', url: 'https://ftp.gnu.org/gnu/units/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end desc 'Check for new version of weather' task :weather do check_version pkg_name: 'weather', url: 'http://fungi.yuggoth.org/weather/src/', pattern: '\\-([\\d.]+)\\.tar\\.gz', rest: '| sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr | head -1' end