# HG changeset patch # User Christophe Lincoln # Date 1244902843 -7200 # Node ID f0f3070ff8fb98d1f59d501d6acdfac76ba8785b # Parent b1b4f5518c4e33ec810e5a38acfae69080f82f06 coreutils: Fix (hack) build diff -r b1b4f5518c4e -r f0f3070ff8fb coreutils/receipt --- a/coreutils/receipt Sat Jun 13 15:01:25 2009 +0200 +++ b/coreutils/receipt Sat Jun 13 16:20:43 2009 +0200 @@ -8,15 +8,35 @@ TARBALL="$PACKAGE-$VERSION.tar.gz" WEB_SITE="http://www.gnu.org/software/coreutils/" WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL" +DEPENDS="libcap" +BUILD_DEPENDS="libcap-dev gmp-dev" # Rules to configure and make the package. compile_rules() { cd $src - ./configure --prefix=/usr --infodir=/usr/share/info \ - --mandir=/usr/share/man $CONFIGURE_ARGS - make - make DESTDIR=$PWD/_pkg install + + # Hack to fix ls: expected specifier-qualifier-list before '__u64' + # We are not patching the original file, just fake to compile + # coreutils. + rm -f /usr/include/asm/sigcontext.h.bak + mv /usr/include/asm/sigcontext.h /usr/include/asm/sigcontext.h.bak || exit 1 + cp ../stuff/sigcontext.h /usr/include/asm + + sed -i 's/1.10a/1.10.2/' configure.ac || exit 1 + sed -i 's/dist-xz/dist-lzma/' configure.ac || exit 1 + + ./configure \ + --prefix=/usr \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --enable-no-install-program=kill,uptime,ls \ + $CONFIGURE_ARGS && + make && + make DESTDIR=$PWD/_pkg install && + + # Restore original sigcontext.h + mv -f /usr/include/asm/sigcontext.h.bak /usr/include/asm/sigcontext.h } # Rules to gen a SliTaz package suitable for Tazpkg. @@ -27,7 +47,7 @@ # genpkg_rules() { - mkdir -p $fs/usr/bin $fs/usr/share/locale + mkdir -p $fs/usr/bin # Utils... cp -a $_pkg/usr/bin/base64 $fs/usr/bin cp -a $_pkg/usr/bin/csplit $fs/usr/bin @@ -42,9 +62,6 @@ cp -a $_pkg/usr/bin/split $fs/usr/bin cp -a $_pkg/usr/bin/users $fs/usr/bin cp -a $_pkg/usr/bin/groups $fs/usr/bin - strip -s $fs/usr/bin/* 2>/dev/null - # Locale - cp -a $_pkg/usr/share/locale/fr $fs/usr/share/locale } # Pre and post install commands for Tazpkg. @@ -55,7 +72,13 @@ local root root=$1 echo "Processing pre-install commands..." - echo -n "Removing all Busybox reploaced utils... " + echo -n "Removing all Busybox replaced utils... " rm -f $root/usr/bin/od $root/usr/bin/split status } + +post_remove() +{ + ln -s /bin/busybox /usr/bin/od + ln -s /bin/busybox /usr/bin/split +} diff -r b1b4f5518c4e -r f0f3070ff8fb coreutils/stuff/sigcontext.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreutils/stuff/sigcontext.h Sat Jun 13 16:20:43 2009 +0200 @@ -0,0 +1,143 @@ +#ifndef _ASM_X86_SIGCONTEXT_H +#define _ASM_X86_SIGCONTEXT_H + +#include + +#ifdef __i386__ +/* + * As documented in the iBCS2 standard.. + * + * The first part of "struct _fpstate" is just the normal i387 + * hardware setup, the extra "status" word is used to save the + * coprocessor status word before entering the handler. + * + * Pentium III FXSR, SSE support + * Gareth Hughes , May 2000 + * + * The FPU state data structure has had to grow to accommodate the + * extended FPU state required by the Streaming SIMD Extensions. + * There is no documented standard to accomplish this at the moment. + */ +struct _fpreg { + unsigned short significand[4]; + unsigned short exponent; +}; + +struct _fpxreg { + unsigned short significand[4]; + unsigned short exponent; + unsigned short padding[3]; +}; + +struct _xmmreg { + unsigned long element[4]; +}; + +struct _fpstate { + /* Regular FPU environment */ + unsigned long cw; + unsigned long sw; + unsigned long tag; + unsigned long ipoff; + unsigned long cssel; + unsigned long dataoff; + unsigned long datasel; + struct _fpreg _st[8]; + unsigned short status; + unsigned short magic; /* 0xffff = regular FPU data only */ + + /* FXSR FPU environment */ + unsigned long _fxsr_env[6]; /* FXSR FPU env is ignored */ + unsigned long mxcsr; + unsigned long reserved; + struct _fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */ + struct _xmmreg _xmm[8]; + unsigned long padding[56]; +}; + +#define X86_FXSR_MAGIC 0x0000 + +/* + * User-space might still rely on the old definition: + */ +struct sigcontext { + unsigned short gs, __gsh; + unsigned short fs, __fsh; + unsigned short es, __esh; + unsigned short ds, __dsh; + unsigned long edi; + unsigned long esi; + unsigned long ebp; + unsigned long esp; + unsigned long ebx; + unsigned long edx; + unsigned long ecx; + unsigned long eax; + unsigned long trapno; + unsigned long err; + unsigned long eip; + unsigned short cs, __csh; + unsigned long eflags; + unsigned long esp_at_signal; + unsigned short ss, __ssh; + struct _fpstate * fpstate; + unsigned long oldmask; + unsigned long cr2; +}; + +#else /* __i386__ */ + +/* FXSAVE frame */ +/* Note: reserved1/2 may someday contain valuable data. Always save/restore + them when you change signal frames. */ +struct _fpstate { + __u16 cwd; + __u16 swd; + __u16 twd; /* Note this is not the same as the 32bit/x87/FSAVE twd */ + __u16 fop; + __u64 rip; + __u64 rdp; + __u32 mxcsr; + __u32 mxcsr_mask; + __u32 st_space[32]; /* 8*16 bytes for each FP-reg */ + __u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg */ + __u32 reserved2[24]; +}; + +/* + * User-space might still rely on the old definition: + */ +struct sigcontext { + unsigned long r8; + unsigned long r9; + unsigned long r10; + unsigned long r11; + unsigned long r12; + unsigned long r13; + unsigned long r14; + unsigned long r15; + unsigned long rdi; + unsigned long rsi; + unsigned long rbp; + unsigned long rbx; + unsigned long rdx; + unsigned long rax; + unsigned long rcx; + unsigned long rsp; + unsigned long rip; + unsigned long eflags; /* RFLAGS */ + unsigned short cs; + unsigned short gs; + unsigned short fs; + unsigned short __pad0; + unsigned long err; + unsigned long trapno; + unsigned long oldmask; + unsigned long cr2; + struct _fpstate *fpstate; /* zero when no FPU context */ + unsigned long reserved1[8]; +}; + +#endif /* !__i386__ */ + +#endif