You are not logged in.

#1 2003-09-21 15:02:41

contrasutra
Member
From: New Jersey
Registered: 2003-07-26
Posts: 507

USE flags?

I was reading about Gentoo's USE flags, and it looks pretty cool. You can choose what dependancies/settings are compiled into a package.

Is pacman/makepkg planning to implement this?


"Contrary to popular belief, penguins are not the salvation of modern technology.  Neither do they throw parties for the urban proletariat."

Offline

#2 2003-09-21 15:37:18

red_over_blue
Member
Registered: 2003-07-19
Posts: 152

Re: USE flags?

I used Gentoo for quite some time before switching to Arch.  I can tell you that for the most part, Gentoo's USE variables are a waste of time... let me explain.

1.  There are so many options with programs that it was getting rediculous to look at all the available USE flags that could be used.  By the time I left, they had to have package specific USE variable (USE variables that only pertained to specific packages).  It was getting to the point that I might as well use every USE variable.

2.  Gentoo (when I left) didn't allow for package dependent USE variables.  What I mean is the user couldn't say "I want package A compiled with USE variables X and package B compiled with USE variables Y everytime I compile these packages".  So If I were to compile a package with specific USE variables, and later that package was upgraded during a system wide upgrade, it would be compiled again using the default system USE variables that I defined, undoing my previous work.

3.  Most of the Arch packages that I have seen so far have been compiled with everything I need.  Remember... Arch is a binary distro... and I LOVE it for that.  If I need a package compiled with support for something else, it is very easy to hack the PKGBUILD and add that functionality (I like mplayer compiled with ALSA for example... very easy to do.)

4.  I love the fact that the PKGBUILD is a simple BASH script.  I would hate to see the simplicity of Arch's system get crippled by a layer to "try" to make things easier. 


Just my 0.02 smile


Don't forget to post your PKGBUILD in your thread when you announce a new package in incoming.
see HERE for details

Offline

#3 2003-09-21 15:46:13

red_over_blue
Member
Registered: 2003-07-19
Posts: 152

Re: USE flags?

In case you were interested:

# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/profiles/use.desc,v 1.114 2003/08/21 08:19:11 g2boojum Exp $

