makepkg (makepkg.conf)
makepkg personalizado
Categoria: Miscelânea
Software: makepkg
[ Hits: 3.397 ]
Por: niquelnausea
**esta configuração torna obsoleta uma versão mais antiga que havia disponibilizado no vol em 2015 https://www.vivaolinux.com.br/etc/makepkgconf-1/
com as novas versões do gcc, novos recursos foram adicionados, sendo algumas opções com foco em desempenho, como sempre, faça backup do arquivo original e substitua o conteúdo do arquivo /etc/makepkg.conf .
este arquivo é o responsável pelas instruções e configurações para compilações realizadas através do sistema de pkgbuilds do arch, ou seja, pacotes do sistemas compilados manualmente e pacotes do aur, seja manualmente ou através de algum aur helper como o yay.
testado no arch e provavelmente também é compatível com o manjaro e outras distros baseadas no arch.
maiores informações na wiki https://wiki.archlinux.org/index.php/Makepkg ou man makepkg.
mudanças em relação ao arquivo original:
- em "CFLAGS" e "CXXFLAGS" o compilador ira usar instruções especificas para o processador em uso, independente do fabricante ou modelo;
- em "MAKEFLAGS" o compilador irá usar o numero total de núcleos do processador, independente de quantos sejam (acelerando a compilação);
- em "BUILDENV" esta habilitado o ccache https://wiki.archlinux.org/index.php/Ccache , obrigatório a instalação do mesmo;
- em "#PKGDEST=$HOME/pkg" retirando o comentário (#) desta linha é possível salvar os pacotes compilados em uma pasta "pkg" na /home do usuário (necessário criar a pasta manualmente);
- em "#SRCDEST=$HOME/sources" retirando o comentário (#) desta linha é possível salvar as fontes dos pacotes em uma pasta "sources" na /home do usuário (necessário criar a pasta manualmente), muito útil para arquivos disponibilizados por git;
- em "COMPRESSXZ" esta habilitado a compressão em xz usando quantos núcleos possíveis do processador;
- em "PKGEXT='.pkg.tar.xz''' retirando o ".xz" (ficando PKGEXT='.pkg.tar') é possível desabilitar a compressão de pacotes finais;
- em "#export CC=clang" e "#export CXX=clang++", retirando o comentário (#) é possível habilitar a compilação através do clang https://wiki.archlinux.org/index.php/Clang .
#!/hint/bash # # /etc/makepkg.conf # ######################################################################### # SOURCE ACQUISITION ######################################################################### # #-- The download utilities that makepkg should use to acquire sources # Format: 'protocol::agent' 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') # Other common tools: # /usr/bin/snarf # /usr/bin/lftpget -c # /usr/bin/wget #-- The package required by makepkg to download VCS sources # Format: 'protocol::package' VCSCLIENTS=('bzr::bzr' 'git::git' 'hg::mercurial' 'svn::subversion') ######################################################################### # ARCHITECTURE, COMPILE FLAGS ######################################################################### # CARCH="x86_64" CHOST="x86_64-pc-linux-gnu" #-- Compiler and Linker Flags CPPFLAGS="-D_FORTIFY_SOURCE=2" CFLAGS="-march=native -O2 -pipe -fno-plt" CXXFLAGS="${CFLAGS}" LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" #-- Make Flags: change this for DistCC/SMP systems MAKEFLAGS="-j$(nproc)" #-- Debugging flags DEBUG_CFLAGS="-g -fvar-tracking-assignments" DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" ######################################################################### # BUILD ENVIRONMENT ######################################################################### # # Defaults: BUILDENV=(!distcc !color !ccache check !sign) # A negated environment option will do the opposite of the comments below. # #-- distcc: Use the Distributed C/C++/ObjC compiler #-- color: Colorize output messages #-- ccache: Use ccache to cache compilation #-- check: Run the check() function if present in the PKGBUILD #-- sign: Generate PGP signature file # BUILDENV=(!distcc color ccache check !sign) # #-- If using DistCC, your MAKEFLAGS will also need modification. In addition, #-- specify a space-delimited list of hosts running in the DistCC cluster. #DISTCC_HOSTS="" # #-- Specify a directory for package building. #BUILDDIR=/tmp/makepkg ######################################################################### # GLOBAL PACKAGE OPTIONS # These are default values for the options=() settings ######################################################################### # # Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug) # A negated option will do the opposite of the comments below. # #-- strip: Strip symbols from binaries/libraries #-- docs: Save doc directories specified by DOC_DIRS #-- libtool: Leave libtool (.la) files in packages #-- staticlibs: Leave static library (.a) files in packages #-- emptydirs: Leave empty directories in packages #-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip #-- purge: Remove files specified by PURGE_TARGETS #-- debug: Add debugging flags as specified in DEBUG_* variables # OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug) #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 INTEGRITY_CHECK=(md5) #-- Options to be used when stripping binaries. See `man strip' for details. STRIP_BINARIES="--strip-all" #-- Options to be used when stripping shared libraries. See `man strip' for details. STRIP_SHARED="--strip-unneeded" #-- Options to be used when stripping static libraries. See `man strip' for details. STRIP_STATIC="--strip-debug" #-- Manual (man and info) directories to compress (if zipman is specified) MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) #-- Doc directories to remove (if !docs is specified) DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) #-- Files to be removed from all packages (if purge is specified) PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) #-- Directory to store source code in for debug packages DBGSRCDIR="/usr/src/debug" ######################################################################### # PACKAGE OUTPUT ######################################################################### # # Default: put built package and cached source in build directory # #-- Destination: specify a fixed directory where all packages will be placed #PKGDEST=$HOME/pkg #-- Source cache: specify a fixed directory where source files will be cached #SRCDEST=$HOME/sources #-- Source packages: specify a fixed directory where all src packages will be placed #SRCPKGDEST=/home/srcpackages #-- Log files: specify a fixed directory where all log files will be placed #LOGDEST=/home/makepkglogs #-- Packager: name/email of the person or organization building packages #PACKAGER="John Doe <john@doe.com>" #-- Specify a key to use for package signing #GPGKEY="" ######################################################################### # COMPRESSION DEFAULTS ######################################################################### # COMPRESSGZ=(gzip -c -f -n) COMPRESSBZ2=(bzip2 -c -f) COMPRESSXZ=(xz -c -z - --threads=0) COMPRESSLRZ=(lrzip -q) COMPRESSLZO=(lzop -q) COMPRESSZ=(compress -c -f) ######################################################################### # EXTENSION DEFAULTS ######################################################################### # # WARNING: Do NOT modify these variables unless you know what you are # doing. # PKGEXT='.pkg.tar.xz' SRCEXT='.src.tar.gz' # vim: set ft=sh ts=2 sw=2 et: #export CC=clang #export CXX=clang++
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (6)