1*4882a593Smuzhiyun#!/bin/bash 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# We require lief 4*4882a593Smuzhiyunif ! python3 -c "import lief"; then 5*4882a593Smuzhiyun echo -e "\e[35mNeeds lief:\e[0m" 6*4882a593Smuzhiyun echo "pip3 install lief" 7*4882a593Smuzhiyunfi 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun# We require patchelf >= 0.10 for this fix: 10*4882a593Smuzhiyun# https://github.com/NixOS/patchelf/pull/117 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunmajor_min=0 13*4882a593Smuzhiyunminor_min=10 14*4882a593Smuzhiyun 15*4882a593Smuzhiyunversion=$(patchelf --version 2>&1 | cut -d' ' -f2 || echo 0) 16*4882a593Smuzhiyunmajor=$(echo "$version" | cut -d. -f1) 17*4882a593Smuzhiyunminor=$(echo "$version" | cut -d. -f2) 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunif [ $major -gt $major_min ]; then 20*4882a593Smuzhiyun exit 0 21*4882a593Smuzhiyunfi 22*4882a593Smuzhiyun 23*4882a593Smuzhiyunif [ $major -eq $major_min -a $minor -ge $minor_min ]; then 24*4882a593Smuzhiyun exit 0 25*4882a593Smuzhiyunfi 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunecho -e "\e[35mNeeds patchelf >= 0.10:\e[0m" 28*4882a593Smuzhiyunecho "git clone https://github.com/NixOS/patchelf.git" 29*4882a593Smuzhiyunecho "cd patchelf" 30*4882a593Smuzhiyunecho "git checkout 0.10" 31*4882a593Smuzhiyunecho "./bootstrap.sh" 32*4882a593Smuzhiyunecho "./configure" 33*4882a593Smuzhiyunecho "make -j8" 34*4882a593Smuzhiyunecho "install -m 0755 src/patchelf /usr/local/bin/patchelf" 35*4882a593Smuzhiyunexit 1 36