From 839680a0aeaf67b1833552cd3b2bbe7fe264ecac Mon Sep 17 00:00:00 2001 From: satmandu Date: Tue, 30 Mar 2021 18:27:57 -0400 Subject: [PATCH] nautilus and deps updates (#5505) * nautilus and deps updates * add license * Update exempi.rb * add license * add license * add license back * license added * cleanup * Update libimobiledevice.rb * add license * add license * add license * Remove duplicate deps. * rebuild * remove extra quoting * rebuild * fix quoted build variables * Add non-core runtime deps to package files * remove core deps --- packages/asciidoc.rb | 36 ++++---- packages/cmocka.rb | 51 ++++++++++++ packages/exempi.rb | 44 ++++++++++ packages/gcr.rb | 38 +++++---- packages/gnome_autoar.rb | 37 +++++---- packages/gnome_desktop.rb | 33 ++++---- packages/gvfs.rb | 66 +++++++++++++++ packages/ldb.rb | 54 ++++++++++++ packages/libassuan.rb | 35 ++++---- packages/libcdio_paranoia.rb | 44 ++++++++++ packages/libcue.rb | 45 ++++++++++ packages/libgee.rb | 36 ++++---- packages/libgpgerror.rb | 36 ++++---- packages/libgrss.rb | 45 ++++++++++ packages/libimobiledevice.rb | 42 ++++++++++ packages/libnfs.rb | 40 +++++++++ packages/libplist.rb | 32 ++++---- packages/liburing.rb | 36 ++++++-- packages/libusbmuxd.rb | 31 +++---- packages/lmdb.rb | 59 ++++++++++++++ packages/nautilus.rb | 82 +++++++++++++++++++ packages/perl_parse_yapp.rb | 47 +++++++++++ packages/popt.rb | 40 ++++----- packages/smbclient.rb | 154 +++++++++++++++++++++++++++++++++++ packages/talloc.rb | 49 +++++++++++ packages/tdb.rb | 36 ++++---- packages/tevent.rb | 48 +++++++++++ packages/tracker3.rb | 55 +++++++++++++ packages/tracker3_miners.rb | 59 ++++++++++++++ 29 files changed, 1226 insertions(+), 184 deletions(-) create mode 100644 packages/cmocka.rb create mode 100644 packages/exempi.rb create mode 100644 packages/gvfs.rb create mode 100644 packages/ldb.rb create mode 100644 packages/libcdio_paranoia.rb create mode 100644 packages/libcue.rb create mode 100644 packages/libgrss.rb create mode 100644 packages/libimobiledevice.rb create mode 100644 packages/libnfs.rb create mode 100644 packages/lmdb.rb create mode 100644 packages/nautilus.rb create mode 100644 packages/perl_parse_yapp.rb create mode 100644 packages/smbclient.rb create mode 100644 packages/talloc.rb create mode 100644 packages/tevent.rb create mode 100644 packages/tracker3.rb create mode 100644 packages/tracker3_miners.rb diff --git a/packages/asciidoc.rb b/packages/asciidoc.rb index 920f5dc8c..c5c74ab2d 100644 --- a/packages/asciidoc.rb +++ b/packages/asciidoc.rb @@ -3,37 +3,39 @@ require 'package' class Asciidoc < Package description 'AsciiDoc is a presentable text document format for writing articles, UNIX man pages and other small to medium sized documents.' homepage 'http://asciidoc.org/' - @_ver = '9.0.5' + @_ver = '9.1.0' version @_ver license 'GPL-2' compatibility 'all' source_url "https://github.com/asciidoc/asciidoc-py3/releases/download/#{@_ver}/asciidoc-#{@_ver}.tar.gz" - source_sha256 '1a20647eb62ca37bc8107affab968caa0f674f0e962b497d1674391f636c7038' + source_sha256 'fd499fcf51317b1aaf27336fb5e919c44c1f867f1ae6681ee197365d3065238b' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/asciidoc-9.0.5-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/asciidoc-9.0.5-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/asciidoc-9.0.5-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/asciidoc-9.0.5-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/asciidoc-9.1.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/asciidoc-9.1.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/asciidoc-9.1.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/asciidoc-9.1.0-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '60bba587c331dc462a70dd59a6b7cc68cc08c79a836dde47fe07de6735daa090', - armv7l: '60bba587c331dc462a70dd59a6b7cc68cc08c79a836dde47fe07de6735daa090', - i686: '48be337c603382c032d4aaebd0ff4e47341a82aa7429f518c83e1860b390d276', - x86_64: 'a9fabec30cf8243847e065188568f048d3323f2cc52e47cc8a8aa516b68957cb', + binary_sha256({ + aarch64: '2b38a7ec2050abd4df05fe90a4bb85199c3d45d7961ad0c5bcbf065b2f411857', + armv7l: '2b38a7ec2050abd4df05fe90a4bb85199c3d45d7961ad0c5bcbf065b2f411857', + i686: '2ff48243579ceb94ebcbda0ee8b5f626dcae7d42494260eda8b24a4d430b6e75', + x86_64: 'f666c49abfa66b17013130de84ad2822f9ffbaa48063f1d742950d5acea1f3f1' }) def self.build - system "autoconf" + system 'autoconf' system "sed -i 's,/etc/vim,#{CREW_PREFIX}/etc/vim,g' Makefile.in" - system "./configure --help" - system "./configure #{CREW_OPTIONS}" - system "make" + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" + system 'make' end def self.install system "mkdir -p #{CREW_DEST_PREFIX}/etc/vim" - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" + system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' system "compressdoc --gzip -9 #{CREW_DEST_PREFIX}/share/man/man1" end end diff --git a/packages/cmocka.rb b/packages/cmocka.rb new file mode 100644 index 000000000..7824ecf6c --- /dev/null +++ b/packages/cmocka.rb @@ -0,0 +1,51 @@ +# Adapted from Arch Linux cmocka PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/cmocka/trunk/PKGBUILD + +require 'package' + +class Cmocka < Package + description 'Elegant unit testing framework for C with support for mock objects' + homepage 'https://cmocka.org/' + version '1.1.5' + license 'Apache-2.0' + compatibility 'all' + source_url 'https://cmocka.org/files/1.1/cmocka-1.1.5.tar.xz' + source_sha256 'f0ccd8242d55e2fd74b16ba518359151f6f8383ff8aef4976e48393f77bba8b6' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/cmocka-1.1.5-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/cmocka-1.1.5-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/cmocka-1.1.5-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/cmocka-1.1.5-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '3697a4226d1da0acfd5f462f645eb31886e41ade46c10b4ba211367c55f5b820', + armv7l: '3697a4226d1da0acfd5f462f645eb31886e41ade46c10b4ba211367c55f5b820', + i686: '615a38e2ca90d0c80d391f68994a0abe461152029e1b33b8a70f53a60b4eb212', + x86_64: 'cb38f5c12d18bef0836dbbb36309da030aedb6275aca3ec610fabf987450ef56' + }) + + def self.patch + system "sed -i 's/-fstack-protector-strong/-fno-stack-protector/g' CompilerChecks.cmake" + end + + def self.build + Dir.mkdir 'builddir' + Dir.chdir 'builddir' do + # See GCC linking issue w/ LTO here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88643 + system "env CC=clang CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -fuse-ld=lld -flto' \ + CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -fuse-ld=lld -flto' \ + LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -fuse-ld=lld -flto' \ + cmake \ + -G Ninja \ + #{CREW_CMAKE_OPTIONS} \ + -DUNIT_TESTING=ON \ + .." + end + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/exempi.rb b/packages/exempi.rb new file mode 100644 index 000000000..4b7836bd6 --- /dev/null +++ b/packages/exempi.rb @@ -0,0 +1,44 @@ +# Adapted from Arch Linux exempi PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/exempi/trunk/PKGBUILD + +require 'package' + +class Exempi < Package + description 'A library to parse XMP metadata' + homepage 'https://libopenraw.freedesktop.org/wiki/Exempi' + version '2.5.2' + license 'BSD' + compatibility 'all' + source_url "https://gitlab.freedesktop.org/libopenraw/exempi/-/archive/#{version}/exempi-#{version}.tar.bz2" + source_sha256 'dff105f53bdd971e633b7fcb3bcfb22276716228a9e6063c1fd241a8542b9cec' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/exempi-2.5.2-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/exempi-2.5.2-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/exempi-2.5.2-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/exempi-2.5.2-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '9f9699c46f95394aaaf6b116f7984c6dbfdbcd258698624baace212458391e67', + armv7l: '9f9699c46f95394aaaf6b116f7984c6dbfdbcd258698624baace212458391e67', + i686: 'bc0706d7dc3acc174fbb38e98bf50a88039b8bb10bd601f5d99bc63ef2c4ac6a', + x86_64: '37746a7eb30fd9de6779d1f5426adba4f961c720415f20ff374ff3a700a7f523' + }) + + depends_on 'boost' => :build + depends_on 'autoconf_archive' => :build + + def self.build + system 'NOCONFIGURE=1 ./autogen.sh' + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + system "install -Dm644 COPYING #{CREW_DEST_DIR}/usr/share/licenses/exempi/LICENSE" + end +end diff --git a/packages/gcr.rb b/packages/gcr.rb index a5b548261..c50fb2aeb 100644 --- a/packages/gcr.rb +++ b/packages/gcr.rb @@ -3,35 +3,37 @@ require 'package' class Gcr < Package description 'GNOME crypto package' homepage 'https://www.gnome.org' - version '3.38.1' + version '3.40.0' license 'GPL-2+ and LGPL-2+' compatibility 'all' - source_url 'https://download.gnome.org/sources/gcr/3.38/gcr-3.38.1.tar.xz' - source_sha256 '17fcaf9c4a93a65fb1c72b82643bb102c13344084687d5886ea66313868d9ec9' + source_url "https://gitlab.gnome.org/GNOME/gcr/-/archive/#{version}/gcr-#{version}.tar.bz2" + source_sha256 '659a49bac1c713a743894845c82ef53ccc7326dcce1879b1af0ab502ec10e7ab' binary_url({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gcr-3.38.1-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gcr-3.38.1-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/gcr-3.38.1-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gcr-3.38.1-chromeos-x86_64.tar.xz' + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gcr-3.40.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gcr-3.40.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/gcr-3.40.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gcr-3.40.0-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: 'a61f2009bc3bc00b18480b3f79954c4963bba4829f898e8247d1222322277fc5', - armv7l: 'a61f2009bc3bc00b18480b3f79954c4963bba4829f898e8247d1222322277fc5', - i686: '3790b41ac9f7e88192a1f59199d62c2d31d4f09edd60ce04f7d4f0a71750f1d4', - x86_64: '9ed6176ff86030e47818c147ff2d54fa16aab1da29997caff364387b7858a7a5' + aarch64: '0756d3e389d6414442a8991cf59fe2bc9b08aaea009ef271608da7fb0da37c0e', + armv7l: '0756d3e389d6414442a8991cf59fe2bc9b08aaea009ef271608da7fb0da37c0e', + i686: '70b81b9f78daf7a22cd7489819428fd48df8630e81289b3fe255a5c3b4b7dd6c', + x86_64: '4f27f7bb81abadf2a044637b0afb286ec252107c1380291bb82e6c3d7e230aa1' }) - depends_on 'libgcrypt' - depends_on 'libxslt' + + depends_on 'cairo' depends_on 'desktop_file_utilities' - depends_on 'hicolor_icon_theme' - depends_on 'gnupg' + depends_on 'gdk_pixbuf' depends_on 'glib' depends_on 'gnupg' - depends_on 'libxslt' - depends_on 'vala' => :build - depends_on 'gtk3' depends_on 'graphite' + depends_on 'gtk3' + depends_on 'hicolor_icon_theme' + depends_on 'libgcrypt' + depends_on 'libxslt' + depends_on 'pango' + depends_on 'vala' => :build def self.build system "meson #{CREW_MESON_LTO_OPTIONS} \ diff --git a/packages/gnome_autoar.rb b/packages/gnome_autoar.rb index 1fe2b5a6a..b4dcdf988 100644 --- a/packages/gnome_autoar.rb +++ b/packages/gnome_autoar.rb @@ -3,32 +3,39 @@ require 'package' class Gnome_autoar < Package description 'Automatic archives creating and extracting library' homepage 'https://wiki.gnome.org/TingweiLan/GSoC2013Final' - @_ver = '0.3.0' + @_ver = '0.3.1' version @_ver license 'LGPL-2.1' compatibility 'all' source_url "https://gitlab.gnome.org/GNOME/gnome-autoar/-/archive/#{@_ver}/gnome-autoar-#{@_ver}.tar.bz2" - source_sha256 '6cf0cd7ce7f3ba959d1501701fdb65eeb8c90f6b3a194456df59c3488bb44ef3' + source_sha256 '22a69b610697386a2c0edaa7aa64cc3b45e655d7fd5fe14f71d4d196c5747eab' binary_url({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_autoar-0.3.0-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_autoar-0.3.0-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_autoar-0.3.0-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_autoar-0.3.0-chromeos-x86_64.tar.xz' + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_autoar-0.3.1-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_autoar-0.3.1-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_autoar-0.3.1-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_autoar-0.3.1-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: '54fc0dafb5bba4b0adf454950630ac94cb32e2fad75eabf464db127cd87316ba', - armv7l: '54fc0dafb5bba4b0adf454950630ac94cb32e2fad75eabf464db127cd87316ba', - i686: '3473a340cea842e11769920aa126dca0176d387b4a1222759c4255f129f11556', - x86_64: '90bf2079ba631bebdcd3a27c2ba0229c47a3413359c9fa24aabf7fa3c39c1e82' + aarch64: '945d1e7823c361578872527f943b5cab274cb912ecaee7470915b29b533d8056', + armv7l: '945d1e7823c361578872527f943b5cab274cb912ecaee7470915b29b533d8056', + i686: 'a013ceb4e222b9033defd9aca3a81aff1ba167f7a0ec2bcf805e3ea34d0c81d1', + x86_64: 'd50fd612eceffa4124a67bb5018b3360712d33b2c981d557c0aacab951b89c01' }) - depends_on 'libarchive' - depends_on 'gtk3' - depends_on 'gobject_introspection' => :build - depends_on 'gtk_doc' => :build - depends_on 'vala' => :build + depends_on 'atk' depends_on 'autoconf_archive' => :build + depends_on 'cairo' + depends_on 'gdk_pixbuf' + depends_on 'glib' + depends_on 'gobject_introspection' => :build + depends_on 'gtk3' + depends_on 'gtk_doc' => :build + depends_on 'harfbuzz' + depends_on 'libarchive' + depends_on 'pango' + depends_on 'vala' => :build + def self.build system 'NOCONFIGURE=1 ./autogen.sh' diff --git a/packages/gnome_desktop.rb b/packages/gnome_desktop.rb index bc908e8f5..7e525eeb2 100644 --- a/packages/gnome_desktop.rb +++ b/packages/gnome_desktop.rb @@ -3,34 +3,39 @@ require 'package' class Gnome_desktop < Package description 'Library with common API for various GNOME modules' homepage 'https://gitlab.gnome.org/GNOME/gnome-desktop' - @_ver = '40.rc' + @_ver = '40.0' @_ver_prelastdot = @_ver.rpartition('.')[0] version @_ver license 'GPL-2+, LGPL-2+ and FDL-1.1+' compatibility 'all' - source_url "https://download.gnome.org/core/#{@_ver_prelastdot}/#{@_ver}/sources/gnome-desktop-#{@_ver}.tar.xz" - source_sha256 'bd5bc1ab9640301efc7cc1dbfc5965fcb7dcadabb6f6f395ae8b571aed84f448' + source_url "https://gitlab.gnome.org/GNOME/gnome-desktop/-/archive/#{@_ver}/gnome-desktop-#{@_ver}.tar.bz2" + source_sha256 'b993bb587326e405796ffe15335eba6923cfec4bee454e738a748e98476c320a' binary_url({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_desktop-40.rc-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_desktop-40.rc-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_desktop-40.rc-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_desktop-40.rc-chromeos-x86_64.tar.xz' + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_desktop-40.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_desktop-40.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_desktop-40.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_desktop-40.0-chromeos-x86_64.tar.xz' }) binary_sha256({ - aarch64: 'c01944da1742882b92b43878c1cd478862f0b2a38e7ded7389c2613b7fda65f5', - armv7l: 'c01944da1742882b92b43878c1cd478862f0b2a38e7ded7389c2613b7fda65f5', - i686: '0ac5ecf9d14c6186073929b637d076a10bb70691b298d629a2ef9c50a8954681', - x86_64: '2a1f551996fc7540dfcba2e74229d7e20301af0c748f80b6f111fac6ee330757' + aarch64: '22a1ccea4001e03618acbc0cfb6db38a7aa3994cab0f5b1a06b830eb6ffda2b9', + armv7l: '22a1ccea4001e03618acbc0cfb6db38a7aa3994cab0f5b1a06b830eb6ffda2b9', + i686: '86e673834524d756ae3f655819025d31aeba84d713f3c26b0546f511761eed92', + x86_64: 'ea296854348498177dc068c611418b5bfe580153c440b3ca6173793bfac028c0' }) + depends_on 'cairo' + depends_on 'eudev' + depends_on 'gdk_pixbuf' + depends_on 'glib' + depends_on 'gobject_introspection' => :build depends_on 'gsettings_desktop_schemas' depends_on 'gtk3' + depends_on 'gtk_doc' => :build + depends_on 'iso_codes' + depends_on 'libxkbcommon' depends_on 'libxkbfile' depends_on 'xkeyboard_config' - depends_on 'iso_codes' - depends_on 'gobject_introspection' => :build - depends_on 'gtk_doc' => :build depends_on 'yelp_tools' => :build def self.build diff --git a/packages/gvfs.rb b/packages/gvfs.rb new file mode 100644 index 000000000..e80d6595c --- /dev/null +++ b/packages/gvfs.rb @@ -0,0 +1,66 @@ +require 'package' + +class Gvfs < Package + description 'Virtual filesystem implementation for GIO' + homepage 'https://wiki.gnome.org/Projects/gvfs' + version '1.48.0' + license 'GPLv2' + compatibility 'all' + source_url "https://gitlab.gnome.org/GNOME/gvfs/-/archive/#{version}/gvfs-#{version}.tar.bz2" + source_sha256 'acde26bee8a04e8432b0946b0fd36bc831ccc4f58c32fbcee6a3f525a595f5e9' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gvfs-1.48.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gvfs-1.48.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/gvfs-1.48.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gvfs-1.48.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'cf218af397be4007617a4741306d2b45eac1f164560532dd0525ba7be629f5b0', + armv7l: 'cf218af397be4007617a4741306d2b45eac1f164560532dd0525ba7be629f5b0', + i686: '12893026e752bbb6bd328a19e9ae44879e331db1f333f4a9b6e69b51dedd8976', + x86_64: '54a45a21769ac7853b0cebfa4f9ae78a88da00d59235c7974c2e6f64a98293ec' + }) + + depends_on 'avahi' + depends_on 'dbus' => :build + depends_on 'dconf' + depends_on 'docbook_xsl' => :build + depends_on 'elogind' => :build + depends_on 'fuse' + depends_on 'gcr' + depends_on 'glib' + depends_on 'gtk3' => :build + depends_on 'libarchive' + depends_on 'libcdio' + depends_on 'libcdio_paranoia' + depends_on 'libgcrypt' + depends_on 'libgphoto' + depends_on 'libgudev' + depends_on 'libimobiledevice' + depends_on 'libnfs' + depends_on 'libplist' + depends_on 'libsecret' + depends_on 'libsoup' + depends_on 'libsoup2' + depends_on 'polkit' + depends_on 'smbclient' + + def self.build + system "meson #{CREW_MESON_LTO_OPTIONS} \ + -Dfuse=false \ + -Dgoa=false \ + -Dgoogle=false \ + -Dmtp=false \ + -Dsystemduserunitdir=no \ + -Dtmpfilesdir=no \ + -Dudisks2=false \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/ldb.rb b/packages/ldb.rb new file mode 100644 index 000000000..c02262996 --- /dev/null +++ b/packages/ldb.rb @@ -0,0 +1,54 @@ +# Adapted from Arch Linux ldb PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/ldb/trunk/PKGBUILD + +require 'package' + +class Ldb < Package + description 'Schema-less, ldap like, API and database' + homepage 'https://ldb.samba.org/' + version '2.3.0' + license 'GPLv3' + compatibility 'all' + source_url "https://samba.org/ftp/ldb/ldb-#{version}.tar.gz" + source_sha256 'a4d308b3d0922ef01f3661a69ebc373e772374defa76cf0979ad21b21f91922d' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/ldb-2.3.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/ldb-2.3.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/ldb-2.3.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/ldb-2.3.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'a21f075d2ecc39ccb53e97433c4cdbe3474054f773ea31735c9ef1227e05ae9e', + armv7l: 'a21f075d2ecc39ccb53e97433c4cdbe3474054f773ea31735c9ef1227e05ae9e', + i686: '4f4e782aa74c6ff93f20c0ab13858ea295094e547169336ec3d0cc34e6e1b3d2', + x86_64: '509439aae3a82f99825414bac49b704d6fec0f95c67e8b2532001e011ce2d288' + }) + + depends_on 'cmocka' => :build + depends_on 'docbook_xsl' => :build + depends_on 'libbsd' + depends_on 'libxcrypt' + depends_on 'lmdb' + depends_on 'popt' + depends_on 'talloc' + depends_on 'tdb' + depends_on 'tevent' + + def self.build + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure \ + #{CREW_OPTIONS.sub(/--program-suffix.*/, '')} \ + --localstatedir=#{CREW_PREFIX}/var \ + --sysconfdir=#{CREW_PREFIX}/etc/samba \ + --with-modulesdir=#{CREW_LIB_PREFIX}/ldb/modules \ + --with-privatelibdir=#{CREW_LIB_PREFIX}/ldb" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/libassuan.rb b/packages/libassuan.rb index 71b13849d..6353dd21f 100644 --- a/packages/libassuan.rb +++ b/packages/libassuan.rb @@ -3,33 +3,38 @@ require 'package' class Libassuan < Package description 'Libassuan is a small library implementing the so-called Assuan protocol.' homepage 'https://www.gnupg.org/related_software/libassuan/index.html' - version '2.5.1' + version '2.5.5' license 'GPL-3 and LGPL-2.1' compatibility 'all' - source_url 'https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.1.tar.bz2' - source_sha256 '47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449' + source_url "https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-#{version}.tar.bz2" + source_sha256 '8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libassuan-2.5.1-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libassuan-2.5.1-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/libassuan-2.5.1-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libassuan-2.5.1-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libassuan-2.5.5-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libassuan-2.5.5-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libassuan-2.5.5-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libassuan-2.5.5-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '7ef02236dc8e6fceeda62f30e49fdc449a53d3c5de40ee023e95572dc8cbc6c7', - armv7l: '7ef02236dc8e6fceeda62f30e49fdc449a53d3c5de40ee023e95572dc8cbc6c7', - i686: 'bc8b79f18b73b3b02f11ba4ab36e8240572e94a07d109ede33e38187ae0bd51f', - x86_64: 'e02c94c283f9b685327456a0b964050db456186fe86298ada238a02a356766cb', + binary_sha256({ + aarch64: '853b20547fd035aa2b8e8e3653cfbbd1adc70f6b1f453a41776fa4799519a4d5', + armv7l: '853b20547fd035aa2b8e8e3653cfbbd1adc70f6b1f453a41776fa4799519a4d5', + i686: '6cb8279e8d9df539022f5b64cfdf42cccea3aea6f482b2fcd7a875c3a4ffac09', + x86_64: '9db3d46f74bf1446748f29165a163ee2c87bfcc6b7074b060fb8221146be85ec' }) depends_on 'libgpgerror' def self.build - system "./configure --prefix=#{CREW_PREFIX} --libdir=#{CREW_LIB_PREFIX}" + system '[ -x configure ] || NOCONFIGURE=1 ./autogen.sh' + system 'filefix' + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" system 'make' end def self.install - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" + system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' end end diff --git a/packages/libcdio_paranoia.rb b/packages/libcdio_paranoia.rb new file mode 100644 index 000000000..4cab8153a --- /dev/null +++ b/packages/libcdio_paranoia.rb @@ -0,0 +1,44 @@ +# Adapted from Arch Linux libcdio-paranoia PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/libcdio-paranoia/trunk/PKGBUILD + +require 'package' + +class Libcdio_paranoia < Package + description 'CD paranoia libraries from libcdio' + homepage 'https://www.gnu.org/software/libcdio/' + version '10.2-2.0.1' + license 'GPLv3' + compatibility 'all' + source_url 'https://github.com/rocky/libcdio-paranoia/archive/release-10.2+2.0.1.tar.gz' + source_sha256 '7a4e257c85f3f84129cca55cd097c397364c7a6f79b9701bbc593b13bd59eb95' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libcdio_paranoia-10.2-2.0.1-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libcdio_paranoia-10.2-2.0.1-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libcdio_paranoia-10.2-2.0.1-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libcdio_paranoia-10.2-2.0.1-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '8ba30c99931a347744767a197b49cb14cb3459e7997928bb4377acc2082afeaf', + armv7l: '8ba30c99931a347744767a197b49cb14cb3459e7997928bb4377acc2082afeaf', + i686: '9fde7bf09aa6023ca6128088ec9f1e1be2df36b4a2d7b596f20d448a11124044', + x86_64: '6b324873fd7c441d6aaedb03463c19267d1352cf73af95d872808ff5de4ee35b' + }) + + depends_on 'libcdio' + + def self.build + system '[ -x configure ] || NOCONFIGURE=1 ./autogen.sh' + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS} \ + --enable-cpp-progs \ + --disable-example-progs" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/libcue.rb b/packages/libcue.rb new file mode 100644 index 000000000..401aa1384 --- /dev/null +++ b/packages/libcue.rb @@ -0,0 +1,45 @@ +# Adapted from Arch Linux libcue PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/libcue/trunk/PKGBUILD + +require 'package' + +class Libcue < Package + description 'Parses so-called cue sheets and handles the parsed data' + homepage 'https://github.com/lipnitsk/libcue/' + version '2.2.1' + license 'GPLv2' + compatibility 'all' + source_url 'https://github.com/lipnitsk/libcue/archive/v2.2.1.tar.gz' + source_sha256 'f27bc3ebb2e892cd9d32a7bee6d84576a60f955f29f748b9b487b173712f1200' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libcue-2.2.1-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libcue-2.2.1-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libcue-2.2.1-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libcue-2.2.1-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'e0875a11ffd4f82d46b244475398faa8116b924eec61af1dc80e3986b257452c', + armv7l: 'e0875a11ffd4f82d46b244475398faa8116b924eec61af1dc80e3986b257452c', + i686: 'ce34d96bda58c74bcf890d04b9823cd82db88b78fb5d5a76db55f7411f0511e0', + x86_64: '3f6ebdaad529d00267a00c27bfc1947849cb7c2fc29083c3a386507869c6b9cb' + }) + + def self.build + Dir.mkdir 'builddir' + Dir.chdir 'builddir' do + system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \ + CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \ + LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \ + cmake \ + -G Ninja \ + #{CREW_CMAKE_OPTIONS} \ + .." + end + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/libgee.rb b/packages/libgee.rb index 48c620898..05ddcd908 100644 --- a/packages/libgee.rb +++ b/packages/libgee.rb @@ -3,28 +3,34 @@ require 'package' class Libgee < Package description 'Libgee is an utility library providing GObject-based interfaces and classes for commonly used data structures.' homepage 'https://wiki.gnome.org/Projects/Libgee' - version '0.20.3' + @_ver = '0.20.4' + @_ver_prelastdot = @_ver.rpartition('.')[0] + version @_ver license 'LGPL-2.1+' compatibility 'all' - source_url 'https://download.gnome.org/sources/libgee/0.20/libgee-0.20.3.tar.xz' - source_sha256 'd0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de' + source_url "https://gitlab.gnome.org/GNOME/libgee/-/archive/#{@_ver}/libgee-#{@_ver}.tar.bz2" + source_sha256 'bf1e5840809e34e07b253e1363ec58c8844dac7400bc75c450e1c7aa13019c51' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libgee-0.20.3-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libgee-0.20.3-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/libgee-0.20.3-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libgee-0.20.3-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libgee-0.20.4-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libgee-0.20.4-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libgee-0.20.4-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libgee-0.20.4-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '5b56ee3c98f061b93b725b1b9ca2d1e5ce8b5e1bf17c30c361a20de0874079fd', - armv7l: '5b56ee3c98f061b93b725b1b9ca2d1e5ce8b5e1bf17c30c361a20de0874079fd', - i686: '6987e6ff636e7d964a2427ea298597985c0f5c0ec218615559560e5c0954d452', - x86_64: '227764127203eff1a10ec93f248a047c13744f51a41b4cce2aea71da274e8266', + binary_sha256({ + aarch64: 'f15038fd3c894a96872bedeac5fc922bbf204900139fbf0bdad9edc42166910d', + armv7l: 'f15038fd3c894a96872bedeac5fc922bbf204900139fbf0bdad9edc42166910d', + i686: 'eee9240a4dca8afd2393ed595384fbaef98e83a6a0e6ce8f86290265d6f62025', + x86_64: '6fbb91042ade5d1fe01e47e87599a883e75f7b7d26304b0e4788684de47f8993' }) def self.build - ENV['TMPDIR'] = "#{CREW_PREFIX}/tmp" - system "./configure #{CREW_OPTIONS}" + system '[ -x configure ] || NOCONFIGURE=1 ./autogen.sh' + system "env TMPDIR=#{CREW_PREFIX}/tmp \ + CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \ + CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \ + LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \ + ./configure #{CREW_OPTIONS}" system 'make' end diff --git a/packages/libgpgerror.rb b/packages/libgpgerror.rb index a8d2fa3b5..05d5c4c5a 100644 --- a/packages/libgpgerror.rb +++ b/packages/libgpgerror.rb @@ -3,30 +3,32 @@ require 'package' class Libgpgerror < Package description 'Libgpg-error is a small library that defines common error values for all GnuPG components.' homepage 'https://www.gnupg.org/related_software/libgpg-error/index.html' - version '1.37' + version '1.42' license 'GPL-2 and LGPL-2.1' compatibility 'all' - source_url 'https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.37.tar.bz2' - source_sha256 'b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763' + source_url "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-#{version}.tar.bz2" + source_sha256 'fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libgpgerror-1.37-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libgpgerror-1.37-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/libgpgerror-1.37-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libgpgerror-1.37-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libgpgerror-1.42-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libgpgerror-1.42-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libgpgerror-1.42-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libgpgerror-1.42-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: 'ca41263e0992f8e969a5f7b8818af433273f4c39f88cacad9d95a227c84b5d66', - armv7l: 'ca41263e0992f8e969a5f7b8818af433273f4c39f88cacad9d95a227c84b5d66', - i686: '27e1709a936bf87a1341da43712cad6834f2ba402e897c7d659411312e38a335', - x86_64: '195afc96c0562686fcd14198c712f9fc77ee82d329046d914c1b754a6d04ca32', + binary_sha256({ + aarch64: '9864ed50574b3830c7e613392e6bdccf1be8857d5e40263b8d31f535481db547', + armv7l: '9864ed50574b3830c7e613392e6bdccf1be8857d5e40263b8d31f535481db547', + i686: 'fe6ff6e681c9d7730ef69f696d759528b67fa5a5e2f5be584c1277b0ee0498a0', + x86_64: '041069951d95c281c22e1f50e06d8402d35c6682d16483da1881e4c20691e6b9' }) def self.build - system './configure', - "--prefix=#{CREW_PREFIX}", - "--libdir=#{CREW_LIB_PREFIX}", - '--disable-maintainer-mode' + system '[ -x configure ] || NOCONFIGURE=1 ./autogen.sh' + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS} \ + --disable-maintainer-mode" system 'make' end diff --git a/packages/libgrss.rb b/packages/libgrss.rb new file mode 100644 index 000000000..83fef46f1 --- /dev/null +++ b/packages/libgrss.rb @@ -0,0 +1,45 @@ +# Adapted from Arch Linux libgrss PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/libgrss/trunk/PKGBUILD + +require 'package' + +class Libgrss < Package + description 'Glib-based library to manage RSS and Atom feeds' + homepage 'https://wiki.gnome.org/Projects/Libgrss' + version '0.7.0-ce58' + license 'LGPLv3' + compatibility 'all' + source_url 'https://gitlab.gnome.org/GNOME/libgrss/-/archive/ce58490680db02913f221cccd73a816eefd2e1f7/libgrss-ce58490680db02913f221cccd73a816eefd2e1f7.tar.bz2' + source_sha256 '88eab96df1b2004c08f3b14beca038d13306518f3df18745e27788287038ea31' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libgrss-0.7.0-ce58-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libgrss-0.7.0-ce58-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libgrss-0.7.0-ce58-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libgrss-0.7.0-ce58-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '3ec7ce667887023dd6766c726f8c054daafe58fe9003f4ac52203f73f956a743', + armv7l: '3ec7ce667887023dd6766c726f8c054daafe58fe9003f4ac52203f73f956a743', + i686: '95b2d74dd324c1616d29e7d0b6794dcd52c231d486a0fc28271fa0ba17367aae', + x86_64: 'cf9f47cce02e43332117ce05f76c0c61aa7bf35154261e6d175fc4711024a3eb' + }) + + depends_on 'glib' + depends_on 'gobject_introspection' => :build + depends_on 'gtk_doc' => :build + depends_on 'libsoup' + + def self.build + system 'NOCONFIGURE=1 ./autogen.sh' + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/libimobiledevice.rb b/packages/libimobiledevice.rb new file mode 100644 index 000000000..d6e03d7e5 --- /dev/null +++ b/packages/libimobiledevice.rb @@ -0,0 +1,42 @@ +# Adapted from Arch Linux libimobiledevice PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/libimobiledevice/trunk/PKGBUILD + +require 'package' + +class Libimobiledevice < Package + description 'Library that talks the protocols to support iPhone and iPod Touch devices on Linux' + homepage 'https://libimobiledevice.org/' + version '1.3.0' + license 'LGPL-2.1' + compatibility 'all' + source_url "https://github.com/libimobiledevice/libimobiledevice/archive/refs/tags/#{version}.tar.gz" + source_sha256 'acbfb73eabee162e64c0d9de207d71c0a5f47c40cd5ad32a5097f734328ce10a' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libimobiledevice-1.3.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libimobiledevice-1.3.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libimobiledevice-1.3.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libimobiledevice-1.3.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '7a8a73892ac722226e44a17c810900213aa6c5e66c26ad23b8d30b379d5b7dae', + armv7l: '7a8a73892ac722226e44a17c810900213aa6c5e66c26ad23b8d30b379d5b7dae', + i686: '2580d6ecf627dce6a4dd6018ef3245e7352a95ac2fcd586627188379dc4489fa', + x86_64: '11462fab4814036224fb3078792bad480627ead538309afcd93abfbb85121d65' + }) + + depends_on 'autoconf_archive' => :build + depends_on 'libgcrypt' + depends_on 'libplist' + depends_on 'libusbmuxd' + + def self.build + system '[ -x configure ] || NOCONFIGURE=1 ./autogen.sh' + system "./configure #{CREW_OPTIONS} --disable-openssl" + system 'make' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} make install" + end +end diff --git a/packages/libnfs.rb b/packages/libnfs.rb new file mode 100644 index 000000000..d2af78d31 --- /dev/null +++ b/packages/libnfs.rb @@ -0,0 +1,40 @@ +# Adapted from Arch Linux libnfs PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/libnfs/trunk/PKGBUILD + +require 'package' + +class Libnfs < Package + description 'client library for accessing NFS shares' + homepage 'https://github.com/sahlberg/libnfs' + version '4.0.0' + license 'GPLv2 & BSD' + compatibility 'all' + source_url "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-#{version}.tar.gz" + source_sha256 '6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libnfs-4.0.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libnfs-4.0.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libnfs-4.0.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libnfs-4.0.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'c8aca50954bfbdf85d749655c98d940592cb0f0059375b0142974196a4eb1066', + armv7l: 'c8aca50954bfbdf85d749655c98d940592cb0f0059375b0142974196a4eb1066', + i686: 'a0efe68bbed97a19e0708c412b6ffc1ae2aa2d3e34b006e59b432218659d6e33', + x86_64: '5d51982578b523c791aa1cd4a6903603a41c75d7abfcfbc96aabab0c6fb8adf0' + }) + + def self.build + system 'autoreconf -vif' + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS}" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/libplist.rb b/packages/libplist.rb index 64ba7b302..ffe0c8e82 100644 --- a/packages/libplist.rb +++ b/packages/libplist.rb @@ -3,29 +3,33 @@ require 'package' class Libplist < Package description 'A library to handle Apple Property List format' homepage 'http://www.libimobiledevice.org/' - version '2.1.0' + version '2.2.0' license 'GPL-2 and LGPL-2.1' compatibility 'all' - source_url 'https://github.com/libimobiledevice/libplist/archive/2.1.0.tar.gz' - source_sha256 '4b33f9af3f9208d54a3c3e1a8c149932513f451c98d1dd696fe42c06e30b7f03' + source_url "https://github.com/libimobiledevice/libplist/archive/#{version}.tar.gz" + source_sha256 '7e654bdd5d8b96f03240227ed09057377f06ebad08e1c37d0cfa2abe6ba0cee2' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libplist-2.1.0-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libplist-2.1.0-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/libplist-2.1.0-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libplist-2.1.0-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libplist-2.2.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libplist-2.2.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libplist-2.2.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libplist-2.2.0-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: 'adca559671e694422de5f311b9c968d4e7f5fc45aae8c1c9140e825741475d26', - armv7l: 'adca559671e694422de5f311b9c968d4e7f5fc45aae8c1c9140e825741475d26', - i686: '11f60dc59c427f286b717fcd63ada445effc478c5895f51130128a6b1ff5418e', - x86_64: 'd6580afa2ec93f6a41f95e31cb86dd5dd7828f09a5091323f2fe6a4ee90a4e20', + binary_sha256({ + aarch64: '5494b780369670c29f13fcdbb2c9929109da7e0849cad829f7e6bfb6d1f51690', + armv7l: '5494b780369670c29f13fcdbb2c9929109da7e0849cad829f7e6bfb6d1f51690', + i686: '5b4c2083b045022f9d55966478f1942c1c7f212933bca6000ca8820bb588c426', + x86_64: 'def23cf8dea8fabebc2b04f0489ec4469587d31ba5a9d19c429bb491a437d049' }) depends_on 'glib' def self.build - system "PYTHON=#{CREW_PREFIX}/bin/python3 ./autogen.sh CC=gcc CXX=g++ #{CREW_OPTIONS}" + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + CC=gcc \ + ./autogen.sh #{CREW_OPTIONS}" system 'make' end diff --git a/packages/liburing.rb b/packages/liburing.rb index 1ba3a0496..785dad00e 100644 --- a/packages/liburing.rb +++ b/packages/liburing.rb @@ -3,20 +3,40 @@ require 'package' class Liburing < Package description 'liburing provides helpers to setup and teardown io_uring instances.' homepage 'https://github.com/axboe/liburing/' - version '0.7' + version '2.0' license 'MIT' compatibility 'all' - source_url 'https://github.com/axboe/liburing/archive/liburing-0.7.tar.gz' - source_sha256 '8e2842cfe947f3a443af301bdd6d034455536c38a455c7a700d0c1ad165a7543' + source_url "https://github.com/axboe/liburing/archive/refs/tags/liburing-#{version}.tar.gz" + source_sha256 'ca069ecc4aa1baf1031bd772e4e97f7e26dfb6bb733d79f70159589b22ab4dc0' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/liburing-2.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/liburing-2.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/liburing-2.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/liburing-2.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '25bda02208eb872e11c8434523056bb3591996aa6aec935171c5ce81bcb39225', + armv7l: '25bda02208eb872e11c8434523056bb3591996aa6aec935171c5ce81bcb39225', + i686: 'd6cdacf0351d2d301d5827b8413768489d2dd6d53fe8d94978ba2d1f1af9ac29', + x86_64: '960697d65213698aaff0457b536a5ef6d8f45a5614fb3752c0fb572fded4077c' + }) + + def self.patch + # system "sed -i '//a #include ' test/fc2a85cb02ef-test.c" + # system "sed -i '//a #include ' test/double-poll-crash.c" + end def self.build - system "./configure --prefix=#{CREW_PREFIX} \ - --libdir=#{CREW_LIB_PREFIX} \ - --mandir=#{CREW_MAN_PREFIX}" - system "make" + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure \ + #{CREW_OPTIONS.sub(/--build=.*/, '')}" + system 'make -C src' end def self.install - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" + system "make DESTDIR=#{CREW_DEST_DIR} install" end end diff --git a/packages/libusbmuxd.rb b/packages/libusbmuxd.rb index e0c7b3907..0dd91b65e 100644 --- a/packages/libusbmuxd.rb +++ b/packages/libusbmuxd.rb @@ -3,30 +3,33 @@ require 'package' class Libusbmuxd < Package description 'USB Multiplex Daemon' homepage 'http://www.libimobiledevice.org/' - version '2.0.1' + version '2.0.2' license 'GPL-2+ and LGPL-2.1+' compatibility 'all' - source_url 'https://github.com/libimobiledevice/libusbmuxd/archive/2.0.1.tar.gz' - source_sha256 'f93faf3b3a73e283646f4d62b3421aeccf58142266b0eb22b2b13dd4b2362eb8' + source_url "https://github.com/libimobiledevice/libusbmuxd/archive/#{version}.tar.gz" + source_sha256 '8ae3e1d9340177f8f3a785be276435869363de79f491d05d8a84a59efc8a8fdc' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libusbmuxd-2.0.1-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libusbmuxd-2.0.1-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/libusbmuxd-2.0.1-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libusbmuxd-2.0.1-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libusbmuxd-2.0.2-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libusbmuxd-2.0.2-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/libusbmuxd-2.0.2-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libusbmuxd-2.0.2-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '9db036100d9e97fbeb94a88545fab317f4c38d4e642ba668e30183d230906654', - armv7l: '9db036100d9e97fbeb94a88545fab317f4c38d4e642ba668e30183d230906654', - i686: '8ab3386d2ad4347f58e48a47333f0e759b9ebd54eec99b435f8ae4a1e953cad4', - x86_64: '6aab88193820ba3b336c083147c0a5ac449a3ebb839d726144454e89ee0ecb80', + binary_sha256({ + aarch64: '731ccae4db42bb38174653ebfebd73e70d9f21c3a14d4df9bc81310e9261294d', + armv7l: '731ccae4db42bb38174653ebfebd73e70d9f21c3a14d4df9bc81310e9261294d', + i686: '71bf097eefdce79c6e470211237db21a11f34656ca54500a792525c24c8d8935', + x86_64: '022b15b6cacd910ff840003d147d9d7f702eee9a49b012dc2b18b8fb6414b985' }) depends_on 'glib' depends_on 'libplist' def self.build - system "./autogen.sh #{CREW_OPTIONS}" + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./autogen.sh #{CREW_OPTIONS}" system 'make' end diff --git a/packages/lmdb.rb b/packages/lmdb.rb new file mode 100644 index 000000000..a557edec9 --- /dev/null +++ b/packages/lmdb.rb @@ -0,0 +1,59 @@ +# Adapted from Arch Linux lmdb PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/lmdb/trunk/PKGBUILD + +require 'package' + +class Lmdb < Package + description 'Symas Lightning Memory-Mapped Database' + homepage 'https://symas.com/mdb' + version '0.9.29' + license 'OpenLDAP Public License' + compatibility 'all' + source_url "https://git.openldap.org/openldap/openldap/-/archive/LMDB_#{version}/openldap-LMDB_#{version}.tar.gz" + source_sha256 'd4c668167a2d703ef91db733b4069b8b74dbc374405855be6626b45e2a7e2dd3' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/lmdb-0.9.29-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/lmdb-0.9.29-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/lmdb-0.9.29-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/lmdb-0.9.29-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '0459de4035dccce3ab4e8ca3b7ee061447d530fbb526e97c20c143e7688dc7a7', + armv7l: '0459de4035dccce3ab4e8ca3b7ee061447d530fbb526e97c20c143e7688dc7a7', + i686: '8489cc379f9fd20c638b753c8218750f496ef10364897cef6ef9c7121fd1e127', + x86_64: '8209022816c95b209a720ba22897064a86f7e6a44006b148c20681a1eba658eb' + }) + + def self.patch + system "sed -i 's,libdir = $(exec_prefix)/lib,libdir = $(exec_prefix)/lib#{CREW_LIB_SUFFIX},g' libraries/liblmdb/Makefile" + system "sed -i 's,prefix = /usr/local,prefix = #{CREW_PREFIX},g' libraries/liblmdb/Makefile" + system "sed -i 's,OPT = -O2 -g,OPT = -O2 -g -flto,g' libraries/liblmdb/Makefile" + end + + def self.build + Dir.chdir 'libraries/liblmdb' do + system "make prefix=#{CREW_PREFIX}" + end + @lmdb_pc = <<~LMDB_PC_EOF + prefix=#{CREW_PREFIX} + libdir=#{CREW_LIB_PREFIX} + includedir=\${prefix}/include + + Name: liblmdb + Description: Lightning Memory-Mapped Database + URL: https://symas.com/products/lightning-memory-mapped-database/ + Version: #{version} + Libs: -L\${libdir} -llmdb + Cflags: -I\${includedir} + LMDB_PC_EOF + end + + def self.install + Dir.chdir 'libraries/liblmdb' do + system "make DESTDIR=#{CREW_DEST_DIR} install" + end + FileUtils.mkdir_p "#{CREW_DEST_LIB_PREFIX}/pkgconfig/" + IO.write("#{CREW_DEST_LIB_PREFIX}/pkgconfig/lmdb.pc", @lmdb_pc) + end +end diff --git a/packages/nautilus.rb b/packages/nautilus.rb new file mode 100644 index 000000000..1c22bdfbf --- /dev/null +++ b/packages/nautilus.rb @@ -0,0 +1,82 @@ +# Adapted from Arch Linux nautilus PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/nautilus/trunk/PKGBUILD + +require 'package' + +class Nautilus < Package + description 'Default file manager for GNOME' + homepage 'https://wiki.gnome.org/Apps/Files' + @_ver = '40.0' + version @_ver + license 'GPLv3' + compatibility 'all' + source_url "https://gitlab.gnome.org/GNOME/nautilus/-/archive/#{@_ver}/nautilus-#{@_ver}.tar.bz2" + source_sha256 '9bcb93c5ce56dbe1cd2b2d0808c21a5e37cc1d098ee037b7da75c0a4a59e84e7' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/nautilus-40.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/nautilus-40.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/nautilus-40.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/nautilus-40.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '7343e4245acf8b1bce3c8ad9208a6d3981edc0bb7997071758c7223399334c65', + armv7l: '7343e4245acf8b1bce3c8ad9208a6d3981edc0bb7997071758c7223399334c65', + i686: '286c26c5c8b89a8a52ff7ee8f55b516207447471868b311cf8c206722555158b', + x86_64: 'bae97c6259459844e5cf945160e162734edbc66ce50eb3965e1c55b9932a6564' + }) + + depends_on 'appstream_glib' => :build + depends_on 'atk' + depends_on 'cairo' + depends_on 'dconf' + depends_on 'gdk_pixbuf' + depends_on 'gexiv2' + depends_on 'glib' + depends_on 'gnome_autoar' + depends_on 'gnome_desktop' + depends_on 'gobject_introspection' => :build + depends_on 'gst_plugins_base' + depends_on 'gstreamer' + depends_on 'gtk3' + depends_on 'gtk_doc' => :build + depends_on 'gvfs' + depends_on 'libhandy' + depends_on 'libportal' + depends_on 'pango' + depends_on 'tracker3' + depends_on 'tracker3_miners' + + def self.patch + # Source has libgnome-volume-control repo as submodule + @git_dir = 'subprojects/libgd' + @git_hash = 'c7c7ff4e05d3fe82854219091cf116cce6b19de0' + @git_url = 'https://gitlab.gnome.org/GNOME/libgd.git' + FileUtils.rm_rf(@git_dir) + FileUtils.mkdir_p(@git_dir) + Dir.chdir @git_dir do + system 'git init' + system "git remote add origin #{@git_url}" + system "git fetch --depth 1 origin #{@git_hash}" + system 'git checkout FETCH_HEAD' + end + end + + def self.build + system "meson #{CREW_MESON_LTO_OPTIONS} \ + -Ddocs=false \ + -Dpackagekit=false \ + -Dnetworkmanager=false \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end + + def self.postinstall + system "glib-compile-schemas #{CREW_PREFIX}/share/glib-2.0/schemas/" + end +end diff --git a/packages/perl_parse_yapp.rb b/packages/perl_parse_yapp.rb new file mode 100644 index 000000000..4e4fd9126 --- /dev/null +++ b/packages/perl_parse_yapp.rb @@ -0,0 +1,47 @@ +# Adapted from Arch Linux perl-parse-yapp PKGBUILD at: +# https://github.com/archlinux/svntogit-community/raw/packages/perl-parse-yapp/trunk/PKGBUILD + +require 'package' + +class Perl_parse_yapp < Package + description 'Yapp : Generates OO LALR parser modules' + homepage 'https://search.cpan.org/dist/Parse-Yapp' + version '1.21' + license 'GPL' + compatibility 'all' + source_url 'https://cpan.metacpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.21.tar.gz' + source_sha256 '3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/perl_parse_yapp-1.21-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/perl_parse_yapp-1.21-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/perl_parse_yapp-1.21-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/perl_parse_yapp-1.21-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '6dbd2557641720a8abec288558c7e6708d4d9290c51db08dfcdf53eaeac2728b', + armv7l: '6dbd2557641720a8abec288558c7e6708d4d9290c51db08dfcdf53eaeac2728b', + i686: '505658a64ea424427c82cc07774f4a4cca4e03f743c8f8d9fc381ea4d8e67c8e', + x86_64: 'f0eead5040028f8beecee109a774f413e2abc4c5e55e0441e22d9a3c238146f5' + }) + + def self.install + # install files to build directory + system 'cpanm', '-l', 'build', '--self-contained', '--force', '.' + + # install bin + FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" + FileUtils.cp 'build/bin/yapp', "#{CREW_DEST_PREFIX}/bin/" + + # install lib + libdir = CREW_DEST_DIR + `perl -e 'require Config; print $Config::Config{'"'installsitelib'"'};'` + FileUtils.mkdir_p libdir + system "(cd build/lib/perl5; tar cf - .) | (cd #{libdir}; tar xfp -)" + + # install man + FileUtils.mkdir_p CREW_DEST_MAN_PREFIX + system "(cd build/man; tar cf - .) | (cd #{CREW_DEST_MAN_PREFIX}; tar xfp -)" + end + + def self.check; end +end diff --git a/packages/popt.rb b/packages/popt.rb index 64e7493d2..d7c7972da 100644 --- a/packages/popt.rb +++ b/packages/popt.rb @@ -3,35 +3,37 @@ require 'package' class Popt < Package description 'Library for parsing command line options' homepage 'https://directory.fsf.org/wiki/Popt' - version '1.16' + version '1.18' license 'MIT' compatibility 'all' - source_url 'http://rpm5.org/files/popt/popt-1.16.tar.gz' - source_sha256 'e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8' + source_url "https://github.com/rpm-software-management/popt/archive/refs/tags/popt-#{version}-release.tar.gz" + source_sha256 '36245242c59b5a33698388e415a3e1efa2d48fc4aead91aeb2810b4c0744f4e3' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/popt-1.16-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/popt-1.16-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/popt-1.16-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/popt-1.16-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/popt-1.18-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/popt-1.18-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/popt-1.18-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/popt-1.18-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: '6ac9639a832436479b7eb2333178d0334108313a89d15506815580a5284e85fa', - armv7l: '6ac9639a832436479b7eb2333178d0334108313a89d15506815580a5284e85fa', - i686: 'ada50c7bc3d4d71d234cea3891112d8c9822bc49c75beb917478e181051a3e78', - x86_64: '6bdbab0585a94534dd44f9ecd196902166c49aabcf239e4bfb667c08a27dc300', + binary_sha256({ + aarch64: 'e301538c274369121eb26cf77d91d1a5c451cc4ec088a115361c1b31175a06c8', + armv7l: 'e301538c274369121eb26cf77d91d1a5c451cc4ec088a115361c1b31175a06c8', + i686: '8017bb16b0ee0094e66d1a130734463389721d060b31340b47ce5e2a2521ea4b', + x86_64: 'b6f09b9dcca99c16e61a7c71333ce0454c38ad99c7dfa0893cce9c44f8335f77' }) def self.build - system './configure', - "--prefix=#{CREW_PREFIX}", - "--libdir=#{CREW_LIB_PREFIX}", - '--disable-maintainer-mode' - system "make" + system '[ -x configure ] || NOCONFIGURE=1 ./autogen.sh' + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure \ + --disable-maintainer-mode" + system 'make' end def self.install - system "make", "DESTDIR=#{CREW_DEST_DIR}", "install" + system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install' system "gzip -9 #{CREW_DEST_PREFIX}/share/man/man3/popt.3" end end diff --git a/packages/smbclient.rb b/packages/smbclient.rb new file mode 100644 index 000000000..a180be05f --- /dev/null +++ b/packages/smbclient.rb @@ -0,0 +1,154 @@ +# Adapted from Arch Linux samba PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/samba/trunk/PKGBUILD + +require 'package' + +class Smbclient < Package + description 'Tools to access a servers filespace and printers via SMB' + homepage 'https://www.samba.org' + version '4.14.2' + license 'GPLv3' + compatibility 'all' + source_url "https://us1.samba.org/samba/ftp/stable/samba-#{version}.tar.gz" + source_sha256 '95651da478743f7cb407aec81287536c096e3e18bb4981dbe47ca70bf6181f96' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/smbclient-4.14.2-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/smbclient-4.14.2-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/smbclient-4.14.2-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/smbclient-4.14.2-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '19d88b0a7b60b5f1002ef071f3aa8c1ecefb00067e89eff653d2c234da2ff428', + armv7l: '19d88b0a7b60b5f1002ef071f3aa8c1ecefb00067e89eff653d2c234da2ff428', + i686: 'd4952770d1531c5bfc34b1e3527cad7b8b13e2c04d9c2630c9d8bd630d6dbd7a', + x86_64: 'f1c215ece0eae7eb36212ccaef962347b31b660403fa8b835a12b797e0786c2b' + }) + + depends_on 'avahi' + depends_on 'cmocka' + depends_on 'cups' + depends_on 'docbook_xsl' + depends_on 'gpgme' => :build + depends_on 'jansson' + depends_on 'ldb' + depends_on 'libarchive' + depends_on 'libbsd' + depends_on 'libcap' + depends_on 'libdb' + depends_on 'libunwind' + depends_on 'liburing' => :build + depends_on 'linux_pam' + depends_on 'lmdb' => :build + depends_on 'perl_parse_yapp' => :build + depends_on 'popt' + depends_on 'talloc' + depends_on 'tdb' + depends_on 'tevent' + + @samba4_idmap_modules = 'idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2' + @samba4_pdb_modules = 'pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4' + @samba4_auth_modules = 'auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4' + + @smbclient_bins = %w[smbclient rpcclient smbspool smbtree smbcacls + smbcquotas smbget net nmblookup smbtar] + @smbclient_pkgconfig = %w[smbclient netapi wbclient] + + @python_deps = %w[Markdown dnspython] + + @xml_catalog_files = ENV['XML_CATALOG_FILES'] + + def self.patch + system "sed -e 's:::' \ + -i source4/dsdb/samdb/ldb_modules/password_hash.c" + system "sed -i 's,/etc/xml/catalog,#{@xml_catalog_files},g' docs-xml/Makefile" + system "sed -i 's,file:///etc/xml/catalog,#{@xml_catalog_files},g' buildtools/wafsamba/wafsamba.py" + end + + def self.prebuild + @python_deps.each do |item| + system "pip install --upgrade #{item}" + end + end + + def self.build + system './configure --help' + system "env CFLAGS='-pipe -flto=auto -fuse-ld=gold' \ + CXXFLAGS='-pipe -flto=auto -fuse-ld=gold' \ + LDFLAGS='-flto=auto' \ + ./configure --enable-fhs \ + #{CREW_OPTIONS.sub(/--program-suffix.*/, '')} \ + --sysconfdir=#{CREW_PREFIX}/etc \ + --sbindir=#{CREW_PREFIX}/bin \ + --libdir=#{CREW_LIB_PREFIX} \ + --libexecdir=#{CREW_LIB_PREFIX}/samba \ + --localstatedir=#{CREW_PREFIX}/var \ + --with-configdir=#{CREW_PREFIX}/etc/samba \ + --with-lockdir=#{CREW_PREFIX}/var/cache/samba \ + --builtin-libraries=NONE \ + --bundled-libraries=!tdb,!talloc,!pytalloc-util,!tevent,!popt,!ldb,!pyldb-util,NONE \ + --disable-rpath \ + --disable-rpath-install \ + --with-acl-support \ + --with-ads \ + --with-ldap \ + --with-pam \ + --with-pammodulesdir=#{CREW_LIB_PREFIX}/security \ + --with-piddir=/run \ + --with-profiling-data \ + --with-shared-modules=#{@samba4_idmap_modules},#{@samba4_pdb_modules},#{@samba4_auth_modules},vfs_io_uring \ + --with-sockets-dir=/run/samba \ + --without-ad-dc \ + --with-winbind \ + --without-systemd" + system 'make' + # We only need some files from the build, so just install into a + # staging directory during build. + FileUtils.mkdir_p 'staging' + system 'make V=1 DESTDIR=staging install' + FileUtils.cp 'source3/script/smbtar', "staging/#{CREW_PREFIX}/bin/" + @python_deps.each do |item| + system "pip uninstall --yes #{item}" + end + end + + def self.install + @dest_dirs = ["#{CREW_DEST_PREFIX}/bin", "#{CREW_DEST_LIB_PREFIX}/samba", + "#{CREW_DEST_LIB_PREFIX}/pkgconfig", "#{CREW_DEST_MAN_PREFIX}/man1", + "#{CREW_DEST_MAN_PREFIX}/man7", "#{CREW_DEST_MAN_PREFIX}/man8", + "#{CREW_DEST_PREFIX}/include/samba-4.0", "#{CREW_DEST_LIB_PREFIX}/cups/backend", + "#{CREW_DEST_PREFIX}/etc/samba"] + @dest_dirs.each do |dir| + FileUtils.mkdir_p dir + end + @smbclient_bins.each do |item| + FileUtils.install "staging#{CREW_PREFIX}/bin/#{item}", "#{CREW_DEST_PREFIX}/bin/#{item}", + mode: 0o755 + end + FileUtils.mv Dir.glob("staging#{CREW_LIB_PREFIX}/lib*.so*"), "#{CREW_DEST_LIB_PREFIX}/" + FileUtils.mv Dir.glob("staging#{CREW_LIB_PREFIX}/samba/lib*.so*"), "#{CREW_DEST_LIB_PREFIX}/samba/" + @smbclient_pkgconfig.each do |item| + FileUtils.mv Dir.glob("staging#{CREW_LIB_PREFIX}/pkgconfig/#{item}.pc"), "#{CREW_DEST_LIB_PREFIX}/pkgconfig/" + end + @smbclient_bins.each do |item| + if File.exist?("staging#{CREW_MAN_PREFIX}/man1/#{item}.1") + FileUtils.mv "staging#{CREW_MAN_PREFIX}/man1/#{item}.1", + "#{CREW_DEST_MAN_PREFIX}/man1/#{item}.1" + end + if File.exist?("staging#{CREW_MAN_PREFIX}/man8/#{item}.8") + FileUtils.mv "staging#{CREW_MAN_PREFIX}/man8/#{item}.8", + "#{CREW_DEST_MAN_PREFIX}/man8/#{item}.8" + end + end + FileUtils.mv "staging#{CREW_MAN_PREFIX}/man7/libsmbclient.7", + "#{CREW_DEST_MAN_PREFIX}/man7/libsmbclient.7" + FileUtils.mv "staging#{CREW_PREFIX}/include/samba-4.0/libsmbclient.h", + "#{CREW_DEST_PREFIX}/include/samba-4.0/" + FileUtils.mv "staging#{CREW_PREFIX}/include/samba-4.0/netapi.h", + "#{CREW_DEST_PREFIX}/include/samba-4.0/" + FileUtils.mv "staging#{CREW_PREFIX}/include/samba-4.0/wbclient.h", + "#{CREW_DEST_PREFIX}/include/samba-4.0/" + FileUtils.ln_s "#{CREW_PREFIX}/bin/smbspool", "#{CREW_DEST_LIB_PREFIX}/cups/backend/smb" + FileUtils.touch "#{CREW_DEST_PREFIX}/etc/samba/smb.conf" + end +end diff --git a/packages/talloc.rb b/packages/talloc.rb new file mode 100644 index 000000000..9bfa613d6 --- /dev/null +++ b/packages/talloc.rb @@ -0,0 +1,49 @@ +# Adapted from Arch Linux talloc PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/talloc/trunk/PKGBUILD + +require 'package' + +class Talloc < Package + description 'Hierarchical pool based memory allocator with destructors' + homepage 'https://talloc.samba.org/' + version '2.3.2' + license 'LGPL' + compatibility 'all' + source_url "https://www.samba.org/ftp/talloc/talloc-#{version}.tar.gz" + source_sha256 '27a03ef99e384d779124df755deb229cd1761f945eca6d200e8cfd9bf5297bd7' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/talloc-2.3.2-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/talloc-2.3.2-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/talloc-2.3.2-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/talloc-2.3.2-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '34e7e59fdd8ab619eb0a24aec3011093653399502038b7071395006dcf6e3b08', + armv7l: '34e7e59fdd8ab619eb0a24aec3011093653399502038b7071395006dcf6e3b08', + i686: 'f2b0b683234c60440ac6c53773aa8f38297ac8548c1a509773fa5bae836fbf47', + x86_64: '0b22a9f1ce28259ba8d4fd046d00677c6b2590f2a0951a004d1f9d6173e592b6' + }) + + depends_on 'libbsd' + depends_on 'libxcrypt' + depends_on 'docbook_xsl' => :build + + def self.build + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure \ + #{CREW_OPTIONS.sub(/--program-suffix.*/, '')} \ + --sysconfdir=#{CREW_PREFIX}/etc/samba \ + --localstatedir=#{CREW_PREFIX}/var \ + --bundled-libraries=NONE \ + --builtin-libraries=replace \ + --enable-talloc-compat1" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/tdb.rb b/packages/tdb.rb index 595c52444..87a323af4 100644 --- a/packages/tdb.rb +++ b/packages/tdb.rb @@ -3,34 +3,34 @@ require 'package' class Tdb < Package description 'tdb is a simple database API for sharing structures between parts of Samba' homepage 'https://tdb.samba.org/' - version '1.4.2' + version '1.4.3' license 'GPL-3' compatibility 'all' - source_url 'https://www.samba.org/ftp/tdb/tdb-1.4.2.tar.gz' - source_sha256 '9040b2cce4028e392f063f91bbe76b8b28fecc2b7c0c6071c67b5eb3168e004a' + source_url "https://www.samba.org/ftp/tdb/tdb-#{version}.tar.gz" + source_sha256 'c8058393dfa15f47e11ebd2f1d132693f0b3b3b8bf22d0201bfb305026f88a1b' - binary_url ({ - aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tdb-1.4.2-chromeos-armv7l.tar.xz', - armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tdb-1.4.2-chromeos-armv7l.tar.xz', - i686: 'https://dl.bintray.com/chromebrew/chromebrew/tdb-1.4.2-chromeos-i686.tar.xz', - x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tdb-1.4.2-chromeos-x86_64.tar.xz', + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tdb-1.4.3-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tdb-1.4.3-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/tdb-1.4.3-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tdb-1.4.3-chromeos-x86_64.tar.xz' }) - binary_sha256 ({ - aarch64: 'ac4d32692af3cfe0ebd435f9430ea9fec744c7f7c025a86c2cd3f5264611a2c3', - armv7l: 'ac4d32692af3cfe0ebd435f9430ea9fec744c7f7c025a86c2cd3f5264611a2c3', - i686: '8d2fbd994ccf182e052f4acde3c260c0288fcad389ed6c3efda9cc6b7dcb81f1', - x86_64: '6bf6145c78500ae1b869419d2530ed7266fc404c532874d6aa5fc612314f3551', + binary_sha256({ + aarch64: '658452e796dffb16b9cc074f47bee90e5155cca0888f444cb13b716b577c5e60', + armv7l: '658452e796dffb16b9cc074f47bee90e5155cca0888f444cb13b716b577c5e60', + i686: '22c959f77a28a1b13d2603557b4d87b454dd04099682ba7a749ad99b7a945a43', + x86_64: '0040f43e9214ce035ca1eefca7923fce12aa8bc8710de383ca142c0eaaf12a9e' }) depends_on 'docbook_xsl' + depends_on 'libbsd' depends_on 'libxslt' - depends_on 'python3' def self.build - system './configure', - 'configure', - "--prefix=#{CREW_PREFIX}", - "--libdir=#{CREW_LIB_PREFIX}" + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure #{CREW_OPTIONS.sub(/--program-suffix.*/, '')}" system 'make' end diff --git a/packages/tevent.rb b/packages/tevent.rb new file mode 100644 index 000000000..540def06b --- /dev/null +++ b/packages/tevent.rb @@ -0,0 +1,48 @@ +# Adapted from Arch Linux tevent PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/tevent/trunk/PKGBUILD + +require 'package' + +class Tevent < Package + description 'Event system based on the talloc memory management library' + homepage 'https://tevent.samba.org/' + version '0.10.2' + license 'LGPL' + compatibility 'all' + source_url "https://samba.org/ftp/tevent/tevent-#{version}.tar.gz" + source_sha256 'f8427822e5b2878fb8b28d6f50d96848734f3f3130612fb574fdd2d2148a6696' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tevent-0.10.2-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tevent-0.10.2-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/tevent-0.10.2-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tevent-0.10.2-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '2a34abbf8f8619fec618d0f08e692d61065c8fcc5ef37cf7a1bf64415709ea4f', + armv7l: '2a34abbf8f8619fec618d0f08e692d61065c8fcc5ef37cf7a1bf64415709ea4f', + i686: '112a2a38a8be799e12f6de9691607f4de08e2a6da39359dd37470fb0456d8788', + x86_64: 'd7a762d732c98a074eabfc1367e7ce0330511a8713a4cea36c262d62c31c89f0' + }) + + depends_on 'libbsd' + depends_on 'libxcrypt' + depends_on 'talloc' + + def self.build + system "env CFLAGS='-flto=auto' \ + CXXFLAGS='-pipe -flto=auto' \ + LDFLAGS='-flto=auto' \ + ./configure \ + #{CREW_OPTIONS.sub(/--program-suffix.*/, '')} \ + --sysconfdir=#{CREW_PREFIX}/etc/samba \ + --localstatedir=#{CREW_PREFIX}/var \ + --bundled-libraries=NONE \ + --builtin-libraries=replace" + system 'make' + end + + def self.install + system "make DESTDIR=#{CREW_DEST_DIR} install" + end +end diff --git a/packages/tracker3.rb b/packages/tracker3.rb new file mode 100644 index 000000000..49daac30c --- /dev/null +++ b/packages/tracker3.rb @@ -0,0 +1,55 @@ +# Adapted from Arch Linux tracker3 PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/tracker3/trunk/PKGBUILD + +require 'package' + +class Tracker3 < Package + description 'Desktop-neutral user information store, search tool and indexer' + homepage 'https://wiki.gnome.org/Projects/Tracker' + version '3.1.0' + license 'GPLv2+' + compatibility 'all' + source_url "https://gitlab.gnome.org/GNOME/tracker/-/archive/#{version}/tracker-#{version}.tar.bz2" + source_sha256 'd673f7733753bfca965947e56fd66e61de4d9a931f354b0f74bd7d678bda50f3' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tracker3-3.1.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tracker3-3.1.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/tracker3-3.1.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tracker3-3.1.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: 'c0dcefb67e57e81357d16a8ea36354968220e3c219afb221793d258d1a21830f', + armv7l: 'c0dcefb67e57e81357d16a8ea36354968220e3c219afb221793d258d1a21830f', + i686: '31efe2b60354b1c9a014b0108e090ea06c323c332f830288a9228c916c13cae2', + x86_64: 'c0d20b9d905e7fc879ef68c4d4bcf52038fe9da308aa29cb5940f0ffb9fe8fc0' + }) + + depends_on 'asciidoc' + depends_on 'docbook_xml' + depends_on 'glib' + depends_on 'gobject_introspection' => :build + depends_on 'gtk_doc' => :build + depends_on 'json_glib' + depends_on 'libsoup' + depends_on 'libsoup2' + depends_on 'libstemmer' + depends_on 'util_linux' + depends_on 'vala' => :build + + + def self.build + system "meson #{CREW_MESON_LTO_OPTIONS} \ + -Ddbus_services_dir=#{CREW_PREFIX}/share/dbus-1/services/ \ + -Ddocs=false \ + -Dman=false \ + -Dsystemd_user_services=false \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end diff --git a/packages/tracker3_miners.rb b/packages/tracker3_miners.rb new file mode 100644 index 000000000..2a17216ba --- /dev/null +++ b/packages/tracker3_miners.rb @@ -0,0 +1,59 @@ +# Adapted from Arch Linux tracker3-miners PKGBUILD at: +# https://github.com/archlinux/svntogit-packages/raw/packages/tracker3-miners/trunk/PKGBUILD + +require 'package' + +class Tracker3_miners < Package + description 'Collection of data extractors for Tracker/Nepomuk' + homepage 'https://wiki.gnome.org/Projects/Tracker' + version '3.1.0' + license 'GPLv2+' + compatibility 'all' + source_url "https://gitlab.gnome.org/GNOME/tracker-miners/-/archive/#{version}/tracker-miners-#{version}.tar.bz2" + source_sha256 '4384105303082b859c48eec1fdb19b905e7605bba901cbc09df779293c319460' + + binary_url({ + aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tracker3_miners-3.1.0-chromeos-armv7l.tar.xz', + armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tracker3_miners-3.1.0-chromeos-armv7l.tar.xz', + i686: 'https://dl.bintray.com/chromebrew/chromebrew/tracker3_miners-3.1.0-chromeos-i686.tar.xz', + x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tracker3_miners-3.1.0-chromeos-x86_64.tar.xz' + }) + binary_sha256({ + aarch64: '0809348f22bc74b6af7e5e1566017feee21c2094cc6cc338d0ac070a1eba3931', + armv7l: '0809348f22bc74b6af7e5e1566017feee21c2094cc6cc338d0ac070a1eba3931', + i686: 'c358f7e2a05d3f3cae8dfa09bf48fcaaaa4fb1b5c2eef23602a49832faaeaa03', + x86_64: '9b7ab266f7dfbb99157379b1eecd2cc10d828cb19e1a25fcff936be9171296ff' + }) + + depends_on 'asciidoc' => :build + depends_on 'exempi' + depends_on 'giflib' + depends_on 'glib' + depends_on 'gst_plugins_base' + depends_on 'gstreamer' + depends_on 'libcue' + depends_on 'libexif' + depends_on 'libgrss' + depends_on 'libgsf' + depends_on 'libjpeg_turbo' + depends_on 'libpng' + depends_on 'libtiff' + depends_on 'tracker3' + depends_on 'vala' => :build + + def self.build + system "meson #{CREW_MESON_LTO_OPTIONS} \ + -Ddbus_services_dir=#{CREW_PREFIX}/share/dbus-1/services/ \ + -Ddocs=false \ + -Dman=false \ + -Dsystemd_user_services=false \ + -Dtest_utils=false \ + builddir" + system 'meson configure builddir' + system 'ninja -C builddir' + end + + def self.install + system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install" + end +end