3dfx - Adds support for 3dfx video cards to XFree86. See: voodoo3
3dnow - Adds support for 3dnow multimedia processor instructions
aalib - Adds support for media-libs/aalib (ASCII-Graphics Library)
acl - Adds support for Access Control Lists
acpi - Adds support for Advanced Configuration and Power Interface
afs - Adds OpenAFS support (distributed file system)
alsa - Adds support for media-libs/alsa-lib (Advanced Linux Sound Architecture)
apache2 - Chooses Apache2 support when a package supports both Apache1 and Apache2
apm - Adds APM (Advanced Power Management) support
arts - Adds support for aRts: the KDE sound daemon
atlas - Adds support for atlas instead of blas in dev-lang/R 
avi - Adds Win32 AVI support and also adds avifile (Library for avi) support
berkdb - Adds support for sys-libs/db (Berkeley DB for MySQL)
bonobo - Adds support for gnome-base/bonobo (Gnome CORBA interfaces)
bootstrap - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used during original system bootstrapping
build - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping.
canna - Adds support for the Canna kana to kanji conversion engine
cdr - Adds support for CD writer hardware (e.g. compile the koncd app in kdemultimedia)
cjk - Adds support for Multi-byte character languages (Chinese, Japanese, Korean)
crypt - Add support for encryption -- using mcrypt or gpg where applicable
cscope - Enables cscope interface -- in vim for example
cups - Add support for CUPS (Common Unix Printing System)
curl - Adds support for client-side URL transfer library
debug - Tells configure and the makefiles to build for debugging. Effects vary acrosss packages, but generally it will at least add -g to CFLAGS. Remember to set FEATURES+=nostrip too.
dedicated - Adds support for dedicated game servers
dga - Adds DGA Support (Xfree86) (DGA=Direct Graphic Access)
directfb - Adds support for DirectFB layer (library for FB devices)
doc - Adds extra documentation (API, Javadoc, etc)
dvb - Adds support for DVB (Digital Video Broadcasting)
dvd - Adds support for DVDs
emacs - Adds support for GNU Emacs
encode - Adds support for MEncoder or LaME encoder, wherever applicable
esd - Adds support for media-sound/esound (Enlightened Sound Daemon)
ethereal - Adds support for ethereal wiretap log support in kismet
ev6 - Assume Alpha processor is EV6 or better
evo - Adds support for evolution in gnumeric
fbcon - Adds framebuffer support for the console, via the kernel
firebird - Adds support for the Firebird relational database
flash - Adds support for creating flash files using Ming
foomaticdb - Adds support for the foomatic printing driver database
freetds - Adds support for the TDS protocol to connect to MSSQL/Sybase databases
freewnn - Adds support for FreeWnn kana to kanji conversion engine
gb - Adds support for Gnome Basic to gnumeric
gd - Adds support for media-libs/libgd (to generate graphics on the fly)
gdbm - Adds support for sys-libs/gdbm (GNU database libraries)
ggi - Adds support for media-libs/libggi (non-X video api/drivers)
gif - Adds GIF image support
gnome - Adds GNOME support
gphoto2 - Adds digital camera support
gpm - Adds support for sys-libs/gpm (Console-based mouse driver)
gps - Adds support for Global Positioning System
gstreamer - Adds support for media-libs/gstreamer (Streaming media)
gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit)
gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both. Beware that gtk+-2 support can be bad.
gtkhtml - Adds support for gnome-extra/gtkhtml
guile - Adds support for dev-util/guile (interpreter for Scheme)
icc - Use the Intel C++ Compiler if the package supports it
icc-pgo - Enable PGO data generation or use when use icc.
imap - Adds support for IMAP
imlib - Adds support for media-libs/imlib (Image loading and rendering library)
innodb - Adds innodb support for mySQL (transaction support)
informix - Adds support for Informix database
ipv6 - Adds support for IP version 6
jack - Adds support for the JACK Audio Connection Kit
java - Adds support for Java
jikes - Compile Java source code with jikes (faster)
joystick - Add support for joysticks in all packages
jpeg - Adds JPEG image support
junit - Adds junit awareness -- useful for developers.
kde - Adds support for kde-base/kde (K Desktop Enviroment)
kerberos - Adds kerberos support
krb4 - Adds optional kerberos 4 compatibility support
ladcca - Adds Linux Audio Developer's Configuration and Connection API support (LADCCA)
lcms - Adds lcms support to media-gfx/imagemagick (Color management)
ldap - Adds LDAP support (Lightweight Directory Access Protocol)
leim - Adds input methods support to Emacs
libg++ - Adds C++ modules in dev-db/postgresql (libpq++)
libgda - Adds GNU Data Access (CORBA wrapper) support for gnumeric 
libwww - Adds libwww support (General purpose WEB API)
lirc - Adds support for lirc (Linux's Infra-Red Remote Control)
mad - Adds support for mad (high-quality mp3 decoder library and cli frontend)
maildir - Adds support for maildir (~/.maildir) style mail spools
matrox - Adds Matrox MGA support to mplayer
mbox - Adds support for mbox (/var/spool/mail) style mail spools
mcal - Adds support for MCAL calender system
mikmod - Adds libmikmod support to allow playing of SoundTracker-style music files
memlimit - Adds memory usage limiting in supporting programs
mmx - Adds support for optimizations for Pentium MMX and Athlon class processors
motif - Adds motif support (virtual/motif)
mozilla - Adds mozilla support
mpeg - Adds libmpeg3 support to various packages.
mpi - Adds MPI (Message Passing Interface) layer to the apps that support it.
mule - Adds multi-language support to XEmacs
mysql - Adds mySQL support
nas - Adds support for network audio sound
ncurses - Adds ncurses support (console display library)
nhc98 - Use the nhc98 Haskell compiler instead of GHC if the package supports it
nls - Adds Native Language Support (using gettext - GNU locale utilities)
nocardbus - Disables cardbus support in pcmcia-cs
nocd - Tells emerge to install all files required to run the application without a CD mounted
oci8 - Adds Oracle Support
odbc - Adds ODBC Support (Open DataBase Connectivity)
oggvorbis - Adds support for the OggVorbis audio encoding
opengl - Adds support for OpenGL
oss - Adds support for OSS (Open Sound System)
pam - Adds support PAM (Pluggable Authentication Modules)
pcmcia - Adds support for PCMCIA slots/devices found on laptop computers
pda - Adds support for portable devices.
ppds - Adds support for automatically generated ppd (printing driver) files
pdflib - Adds support for PDF (Portable Document Format)
perl - Adds support/bindings for the Perl language.
plotutils - Adds plotutils support to gnuplot (library for 2-D vector graphics)
png - Adds support for libpng (PNG images)
pnp - Adds support for PNP in pcmcia-cs (Plug-N-Play)
postgres - Adds support for the postgresql database
bindist - Flag to enable or disable options for prebuilt (GRP)  packages (eg. due to licensing issues)
prelude - Adds support/bindings for the Prelude Intrusion Detection System
python - Adds support/bindings for the Python language
qt - Adds support for the Qt library.
quicktime - Adds support for OpenQuickTime
readline - enables support for libreadline, a GNU line-editing library that most everyone wants.
ruby - Adds support/bindings for the Ruby language
samba - Adds support for SAMBA
sasl - Adds support for the Simple Authentication and Security Layer
scanner - Adds support for scanner hardware (e.g. build the sane frontend in kdegraphics)
sdl - Adds support for Simple Direct Layer (media library)
selinux - !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
slang - Adds support for the slang text display library (it's like ncurses, but different)
slp - Adds Service Locator Protocol support to CUPS
snmp - Adds support for the Simple Network Management Protocol if available
socks5 - Adds support for the socks5 proxy
spell - Adds dictionary support
sse - fast floating point optimisation for Pentium class chips
ssl - Adds support for Secure Socket Layer connections
static - !!do not set this during bootstrap!! Causes things to be statically linked instead of dynamically
svga - Adds support for SVGAlib (graphics library)
tcltk - Support for Tcl and/or Tk
tcpd - Adds support for TCP wrappers
tetex - Adds support for teTeX
tiff - Adds support for the tiff image format
truetype - Adds support for FreeType and/or FreeType2 fonts
trusted - used by pcmcia-cs to see if a regular user can add and remove pcmcia cards
usb - Adds USB support to applications that have optional USB support (e.g. cups)
videos - Tells portage to install optional video files (used in some games)
voodoo3 - Adds support for 3Dfx's Voodoo3 video chipset, else defaults to Voodoo4/5 support if not in USE.
wavelan - Tells pcmcia-cs that you want to use the built-in wvlan drivers instead of the Orinoco drivers
wmf - Adds support for the wmf vector image format
wxwindows - Adds support for wxWindows/wxGTK
X - Adds support for XFree86
Xaw3d - Adds support of the 3d athena widget set
xface - Adds xface support -- only in use for sylpheed and sylpheed-claws
xinerama - Add support for XFree86's xinerama extension, which allows you to stretch your display across multiple monitors
xosd - Sends display using the X On Screen Display library
xml - Check/Support flag for XML library (version 1)
xml2 - Check/Support flag for XML library (version 2)
xmms - Check/Support for XMMS (X MultiMedia System) player.
xv - Adds in optional support for the Xvideo extension (an X API for video playback)
zeo - Adds support for Zope Enterprise Objects
zlib - Adds support for zlib (de)compression


# The following flags are NOT to be set or unset by users
x86 - indicates that architecture is x86
ppc - indicates that architecture is PowerPC
sparc - indicates that architecture is (32-bit) Sparc
alpha - indicates that architecture is 64-bit Alpha
mips - indicates that architecture is MIPS based
hppa - indicates that architecture is HP PA-Risc
arm - indicates that architecture is ARM

Don't forget to post your PKGBUILD in your thread when you announce a new package in incoming.
see HERE for details

Offline

#4 2003-09-22 19:12:10

jlvsimoes
Member
From: portugal
Registered: 2002-12-23
Posts: 392
Website

Re: USE flags?

damm .......


-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GU/ d- s: a- C L U P+ L+++ E--- W+
N 0+ K- W-- !O !M V-- PS+ PE- V++ PGP T 5 Z+ R* TV+ B+
DI-- D- G-- e-- h! r++ z+ z*
------END GEEK CODE BLOCK------

Offline

#5 2009-03-02 17:41:22

kokoko3k
Member
Registered: 2008-11-14
Posts: 2,397

Re: USE flags?

In arch you have yaourt, but it's far, far away from gentoo, you'll have to edit the configure script manually.
I don't think it's a waste of time, it depends on what you need, for example in arch linux we have a very small build of libsdl which lacks some important feature (to me) like svgalib and directfb support, and i've to make my own sdl build, but, as said, arch it's mainly a binary distro, you cant even imagine how many binary packages combinations there should be (!).
It's an old thread, but i was just searching about libsdl build(S) in arch big_smile


Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !

Offline

#6 2009-03-10 23:29:22

pierce.jason
Member
Registered: 2009-03-02
Posts: 19

Re: USE flags?

red_over_blue wrote:

2.  Gentoo (when I left) didn't allow for package dependent USE variables.  What I mean is the user couldn't say "I want package A compiled with USE variables X and package B compiled with USE variables Y everytime I compile these packages".  So If I were to compile a package with specific USE variables, and later that package was upgraded during a system wide upgrade, it would be compiled again using the default system USE variables that I defined, undoing my previous work.

3.  Most of the Arch packages that I have seen so far have been compiled with everything I need.  Remember... Arch is a binary distro... and I LOVE it for that.  If I need a package compiled with support for something else, it is very easy to hack the PKGBUILD and add that functionality (I like mplayer compiled with ALSA for example... very easy to do.)

2. I do not know when you last used Gentoo, but per-package configuration of USE flags has been documented in the Gentoo Handbook since atleast August of 2004. Checkout code listing 4 for a simple example http://web.archive.org/web/200408100819 … t=2&chap=1

3. While Arch is natively a binary distro, we're provided with a rich set of tools that make it convenient to work from a source perspective as well. Just having ABS and the wonderful PKGBUILD structure is a big part of this, but if you really need more... checkout 'srcpac' on projects.archlinux.org. I can't find the documentation currently, but at one point I had some documentation describing the /etc/srcpac.d/ config files. These are used to automatically apply changes to arbitrary string substitutions on a per-PKGBUILD basis. While not quite USE flags, this does give the ability to retain ./config options across multiple package upgrades.

Offline

#7 2009-03-10 23:33:47

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,400
Website

Re: USE flags?

Srcpac is an interesting project but I'm not sure that it works very well at the moment.  There are a few bug reports in the pacman section of the tracker.  I guess that this would not require much work to get going, so if anyone wants to volunteer let me know and I can push any patches for it.

Offline

#8 2009-03-11 00:21:04

pierce.jason
Member
Registered: 2009-03-02
Posts: 19

Re: USE flags?

kokoko3k wrote:

It's an old thread, but ...

Wow, no lie man. I just noticed the dates up there too.

I wonder if the original posters have been keeping up (or even still interested) with Arch's advancements in source installation methods...

Offline

#9 2009-03-11 00:26:58

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,400
Website

Re: USE flags?

Wow this is old...   it should never have been bumped.  Closing.

Offline

Board footer

Powered by FluxBB