summary refs log tree commit diff
path: root/pkgs/stdenv/freebsd/trivial-bootstrap.sh
diff options
context:
space:
mode:
authorjanus <janus@xn--kn-1ia.guru>2015-11-28 15:06:15 +0000
committerjanus <janus@xn--kn-1ia.guru>2016-01-01 17:01:13 +0000
commit55aa9163cca34107b3e3ce7ce8d7bb76fa5717a0 (patch)
tree3e35217e4909c42136534ea37d887b04baa7a402 /pkgs/stdenv/freebsd/trivial-bootstrap.sh
parenta472d836f674fe388018aaee75983e3400a77db4 (diff)
downloadnixlib-55aa9163cca34107b3e3ce7ce8d7bb76fa5717a0.tar
nixlib-55aa9163cca34107b3e3ce7ce8d7bb76fa5717a0.tar.gz
nixlib-55aa9163cca34107b3e3ce7ce8d7bb76fa5717a0.tar.bz2
nixlib-55aa9163cca34107b3e3ce7ce8d7bb76fa5717a0.tar.lz
nixlib-55aa9163cca34107b3e3ce7ce8d7bb76fa5717a0.tar.xz
nixlib-55aa9163cca34107b3e3ce7ce8d7bb76fa5717a0.tar.zst
nixlib-55aa9163cca34107b3e3ce7ce8d7bb76fa5717a0.zip
FreeBSD: minor fixes, add notes and make stdenv more robust
Diffstat (limited to 'pkgs/stdenv/freebsd/trivial-bootstrap.sh')
-rw-r--r--pkgs/stdenv/freebsd/trivial-bootstrap.sh364
1 files changed, 184 insertions, 180 deletions
diff --git a/pkgs/stdenv/freebsd/trivial-bootstrap.sh b/pkgs/stdenv/freebsd/trivial-bootstrap.sh
index 1d7478e158ab..1dc59ea7dbc7 100644
--- a/pkgs/stdenv/freebsd/trivial-bootstrap.sh
+++ b/pkgs/stdenv/freebsd/trivial-bootstrap.sh
@@ -1,189 +1,193 @@
-
-# Building bootstrap tools
 echo Building the trivial bootstrap environment...
-
-# needed FreeBSD packages:
-# findutils gcpio gawk gnugrep coreutils bash gsed gtar gmake xar binutils gpatch lbzip2 diffutils
+echo
+echo Needed FreeBSD packages:
+echo findutils gcpio gawk gnugrep coreutils bash gsed gtar gmake xar binutils gpatch lbzip2 diffutils
 
 $mkdir -p $out/bin
 
