From e38e9988a1a3b3a61b13a43cddb1de5350e87898 Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Wed, 3 Feb 2010 20:41:28 +0000 Subject: [PATCH] Added all necessary aliases to match the Linux stdenv as closely as possible on FreeBSD svn path=/nixpkgs/branches/stdenv-updates/; revision=19795 --- pkgs/stdenv/native/default.nix | 149 +++++++++++++++++++- pkgs/stdenv/native/derivealiases-freebsd.sh | 49 +++++++ 2 files changed, 195 insertions(+), 3 deletions(-) create mode 100644 pkgs/stdenv/native/derivealiases-freebsd.sh diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix index 1f2117ebba0f..6f4ae7837dff 100644 --- a/pkgs/stdenv/native/default.nix +++ b/pkgs/stdenv/native/default.nix @@ -23,12 +23,155 @@ rec { stripAllFlags=" " # the Darwin "strip" command doesn't know "-s" ''; + /* FreeBSD needs the following packages installed from the FreeBSD packages + * collection (pkg_add -r ...): + * + * bash + * coreutils + * diffutils + * findutils + * gawk + * gmake + * gsed + * gtar + * gsed + * gtar + * gzip + * + * The aliases are derived by using the derivealiases-freebsd.sh script + * + * The following packages seem to be fine in the default install: + * + * gcc (included with FreeBSD) + * binutils (FreeBSD uses GNU binutils) + * bzip2 (included with FreeBSD) + * grep (FreeBSD uses GNU grep) + * patch (included with FreeBSD) + * + * Moreover a symlink to /bin/bash is required and /bin/sh has to be a symlink to /bin/bash + */ + prehookFreeBSD = builtins.toFile "prehook-freebsd.sh" '' source ${prehookBase} - alias make=gmake - alias tar=gtar - alias sed=gsed + alias [='g[' + alias base64='gbase64' + alias basename='gbasename' + alias cat='gcat' + alias chcon='gchcon' + alias chgrp='gchgrp' + alias chmod='gchmod' + alias chown='gchown' + alias chroot='gchroot' + alias cksum='gcksum' + alias comm='gcomm' + alias cp='gcp' + alias csplit='gcsplit' + alias cut='gcut' + alias date='gdate' + alias dd='gdd' + alias df='gdf' + alias dir='gdir' + alias dircolors='gdircolors' + alias dirname='gdirname' + alias du='gdu' + alias echo='gecho' + alias env='genv' + alias expand='gexpand' + alias expr='gexpr' + alias factor='gfactor' + alias false='gfalse' + alias fmt='gfmt' + alias fold='gfold' + alias groups='ggroups' + alias head='ghead' + alias hostid='ghostid' + alias id='gid' + alias install='ginstall' + alias join='gjoin' + alias kill='gkill' + alias link='glink' + alias ln='gln' + alias logname='glogname' + alias ls='gls' + alias md5sum='gmd5sum' + alias mkdir='gmkdir' + alias mkfifo='gmkfifo' + alias mknod='gmknod' + alias mktemp='gmktemp' + alias mv='gmv' + alias nice='gnice' + alias nl='gnl' + alias nohup='gnohup' + alias od='god' + alias paste='gpaste' + alias pathchk='gpathchk' + alias pinky='gpinky' + alias pr='gpr' + alias printenv='gprintenv' + alias printf='gprintf' + alias ptx='gptx' + alias pwd='gpwd' + alias readlink='greadlink' + alias rm='grm' + alias rmdir='grmdir' + alias runcon='gruncon' + alias seq='gseq' + alias sha1sum='gsha1sum' + alias sha224sum='gsha224sum' + alias sha256sum='gsha256sum' + alias sha384sum='gsha384sum' + alias sha512sum='gsha512sum' + alias shred='gshred' + alias shuf='gshuf' + alias sleep='gsleep' + alias sort='gsort' + alias split='gsplit' + alias stat='gstat' + alias stdbuf='gstdbuf' + alias stty='gstty' + alias sum='gsum' + alias sync='gsync' + alias tac='gtac' + alias tail='gtail' + alias tee='gtee' + alias test='gtest' + alias timeout='gtimeout' + alias touch='gtouch' + alias tr='gtr' + alias true='gtrue' + alias truncate='gtruncate' + alias tsort='gtsort' + alias tty='gtty' + alias uname='guname' + alias unexpand='gunexpand' + alias uniq='guniq' + alias unlink='gunlink' + alias uptime='guptime' + alias users='gusers' + alias vdir='gvdir' + alias wc='gwc' + alias who='gwho' + alias whoami='gwhoami' + alias yes='gyes' + + alias cmp='gcmp' + alias diff='gdiff' + alias diff3='gdiff3' + alias sdiff='gsdiff' + + alias find='gfind' + alias oldfind='goldfind' + alias locate='glocate' + alias updatedb='gupdatedb' + alias xargs='gxargs' + + alias make='gmake' + + alias sed='gsed' + + alias tar='gtar' + export MAKE=gmake shopt -s expand_aliases diff --git a/pkgs/stdenv/native/derivealiases-freebsd.sh b/pkgs/stdenv/native/derivealiases-freebsd.sh new file mode 100644 index 000000000000..510abeaee1dd --- /dev/null +++ b/pkgs/stdenv/native/derivealiases-freebsd.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +for i in `cat /var/db/pkg/coreutils-*/+CONTENTS | grep "bin/g"` +do + name=`basename $i` + echo "alias ${name:1}='g${name:1}'" +done + +echo + +for i in `cat /var/db/pkg/diffutils-*/+CONTENTS | grep "bin/g"` +do + name=`basename $i` + echo "alias ${name:1}='g${name:1}'" +done + +echo + +for i in `cat /var/db/pkg/findutils-*/+CONTENTS | grep "bin/g"` +do + name=`basename $i` + echo "alias ${name:1}='g${name:1}'" +done + +echo + +for i in `cat /var/db/pkg/gmake-*/+CONTENTS | grep "bin/g"` +do + name=`basename $i` + echo "alias ${name:1}='g${name:1}'" +done + +echo + +for i in `cat /var/db/pkg/gsed-*/+CONTENTS | grep "bin/g"` +do + name=`basename $i` + echo "alias ${name:1}='g${name:1}'" +done + +echo + +for i in `cat /var/db/pkg/gtar-*/+CONTENTS | grep "bin/g"` +do + name=`basename $i` + echo "alias ${name:1}='g${name:1}'" +done + +echo