This is an app-arch/upx that compiles from source rather than relying on the binary distribution. It still does a few wonkey things like forcing flags to -march=i386 -mcpu=i586 on i386 architectures. Attached also is the ebuild for app-arch/ucl-1.01 the compression library that it uses. ucl-1.01 claims to support any 32 bit integer platform. upx is a bit more vague. 68000 and x86 are mentioned. 68k support requires the assembler http://upx.sourceforge.net/download/tools/a68k-2.71-mfx2.tar.gz that I have not even attempted to impliement into the ebuild. Tested on x86 platform only. Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.49-r13-2 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.20-gentoo-r6) ================================================================= System uname: 2.4.20-gentoo-r6 i686 Celeron (Coppermine) Gentoo Base System version 1.4.3.10p1 distcc 2.9 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -O3" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox usersandbox ccache" GENTOO_MIRRORS="http://user:pass@premium.planetmirror.com/pub/gentoo http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gtkhtml alsa gdbm berkdb slang readline arts tetex nas bonobo svga tcltk java mysql postgres X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl mozilla gphoto2 ldap cdr scanner 3dfx acpi apache2 artswrappersuid doc ethereal flash gd gtk2 junit libgda mbox openal pic ppds samba slp socks5 sse tiff usb vhost xml
Created attachment 19454 [details] ucl-1.01.ebuild app-arch/ucl ebuild that upx depends on
Created attachment 19455 [details] upx-1.24.ebuild
Thanks for the ebuilds Daniel. :) There is already an ebuild for ucl hidden away in dev-libs/ucl. I've committed the upx ebuild (with a few changes) to cvs as app-arch/upx-ucl-1.24 since it shouldn't be considered as a replacement for app-arch/upx; upx-ucl contains inferior compression routines than upx (which uses the closed-source npv libraries.) Fortunately they are both inter-operable and can be used as drop-ins for each other. The main changes I've made are: - upx & upx-ucl will block each other since they both share the same manpage. - upx-ucl doesn't need nasm as a dependency since the assembler is only needed when compiling the stub assembly sources. - upx-ucl will compile using CFLAGS specified in make.conf