-$ln -s $ln $out/bin/ln
-
-PATH=$out/bin/
-
-cd $out/bin
-
-ln -s $mkdir
-
-ln -s /usr/local/bin/bash
-ln -s /bin/sh
-
-ln -s /usr/local/bin/gmake make
-
-ln -s /usr/local/bin/lbzip2
-
-ln -s /usr/local/bin/gdiff diff
-
-ln -s /usr/bin/locale
-
-ln -s /usr/bin/more
-
-ln -s /usr/bin/bzip2
-ln -s /usr/bin/bunzip2
-ln -s /usr/bin/bzcat
-ln -s /usr/bin/bzip2recover
-
-ln -s /usr/bin/xz
-ln -s /usr/bin/unxz
-ln -s /usr/bin/xzcat
-ln -s /usr/bin/lzma
-ln -s /usr/bin/unlzma
-ln -s /usr/bin/lzcat
-
-ln -s /usr/local/bin/gcp cp
-ln -s /usr/local/bin/gdd dd
-ln -s /usr/local/bin/gmv mv
-ln -s /usr/local/bin/grm rm
-ln -s /usr/local/bin/gls ls
-ln -s /bin/ps ps
-ln -s /usr/local/bin/gcat cat
-ln -s /usr/local/bin/gecho echo
-ln -s /usr/local/bin/gexpr expr
-ln -s /usr/local/bin/gtest test
-ln -s /usr/local/bin/gdate date
-ln -s /usr/local/bin/gchmod chmod
-ln -s /usr/local/bin/grmdir rmdir
-ln -s /usr/local/bin/gsleep sleep
-ln -s /bin/hostname hostname
-
-ln -s /usr/local/bin/gid id
-ln -s /usr/local/bin/god od
-ln -s /usr/local/bin/gtr tr
-ln -s /usr/local/bin/gwc wc
-ln -s /usr/local/bin/gcut cut
-ln -s /usr/bin/cmp cmp
-ln -s /usr/local/bin/gsed sed
-ln -s /usr/local/bin/gtar tar
-ln -s /usr/local/bin/xar xar
-ln -s /usr/local/bin/gawk awk
-ln -s /usr/local/bin/genv env
-ln -s /usr/local/bin/gtee tee
-ln -s /usr/local/bin/gcomm comm
-ln -s /usr/local/bin/gcpio cpio
-ln -s /usr/local/bin/curl curl
-ln -s /usr/local/bin/gfind find
-ln -s /usr/local/bin/grep grep #other grep is in /usr/bin
-ln -s /usr/bin/gzip
-ln -s /usr/bin/gunzip
-ln -s /usr/bin/zcat
-ln -s /usr/local/bin/ghead head
-ln -s /usr/bin/tail tail
-ln -s /usr/local/bin/guniq uniq
-ln -s /usr/bin/less less
-ln -s /usr/local/bin/gtrue true
-ln -s /usr/bin/diff diff
-ln -s /usr/local/bin/egrep egrep
-ln -s /usr/local/bin/fgrep fgrep
-ln -s /usr/local/bin/gpatch patch
-ln -s /usr/local/bin/guname uname
-ln -s /usr/local/bin/gtouch touch
-ln -s /usr/local/bin/gsplit split
-ln -s /usr/local/bin/gxargs xargs
-ln -s /usr/bin/which which
-ln -s /usr/local/bin/ginstall install
-ln -s /usr/local/bin/gbasename basename
-ln -s /usr/local/bin/gdirname dirname
-ln -s /usr/local/bin/greadlink readlink
-
-ln -fs /usr/local/bin/gln ln
-ln -s /usr/local/bin/gyes yes
-ln -s /usr/local/bin/gwhoami whoami
-ln -s /usr/local/bin/gvdir vdir
-ln -s /usr/local/bin/gusers users
-ln -s /usr/local/bin/guptime uptime
-ln -s /usr/local/bin/gunlink unlink
-ln -s /usr/local/bin/gtty tty
-ln -s /usr/local/bin/gunexpand unexpand
-ln -s /usr/local/bin/gtsort tsort
-ln -s /usr/local/bin/gtruncate truncate
-ln -s /usr/local/bin/gtimeout timeout
-ln -s /usr/local/bin/gtac tac
-ln -s /usr/local/bin/gsync sync
-ln -s /usr/local/bin/gsum sum
-ln -s /usr/local/bin/gstty stty
-ln -s /usr/local/bin/gstdbuf stdbuf
-ln -s /usr/local/bin/gsort sort
-ln -s /usr/local/bin/gruncon runcon
-ln -s /usr/local/bin/gseq seq
-ln -s /usr/local/bin/gsha1sum sha1sum
-ln -s /usr/local/bin/gsha224sum sha224sum
-ln -s /usr/local/bin/gsha256sum sha256sum
-ln -s /usr/local/bin/gsha384sum sha384sum
-ln -s /usr/local/bin/gsha512sum sha512sum
-ln -s /usr/local/bin/gshred shred
-ln -s /usr/local/bin/gshuf shuf
-ln -s /usr/local/bin/grealpath realpath
-ln -s "/usr/local/bin/g[" "["
-ln -s /usr/local/bin/gbase64 base64
-ln -s /usr/local/bin/gchcon chcon
-ln -s /usr/local/bin/gchgrp chgrp
-ln -s /usr/local/bin/gchown chown
-ln -s /usr/local/bin/gchroot chroot
-ln -s /usr/local/bin/gcksum cksum
-ln -s /usr/local/bin/gcsplit csplit
-ln -s /usr/local/bin/gdf df
-ln -s /usr/local/bin/gdircolors dircolors
-ln -s /usr/local/bin/gdu du
-ln -s /usr/local/bin/gexpand expand
-ln -s /usr/local/bin/gfactor factor
-ln -s /usr/local/bin/gfalse false
-ln -s /usr/local/bin/gfmt fmt
-ln -s /usr/local/bin/gfold fold
-ln -s /usr/local/bin/ggroups groups
-ln -s /usr/local/bin/ghostid hostid
-ln -s /usr/local/bin/gjoin join
-ln -s /usr/local/bin/gkill kill
-ln -s /usr/local/bin/glink link
-ln -s /usr/local/bin/glogname logname
-ln -s /usr/local/bin/gmd5sum md5sum
-ln -s /usr/local/bin/gmkdir mkdir
-ln -s /usr/local/bin/gmkfifo mkfifo
-ln -s /usr/local/bin/gmknod mknod
-ln -s /usr/local/bin/gmktemp mktemp
-ln -s /usr/local/bin/gnice nice
-ln -s /usr/local/bin/gnl nl
-ln -s /usr/local/bin/gnohup nohup
-ln -s /usr/local/bin/gnproc nproc
-ln -s /usr/local/bin/gnumfmt numfmt
-ln -s /usr/local/bin/gnustat nustat
-ln -s /usr/local/bin/gpaste paste
-ln -s /usr/local/bin/gpathchk pathchk
-ln -s /usr/local/bin/gpinky pinky
-ln -s /usr/local/bin/gpr pr
-ln -s /usr/local/bin/gprintenv printenv
-ln -s /usr/local/bin/gprintf printf
-ln -s /usr/local/bin/gptx ptx
-ln -s /usr/local/bin/gpwd pwd
+ln () {
+  if test "x$2" != x -a -f "$out/bin/$2"; then
+    echo "$2 exists"
+    exit 1;
+  fi;
+  if test ! -f "$1"; then
+    echo Target "$2" does not exist
+    exit 1;
+  fi
+  $ln -s "$1" "$out/bin/$2"
+}
+
+ln /usr/local/bin/bash
+ln /bin/sh
+
+ln /usr/local/bin/gmake make
+
+ln /usr/local/bin/lbzip2
+
+ln /usr/local/bin/gdiff diff
+
+ln /usr/bin/locale
+
+ln /usr/bin/more
+
+ln /usr/bin/hexdump # for bitcoin
+
+ln /usr/bin/bzip2
+ln /usr/bin/bunzip2
+ln /usr/bin/bzcat
+ln /usr/bin/bzip2recover
+
+ln /usr/bin/xz
+ln /usr/bin/unxz
+ln /usr/bin/xzcat
+ln /usr/bin/lzma
+ln /usr/bin/unlzma
+ln /usr/bin/lzcat
+
+ln /usr/local/bin/gcp cp
+ln /usr/local/bin/gdd dd
+ln /usr/local/bin/gmv mv
+ln /usr/local/bin/grm rm
+ln /usr/local/bin/gls ls
+ln /bin/ps ps
+ln /usr/local/bin/gcat cat
+ln /usr/local/bin/gecho echo
+ln /usr/local/bin/gexpr expr
+ln /usr/local/bin/gtest test
+ln /usr/local/bin/gdate date
+ln /usr/local/bin/gchmod chmod
+ln /usr/local/bin/grmdir rmdir
+ln /usr/local/bin/gsleep sleep
+ln /bin/hostname hostname
+
+ln /usr/local/bin/gid id
+ln /usr/local/bin/god od
+ln /usr/local/bin/gtr tr
+ln /usr/local/bin/gwc wc
+ln /usr/local/bin/gcut cut
+ln /usr/bin/cmp cmp
+ln /usr/local/bin/gsed sed
+ln /usr/local/bin/gtar tar
+ln /usr/local/bin/xar xar
+ln /usr/local/bin/gawk awk
+ln /usr/local/bin/genv env
+ln /usr/local/bin/gtee tee
+ln /usr/local/bin/gcomm comm
+ln /usr/local/bin/gcpio cpio
+ln /usr/local/bin/curl curl
+ln /usr/local/bin/gfind find
+ln /usr/local/bin/grep grep #other grep is in /usr/bin
+ln /usr/bin/gzip
+ln /usr/bin/gunzip
+ln /usr/bin/zcat
+ln /usr/local/bin/ghead head
+ln /usr/bin/tail tail
+ln /usr/local/bin/guniq uniq
+ln /usr/bin/less less
+ln /usr/local/bin/gtrue true
+# ln /usr/bin/diff diff
+ln /usr/local/bin/egrep egrep
+ln /usr/local/bin/fgrep fgrep
+ln /usr/local/bin/gpatch patch
+ln /usr/local/bin/guname uname
+ln /usr/local/bin/gtouch touch
+ln /usr/local/bin/gsplit split
+ln /usr/local/bin/gxargs xargs
+ln /usr/bin/which which
+ln /usr/local/bin/ginstall install
+ln /usr/local/bin/gbasename basename
+ln /usr/local/bin/gdirname dirname
+ln /usr/local/bin/greadlink readlink
+
+ln /usr/local/bin/gln ln
+ln /usr/local/bin/gyes yes
+ln /usr/local/bin/gwhoami whoami
+ln /usr/local/bin/gvdir vdir
+ln /usr/local/bin/gusers users
+ln /usr/local/bin/guptime uptime
+ln /usr/local/bin/gunlink unlink
+ln /usr/local/bin/gtty tty
+ln /usr/local/bin/gunexpand unexpand
+ln /usr/local/bin/gtsort tsort
+ln /usr/local/bin/gtruncate truncate
+ln /usr/local/bin/gtimeout timeout
+ln /usr/local/bin/gtac tac
+ln /usr/local/bin/gsync sync
+ln /usr/local/bin/gsum sum
+ln /usr/local/bin/gstty stty
+ln /usr/local/bin/gstdbuf stdbuf
+ln /usr/local/bin/gsort sort
+ln /usr/local/bin/gruncon runcon
+ln /usr/local/bin/gseq seq
+ln /usr/local/bin/gsha1sum sha1sum
+ln /usr/local/bin/gsha224sum sha224sum
+ln /usr/local/bin/gsha256sum sha256sum
+ln /usr/local/bin/gsha384sum sha384sum
+ln /usr/local/bin/gsha512sum sha512sum
+ln /usr/local/bin/gshred shred
+ln /usr/local/bin/gshuf shuf
+ln /usr/local/bin/grealpath realpath
+ln "/usr/local/bin/g[" "["
+ln /usr/local/bin/gbase64 base64
+ln /usr/local/bin/gchcon chcon
+ln /usr/local/bin/gchgrp chgrp
+ln /usr/local/bin/gchown chown
+ln /usr/local/bin/gchroot chroot
+ln /usr/local/bin/gcksum cksum
+ln /usr/local/bin/gcsplit csplit
+ln /usr/local/bin/gdf df
+ln /usr/local/bin/gdircolors dircolors
+ln /usr/local/bin/gdu du
+ln /usr/local/bin/gexpand expand
+ln /usr/local/bin/gfactor factor
+ln /usr/local/bin/gfalse false
+ln /usr/local/bin/gfmt fmt
+ln /usr/local/bin/gfold fold
+ln /usr/local/bin/ggroups groups
+ln /usr/local/bin/ghostid hostid
+ln /usr/local/bin/gjoin join
+ln /usr/local/bin/gkill kill
+ln /usr/local/bin/glink link
+ln /usr/local/bin/glogname logname
+ln /usr/local/bin/gmd5sum md5sum
+ln /usr/local/bin/gmkdir mkdir
+ln /usr/local/bin/gmkfifo mkfifo
+ln /usr/local/bin/gmknod mknod
+ln /usr/local/bin/gmktemp mktemp
+ln /usr/local/bin/gnice nice
+ln /usr/local/bin/gnl nl
+ln /usr/local/bin/gnohup nohup
+ln /usr/local/bin/gnproc nproc
+ln /usr/local/bin/gnumfmt numfmt
+ln /usr/local/bin/gnustat nustat
+ln /usr/local/bin/gpaste paste
+ln /usr/local/bin/gpathchk pathchk
+ln /usr/local/bin/gpinky pinky
+ln /usr/local/bin/gpr pr
+ln /usr/local/bin/gprintenv printenv
+ln /usr/local/bin/gprintf printf
+ln /usr/local/bin/gptx ptx
+ln /usr/local/bin/gpwd pwd
 
 # binutils
 # pkg info -l binutils | grep usr/local/bin
