aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasil Velichkov <vvvelichkov@gmail.com>2018-04-24 18:36:57 +0300
committerPiotr Krysik <pkrysik@elka.pw.edu.pl>2018-06-18 15:11:17 +0200
commit8f4b5ba3724675f204db0821398dc8d6b30bf86a (patch)
tree8a0c06de08ef9b1ef7e2be81ce665b034843e24e
parent014ed2be5ce8ffd8b3aab211258439af9662d7d1 (diff)
Add CentOS7 docker container
-rw-r--r--tests/dockerfiles/CentOS_7.Dockerfile32
-rw-r--r--tests/dockerfiles/CentOS_7_pygtk2.patch30
2 files changed, 62 insertions, 0 deletions
diff --git a/tests/dockerfiles/CentOS_7.Dockerfile b/tests/dockerfiles/CentOS_7.Dockerfile
new file mode 100644
index 0000000..b5c235d
--- /dev/null
+++ b/tests/dockerfiles/CentOS_7.Dockerfile
@@ -0,0 +1,32 @@
+FROM centos:7
+
+RUN yum install -y \
+ https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
+ yum install -y \
+ gcc-c++ \
+ make \
+ cmake3 \
+ pkgconfig \
+ boost-devel \
+ gnuradio-devel \
+ libosmocore-devel \
+ gr-osmosdr \
+ swig \
+ doxygen \
+ python2-docutils \
+ cppunit-devel
+
+COPY ./ /src/
+
+RUN yum install -y patch && \
+ patch -p0 < /src/tests/dockerfiles/CentOS_7_pygtk2.patch
+
+WORKDIR /src/build
+RUN cmake3 -DENABLE_GRGSM_LIVEMON=OFF .. && \
+ # The parallel build sometimes fails when the .grc_gnuradio
+ # and .gnuradio directories do not exist
+ mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \
+ make -j $(nproc) && \
+ make install && \
+ ldconfig && \
+ make test
diff --git a/tests/dockerfiles/CentOS_7_pygtk2.patch b/tests/dockerfiles/CentOS_7_pygtk2.patch
new file mode 100644
index 0000000..a5ed29c
--- /dev/null
+++ b/tests/dockerfiles/CentOS_7_pygtk2.patch
@@ -0,0 +1,30 @@
+--- /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py 2018-04-23 17:29:19.555209060 +0000
++++ /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py 2018-04-23 17:32:53.448304174 +0000
+@@ -47,14 +47,19 @@
+ def _init():
+ import sys
+
+- sys_path = sys.path[:]
++ try:
++ sys_path = sys.path[:]
+
+- _gtk.init_check()
+-
+- # init_check calls PySys_SetArgv which calls sys.path.insert(0, ''),
+- # which causes problems for pychecker, restore it if modified.
+- if sys.path != sys_path:
+- sys.path[:] = sys_path
++ try:
++ _gtk.init_check()
++ except RuntimeError, e:
++ import warnings
++ warnings.warn(str(e), _gtk.Warning)
++ finally:
++ # init_check calls PySys_SetArgv which calls sys.path.insert(0, ''),
++ # which causes problems for pychecker, restore it if modified.
++ if sys.path != sys_path:
++ sys.path[:] = sys_path
+
+ # install the default log handlers
+ _gtk.add_log_handlers()
+