Hex Artifact Content
Not logged in

Artifact 5630345f22835e738a65f7043b7165d69693d625:


0000: 23 21 2f 62 69 6e 2f 62 61 73 68 0a 0a 23 20 53  #!/bin/bash..# S
0010: 65 74 20 74 68 65 20 6c 69 62 73 6f 64 69 75 6d  et the libsodium
0020: 20 76 65 72 73 69 6f 6e 20 69 66 20 69 74 20 69   version if it i
0030: 73 6e 27 74 20 61 6c 72 65 61 64 79 20 73 65 74  sn't already set
0040: 0a 69 66 20 5b 20 2d 7a 20 22 24 4c 69 62 53 6f  .if [ -z "$LibSo
0050: 64 69 75 6d 56 65 72 73 69 6f 6e 22 20 5d 3b 20  diumVersion" ]; 
0060: 74 68 65 6e 0a 20 20 4c 69 62 53 6f 64 69 75 6d  then.  LibSodium
0070: 56 65 72 73 69 6f 6e 3d 31 2e 30 2e 39 0a 66 69  Version=1.0.9.fi
0080: 0a 0a 23 20 43 68 65 63 6b 20 74 6f 20 73 65 65  ..# Check to see
0090: 20 69 66 20 6c 69 62 73 6f 64 69 75 6d 20 64 69   if libsodium di
00a0: 72 20 68 61 73 20 62 65 65 6e 20 72 65 74 72 69  r has been retri
00b0: 65 76 65 64 20 66 72 6f 6d 20 63 61 63 68 65 0a  eved from cache.
00c0: 4c 69 62 53 6f 64 69 75 6d 49 6e 73 74 61 6c 6c  LibSodiumInstall
00d0: 50 61 74 68 3d 24 48 4f 4d 45 2f 6c 69 62 73 6f  Path=$HOME/libso
00e0: 64 69 75 6d 2f 24 4c 69 62 53 6f 64 69 75 6d 56  dium/$LibSodiumV
00f0: 65 72 73 69 6f 6e 0a 69 66 20 5b 20 21 20 2d 64  ersion.if [ ! -d
0100: 20 22 24 4c 69 62 53 6f 64 69 75 6d 49 6e 73 74   "$LibSodiumInst
0110: 61 6c 6c 50 61 74 68 2f 6c 69 62 22 20 5d 3b 20  allPath/lib" ]; 
0120: 74 68 65 6e 0a 20 20 23 20 49 66 20 6e 6f 74 2c  then.  # If not,
0130: 20 62 75 69 6c 64 20 61 6e 64 20 69 6e 73 74 61   build and insta
0140: 6c 6c 20 69 74 0a 20 20 63 64 20 24 48 4f 4d 45  ll it.  cd $HOME
0150: 0a 20 20 72 6d 20 2d 72 66 20 6c 69 62 73 6f 64  .  rm -rf libsod
0160: 69 75 6d 0a 20 20 6d 6b 64 69 72 20 2d 70 20 74  ium.  mkdir -p t
0170: 65 6d 70 0a 20 20 63 64 20 74 65 6d 70 0a 20 20  emp.  cd temp.  
0180: 77 67 65 74 20 68 74 74 70 73 3a 2f 2f 67 69 74  wget https://git
0190: 68 75 62 2e 63 6f 6d 2f 6a 65 64 69 73 63 74 31  hub.com/jedisct1
01a0: 2f 6c 69 62 73 6f 64 69 75 6d 2f 72 65 6c 65 61  /libsodium/relea
01b0: 73 65 73 2f 64 6f 77 6e 6c 6f 61 64 2f 24 4c 69  ses/download/$Li
01c0: 62 53 6f 64 69 75 6d 56 65 72 73 69 6f 6e 2f 6c  bSodiumVersion/l
01d0: 69 62 73 6f 64 69 75 6d 2d 24 4c 69 62 53 6f 64  ibsodium-$LibSod
01e0: 69 75 6d 56 65 72 73 69 6f 6e 2e 74 61 72 2e 67  iumVersion.tar.g
01f0: 7a 0a 20 20 74 61 72 20 78 66 7a 20 6c 69 62 73  z.  tar xfz libs
0200: 6f 64 69 75 6d 2d 24 4c 69 62 53 6f 64 69 75 6d  odium-$LibSodium
0210: 56 65 72 73 69 6f 6e 2e 74 61 72 2e 67 7a 0a 20  Version.tar.gz. 
0220: 20 63 64 20 6c 69 62 73 6f 64 69 75 6d 2d 24 4c   cd libsodium-$L
0230: 69 62 53 6f 64 69 75 6d 56 65 72 73 69 6f 6e 0a  ibSodiumVersion.
0240: 20 20 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d 2d    ./configure --
0250: 70 72 65 66 69 78 3d 24 4c 69 62 53 6f 64 69 75  prefix=$LibSodiu
0260: 6d 49 6e 73 74 61 6c 6c 50 61 74 68 20 2d 2d 65  mInstallPath --e
0270: 6e 61 62 6c 65 2d 73 68 61 72 65 64 3d 6e 6f 20  nable-shared=no 
0280: 2d 2d 64 69 73 61 62 6c 65 2d 70 69 65 0a 20 20  --disable-pie.  
0290: 43 6f 72 65 73 3d 24 28 28 68 61 73 68 20 6e 70  Cores=$((hash np
02a0: 72 6f 63 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20  roc 2>/dev/null 
02b0: 26 26 20 6e 70 72 6f 63 29 20 7c 7c 20 28 68 61  && nproc) || (ha
02c0: 73 68 20 73 79 73 63 74 6c 20 32 3e 2f 64 65 76  sh sysctl 2>/dev
02d0: 2f 6e 75 6c 6c 20 26 26 20 73 79 73 63 74 6c 20  /null && sysctl 
02e0: 2d 6e 20 68 77 2e 6e 63 70 75 29 20 7c 7c 20 65  -n hw.ncpu) || e
02f0: 63 68 6f 20 31 29 0a 20 20 6d 61 6b 65 20 63 68  cho 1).  make ch
0300: 65 63 6b 20 2d 6a 24 43 6f 72 65 73 0a 20 20 6d  eck -j$Cores.  m
0310: 61 6b 65 20 69 6e 73 74 61 6c 6c 0a 65 6c 73 65  ake install.else
0320: 0a 20 20 65 63 68 6f 20 22 55 73 69 6e 67 20 63  .  echo "Using c
0330: 61 63 68 65 64 20 6c 69 62 73 6f 64 69 75 6d 20  ached libsodium 
0340: 64 69 72 65 63 74 6f 72 79 20 28 76 65 72 73 69  directory (versi
0350: 6f 6e 20 24 4c 69 62 53 6f 64 69 75 6d 56 65 72  on $LibSodiumVer
0360: 73 69 6f 6e 29 22 3b 0a 66 69 0a 0a 65 78 70 6f  sion)";.fi..expo
0370: 72 74 20 50 4b 47 5f 43 4f 4e 46 49 47 5f 50 41  rt PKG_CONFIG_PA
0380: 54 48 3d 24 4c 69 62 53 6f 64 69 75 6d 49 6e 73  TH=$LibSodiumIns
0390: 74 61 6c 6c 50 61 74 68 2f 6c 69 62 2f 70 6b 67  tallPath/lib/pkg
03a0: 63 6f 6e 66 69 67 3a 24 50 4b 47 5f 43 4f 4e 46  config:$PKG_CONF
03b0: 49 47 5f 50 41 54 48 0a                          IG_PATH.