-ln -s /usr/local/bin/addr2line
-ln -s /usr/local/bin/ar
-ln -s /usr/local/bin/as
-ln -s /usr/local/bin/c++filt
-ln -s /usr/local/bin/dwp
-ln -s /usr/local/bin/elfedit
-ln -s /usr/local/bin/gprof
-ln -s /usr/local/bin/ld
-ln -s /usr/local/bin/ld.bfd
-ln -s /usr/local/bin/ld.gold
-ln -s /usr/local/bin/nm
-ln -s /usr/local/bin/objcopy
-ln -s /usr/local/bin/objdump
-ln -s /usr/local/bin/ranlib
-ln -s /usr/local/bin/readelf
-ln -s /usr/local/bin/size
-ln -s /usr/local/bin/strings
-ln -s /usr/local/bin/strip
+ln /usr/local/bin/addr2line
+ln /usr/local/bin/ar
+ln /usr/local/bin/as
+ln /usr/local/bin/c++filt
+ln /usr/local/bin/dwp
+ln /usr/local/bin/elfedit
+ln /usr/local/bin/gprof
+ln /usr/local/bin/ld
+ln /usr/local/bin/ld.bfd
+ln /usr/local/bin/ld.gold
+ln /usr/local/bin/nm
+ln /usr/local/bin/objcopy
+ln /usr/local/bin/objdump
+ln /usr/local/bin/ranlib
+ln /usr/local/bin/readelf
+ln /usr/local/bin/size
+ln /usr/local/bin/strings
+ln /usr/local/bin/strip
 
 #pkg info -l llvm37 | grep usr/local/bin