mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-09 15:37:56 -05:00
* Python => 3.13 Signed-off-by: Satadru Pramanik <satadru@gmail.com> * fix VER variables in const.rb Signed-off-by: Satadru Pramanik <satadru@gmail.com> * bugfixes Signed-off-by: Satadru Pramanik <satadru@gmail.com> * More plumbing changes... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Adjust py3_pip and py3_setuptools to not error during python3 preinstall. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * fix hash error Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add no_binaries_needed Signed-off-by: Satadru Pramanik <satadru@gmail.com> * bugfixes... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to pip.rb to fix python 3.13 builds. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add workaround for missing binaries... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update cmake Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add lots of package updates. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add py3_bcrypt, rename asciidoc, add more package builds. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * More updates Signed-off-by: Satadru Pramanik <satadru@gmail.com> * revert postgresql update Signed-off-by: Satadru Pramanik <satadru@gmail.com> * final updates? Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update curl Signed-off-by: Satadru Pramanik <satadru@gmail.com> * lint Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add curl to essential packages to try to prevent unit test failure on i686. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * updates Signed-off-by: Satadru Pramanik <satadru@gmail.com> * lint Signed-off-by: Satadru Pramanik <satadru@gmail.com> * fix accidental change to docker package. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Fiz condition of no new updates leavimg a message with CREW_UNATTENDED set. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * more updates, add missing libabigail binaries Signed-off-by: Satadru Pramanik <satadru@gmail.com> * rebuild py3_dbus_python Signed-off-by: Satadru Pramanik <satadru@gmail.com> * add arm build for 5.10 musl_linuxheaders Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add builds for openimageio. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Adjust ruby buildsystem slightly to use cache more, adjust unit tests to properly invoke setarch, add py3_pynacl, update libsodium. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Ruby adjustments... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * unit test adjustments... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * unit test adjustments... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add error message to pip install... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * expand pip error reporting Signed-off-by: Satadru Pramanik <satadru@gmail.com> * More pip adjustments. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add more pip verbose error reporting. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Add new workaround for pip failure on i686... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Refactor pip again... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * more refactoring... Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Adjust py3_pip version restriction. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * Avoid container jdk dependency in snowflake. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * update trove classifiers. Signed-off-by: Satadru Pramanik <satadru@gmail.com> * adjust package fxn exit Signed-off-by: Satadru Pramanik <satadru@gmail.com> * adjust more jdk deps Signed-off-by: Satadru Pramanik <satadru@gmail.com> --------- Signed-off-by: Satadru Pramanik <satadru@gmail.com>
148 lines
6.0 KiB
Ruby
148 lines
6.0 KiB
Ruby
require 'package'
|
|
|
|
class Smbclient < Package
|
|
description 'Tools to access a servers filespace and printers via SMB'
|
|
homepage 'https://www.samba.org'
|
|
version "4.20.4-#{CREW_ICU_VER}"
|
|
license 'GPLv3'
|
|
compatibility 'all'
|
|
source_url "https://download.samba.org/pub/samba/stable/samba-#{version.split('-').first}.tar.gz"
|
|
source_sha256 '3a92e97eaeb345b6b32232f503e14d34f03a7aa64c451fe8c258a11bbda908e5'
|
|
binary_compression 'tar.zst'
|
|
|
|
binary_sha256({
|
|
aarch64: 'f161a7f955ecca54425add1cfd6683eabb204c15c9fd77894abe33f5546ac30f',
|
|
armv7l: 'f161a7f955ecca54425add1cfd6683eabb204c15c9fd77894abe33f5546ac30f',
|
|
i686: 'e3cf441f53e3137b89bd92c3518d76c68ac1323636ee116613d2a00f7dcc0c60',
|
|
x86_64: '0d52fa1f276bd5ec3ac28b4b6e132a33c4401f247a65c81626c53cfffdc25db1'
|
|
})
|
|
|
|
depends_on 'acl' # R
|
|
depends_on 'avahi' # R
|
|
depends_on 'cmocka' => :build
|
|
depends_on 'cups' => :build
|
|
depends_on 'docbook' => :build
|
|
depends_on 'gcc_lib' # R
|
|
depends_on 'gdb' => :build
|
|
depends_on 'glibc' # R
|
|
depends_on 'gnutls' # R
|
|
depends_on 'gpgme' => :build
|
|
depends_on 'icu4c' # R
|
|
depends_on 'jansson' # R
|
|
depends_on 'ldb' # R
|
|
depends_on 'libarchive' # R
|
|
depends_on 'libbsd' # R
|
|
depends_on 'libcap' # R
|
|
depends_on 'libtasn1' # R
|
|
depends_on 'libtirpc' # R
|
|
depends_on 'libunwind' # R
|
|
depends_on 'liburing' => :build
|
|
depends_on 'linux_pam' # R
|
|
depends_on 'lmdb' => :build
|
|
depends_on 'ncurses' # R
|
|
depends_on 'openldap' # R
|
|
depends_on 'perl_json' => :build
|
|
depends_on 'perl_parse_yapp' => :build
|
|
depends_on 'popt' # R
|
|
depends_on 'py3_dnspython' => :build
|
|
depends_on 'py3_markdown' => :build
|
|
depends_on 'readline' # R
|
|
depends_on 'talloc' # R
|
|
depends_on 'tdb' # R
|
|
depends_on 'tevent' # R
|
|
depends_on 'zlib' # R
|
|
|
|
@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]
|
|
|
|
@xml_catalog_files = ENV.fetch('XML_CATALOG_FILES', nil)
|
|
|
|
def self.patch
|
|
system "sed -e 's:<gpgme.h>:<gpgme/gpgme.h>:' \
|
|
-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.build
|
|
system './configure --help'
|
|
system "python_LDFLAGS='' ./configure --enable-fhs \
|
|
#{CREW_CONFIGURE_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-python \
|
|
--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/"
|
|
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
|