Salome HOME
3460a80661519fe461531a99fecccdd0db9285e4
[tools/sat_salome.git] / products / compil_scripts / sip-5.5.0.sh
1 #!/bin/bash
2
3 echo "##########################################################################"
4 echo SIP + PyQt5_sip $VERSION
5 echo "##########################################################################"
6
7 LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION"
8
9 rm -rf $BUILD_DIR
10 mkdir $BUILD_DIR
11 cd $BUILD_DIR
12 cp -r $SOURCE_DIR/sip-5.5.0 $BUILD_DIR/sip-5.5.0
13 cd $BUILD_DIR/sip-5.5.0
14
15 USE_SETUP=false
16 if [[ "$PYTHON_VERSION" == "3.6" ]]; then
17     USE_SETUP=true
18 fi
19
20 case $LINUX_DISTRIBUTION in
21     CO9)
22         USE_SETUP=false
23         ;;
24     *)
25         ;;
26 esac
27
28 # we don't install in python directory -> modify environment as described in INSTALL file
29 export PATH=$(pwd)/bin:$PATH
30 export PYTHONPATH=$(pwd):$PYTHONPATH
31 if [ "$USE_SETUP" == "true" ]; then
32     mkdir -p $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages
33     export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH
34     echo
35     echo "*** build with $PYTHONBIN"
36     $PYTHONBIN setup.py build
37     if [ $? -ne 0 ]
38     then
39         echo "ERROR on build"
40         exit 2
41     fi
42
43     echo
44     echo "*** install with $PYTHONBIN"
45     $PYTHONBIN setup.py install --prefix=$PRODUCT_INSTALL
46     if [ $? -ne 0 ]
47     then
48         echo "ERROR on install"
49         exit 3
50     fi
51 else
52     $PYTHONBIN -m pip install --cache-dir=$BUILD_DIR/cache/pip  .  --no-deps --prefix=$PRODUCT_INSTALL
53     if [ $? -ne 0 ]
54     then
55         echo "ERROR on install"
56         exit 3
57     fi
58     # ensure that lib is used
59     if [ -d "$PRODUCT_INSTALL/lib64" ]; then
60         echo "WARNING: renaming lib64 directory to lib"
61         mv $PRODUCT_INSTALL/lib64 $PRODUCT_INSTALL/lib
62     elif [ -d "$PRODUCT_INSTALL/local/lib64" ]; then
63         echo "WARNING: renaming local/lib64 directory to lib"
64         mv $PRODUCT_INSTALL/local/lib64 $PRODUCT_INSTALL/lib
65         rm -rf $PRODUCT_INSTALL/local
66     elif [ -d $PRODUCT_INSTALL/lib ]; then
67         :
68     else
69         echo "WARNING: unhandled case! Please ensure that script is consistent!"
70     fi
71 fi
72 cd $BUILD_DIR
73 cp -R $SOURCE_DIR/PyQt5_sip-12.8.1 $BUILD_DIR/PyQt5_sip-12.8.1
74 cd $BUILD_DIR/PyQt5_sip-12.8.1
75
76 echo
77 echo "*** build with $PYTHONBIN"
78 if [ "$USE_SETUP" == "true" ]; then
79     $PYTHONBIN setup.py build
80     if [ $? -ne 0 ]
81     then
82         echo "ERROR on build"
83         exit 2
84     fi
85
86     echo
87     echo "*** install with $PYTHONBIN"
88     $PYTHONBIN setup.py install --prefix=$PRODUCT_INSTALL
89     if [ $? -ne 0 ]
90     then
91         echo "ERROR on install"
92         exit 3
93     fi
94 else
95     echo
96     echo "*** install with $PYTHONBIN"
97     $PYTHONBIN -m pip install --cache-dir=$BUILD_DIR/cache/pip  .  --no-deps --prefix=$PRODUCT_INSTALL
98     if [ $? -ne 0 ]
99     then
100         echo "ERROR on install"
101         exit 3
102     fi
103     # ensure that lib is used
104     if [ -d "$PRODUCT_INSTALL/lib64" ]; then
105         echo "WARNING: renaming lib64 directory to lib"
106         mv $PRODUCT_INSTALL/lib64 $PRODUCT_INSTALL/lib
107     elif [ -d "$PRODUCT_INSTALL/local/lib64" ]; then
108         echo "WARNING: renaming local/lib64 directory to lib"
109         mv $PRODUCT_INSTALL/local/lib64 $PRODUCT_INSTALL/lib
110         rm -rf $PRODUCT_INSTALL/local
111     elif [ -d $PRODUCT_INSTALL/lib ]; then
112         :
113     else
114         echo "WARNING: unhandled case! Please ensure that script is consistent!"
115     fi
116 fi
117
118 mkdir $PRODUCT_INSTALL/include
119 cp *.h $PRODUCT_INSTALL/include
120
121 cd $PRODUCT_INSTALL/bin
122 ln -sf sip5 sip
123
124 case $LINUX_DISTRIBUTION in
125     DB10)
126         cd $PRODUCT_INSTALL/lib/python3.7/site-packages
127         ln -sf PyQt5_sip-12.8.1-py3.7-linux-x86_64.egg/PyQt5
128         ;;
129     *)
130         ;;
131 esac
132
133 echo
134 echo "########## END"