-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathinstall-proc
executable file
·126 lines (90 loc) · 3.2 KB
/
install-proc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#!/bin/bash
set -e
if [[ $EUID -eq 0 ]]; then
echo " ##############################################"
echo " # IT IS NOT A GOOD IDEA TO RUN THIS AS ROOT! #"
echo " # Restart as user! #"
echo "##############################################"
exit 1
fi
if [[ -d "libusb-1.0.18" ]] || [[ -d "libftdi1-1.1" ]] || [[ -d "libpinproc" ]] || [[ -d "pypinproc" ]]
then
echo "[CLEANUP] Will cleanup first"
echo "Directories already exist. Do you want to delete them? Enter YES to proceed."
read should_delete
if [ "$should_delete" != "YES" ]
then
echo "CANNOT PROCEED"
exit 1
fi
sudo rm -R libusb-1.0.18 libftdi1-1.1 libpinproc pypinproc || true
fi
##########################################
## P-ROC and P3 Support ##
##########################################
echo "[PROC PREREQS] Installing PROC prerequisites via apt-get"
sudo apt-get -y install cmake gcc g++ build-essential git-core zlib1g-dev libudev-dev libusb-dev pkg-config libboost-dev
echo "[LIBUSB1] Installing libusb1"
tar -jxvpf libusb-1.0.18.tar.bz2
cd libusb-1.0.18
./configure
make
sudo make install
echo "Backing out to main directory..."
cd ../
echo "[LIBUSBX] Installing libusbx"
tar -jxvpf libusbx-1.0.18.tar.bz2
cd libusbx-1.0.18
./configure
make
sudo make install
echo "Backing out to main directory..."
cd ../
echo "[LIBFTDI1] Installing libftdi1"
tar -jxpvf libftdi1-1.1.tar.bz2
cd libftdi1-1.1
mkdir -p bin
cd bin
cmake ..
make
sudo make install
echo "Backing out to main directory..."
cd ../..
echo "Setting up environment variables..."
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=$(find /usr/ -name ftdi.h -printf '%h\072')
export CPLUS_INCLUDE_PATH=$(find /usr/ -name ftdi.h -printf '%h\072')
echo "Stuff should be exported now"
echo "export LD_LIBRARY_PATH=/usr/local/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
echo "export C_INCLUDE_PATH=\$C_INCLUDE_PATH:$C_INCLUDE_PATH" >> ~/.bashrc
echo "export CPLUS_INCLUDE_PATH=\$CPLUS_INCLUDE_PATH:$CPLUS_INCLUDE_PATH" >> ~/.bashrc
sudo cp 50-P-ROC.rules /etc/udev/rules.d
sudo cp 51-P3-ROC.rules /etc/udev/rules.d
echo "[LIBPINPROC] Installing libpinproc"
### P3ROC requires libpinproc dev branch, so we'll just get that even if you use a PROC
git clone --branch dev https://github.com/missionpinball/libpinproc.git libpinproc
cd libpinproc
mkdir -p bin
cd bin
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo make install
echo "Backing out to main directory..."
cd ../..
echo "[PyPINPROC] Installing pypinproc"
git clone https://github.com/missionpinball/pypinproc pypinproc
cd pypinproc
sudo python3 setup.py install
echo "Backing out to main directory..."
echo " Prerequisite Installation finished."
echo "============================================================"
echo "!!! You should probably restart to complete installation !!!"
echo " (It's complicated, but then again, so is pinball.)"
echo ""
echo " When you are done, you'll need to install MPF. The"
echo " quick way is to use the MPF debian installer "
echo " after you reboot. More information is available"
echo " at docs.missionpinball.org"
echo ""
echo " Happy pinballing!"
echo ""