# @summary Arch makepkg configuration # # Complete configuration of makepkg.conf(5) # # @param dlagents # @param vcsclients # @param carch # @param chost # @param cppflags # @param cflags # @param cxxflags # @param ldflags # @param rustflags # @param makeflags # @param debug_cflags # @param debug_cxxflags # @param debug_rustflags # @param buildenv # @param distcc_hosts # @param builddir # @param options # @param integrity_check # @param strip_binaries # @param strip_shared # @param strip_static # @param man_dirs # @param doc_dirs # @param purge_targets # @param dbgsrcdir # @param pkgdest # @param srcdest # @param srcpkgdest # @param logdest # @param packager # @param gpgkey # @param compressgz # @param compressbz2 # @param compressxz # @param compresszst # @param compresslrz # @param compresslzo # @param compressz # @param compresslz4 # @param compresslz # @param pkgext # @param srcext # @param pacman_auth class pacman::makepkg ( # protocol: agent Hash[String, String] $dlagents = { 'file' => '/usr/bin/curl -gqC - -o %o %u', 'ftp' => '/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u', 'http' => '/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u', 'https' => '/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u', 'rsync' => '/usr/bin/rsync --no-motd -z %u %o', 'scp' => '/usr/bin/scp -C %u %o', }, # protocol: package Hash[String,String] $vcsclients = { 'bzr' => 'bzr', 'git' => 'git', 'hg' => 'mercurial', 'svn' => 'subversion', }, String $carch = 'x86_64', String $chost = 'x86_64-pc-linux-gnu', Optional[String] $cppflags = undef, # '' String $cflags = '-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection', String $cxxflags = '$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS', String $ldflags = '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now', Optional[String] $rustflags = undef, # '-C opt-level=2', Optional[String] $makeflags = undef, # '-j2' String $debug_cflags = '-g -fvar-tracking-assignments', String $debug_cxxflags = '-g -fvar-tracking-assignments', Optional[String] $debug_rustflags = undef, # '-C debuginfo=2' Pacman::Buildenv $buildenv = { distcc => false, color => true, ccache => false, check => true, sign => false, }, Optional[String] $distcc_hosts = undef, # '' Optional[String] $builddir = undef, # '/tmp/makepkg' Pacman::PackageOptions $options = { string => true, docs => true, libtool => false, staticlibs => false, emptydirs => true, zipman => true, purge => true, debug => false, lto => false, # This is fairly new... }, Array[Pacman::ChecksumTypes] $integrity_check = ['sha256'], String $strip_binaries = '--strip-all', String $strip_shared = '--strip-unneeded', String $strip_static = '--strip-debug', Array[String] $man_dirs = ['{usr{,/local}{,/share},opt/*}/{man,info}'], Array[String] $doc_dirs = ['usr/{,local/}{,share/}{doc,gtk-doc}', 'opt/*/{doc,gtk-doc}'], Array[String] $purge_targets = ['usr/{,share}/info/dir', '.packlist', '*.pod'], String $dbgsrcdir = '/usr/src/debug', Optional[String] $pkgdest = undef, # /home/packages Optional[String] $srcdest = undef, # /home/soruces Optional[String] $srcpkgdest = undef, # /home/srcpackages Optional[String] $logdest = undef, # /home/makepkglogs Optional[String] $packager = undef, # John Doe Optional[String] $gpgkey = undef, # "" String $compressgz = 'gzip -c -f -n', String $compressbz2 = 'bzip2 -c -f', String $compressxz = 'xz -c -z -', String $compresszst = 'zstd -c -z -q -', String $compresslrz = 'lrzip -q', String $compresslzo = 'lzop -q', String $compressz = 'compress -c -f', String $compresslz4 = 'lz4 -q', String $compresslz = 'lzip -c -f', String $pkgext = '.pkg.tar.zst', String $srcext = '.src.tar.gz', Optional[String] $pacman_auth = undef, # '' ) { file { '/etc/makepkg.conf': content => epp('pacman/makepkg.conf.epp'), } }