diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2018-08-09 07:50:09 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2018-08-09 17:36:27 +0700 |
commit | b642b8688d510f8de4c21f58a9dd3c9d68c387a5 (patch) | |
tree | 1e4e7c09143e04c03fa7acf56931f05d21055c0b | |
parent | c2b32af8bca785bae14bb99f3f6265904055d17d (diff) |
Introduce Dockerfile for the GR-GSM project
This change introduces a new sub-project - 'gr-gsm-master'.
It was decided to use Arch Linux as the base image, because it
provides the recent version of both UHD and GNU Radio without
tons of dependencies, such as Xorg.
Note: as there in no libosmocore package in Arch Linux, it will
be built from the latest source code.
Change-Id: I115b59dc9eaec5d132f3f64c4ee321173459e9ed
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | gr-gsm-master/.release | 2 | ||||
-rw-r--r-- | gr-gsm-master/Dockerfile | 81 | ||||
-rw-r--r-- | gr-gsm-master/Makefile | 1 |
4 files changed, 88 insertions, 0 deletions
@@ -68,3 +68,7 @@ sua-test: osmo-stp-master .PHONY: m3ua-test m3ua-test: osmo-stp-master sigtran-tests $(MAKE) -C m3ua-test + +.PHONY: gr-gsm-master +gr-gsm-master: + $(MAKE) -C gr-gsm-master diff --git a/gr-gsm-master/.release b/gr-gsm-master/.release new file mode 100644 index 0000000..3e94f0e --- /dev/null +++ b/gr-gsm-master/.release @@ -0,0 +1,2 @@ +release=0.0.0 +tag=gr-gsm-master-0.0.0 diff --git a/gr-gsm-master/Dockerfile b/gr-gsm-master/Dockerfile new file mode 100644 index 0000000..e75d318 --- /dev/null +++ b/gr-gsm-master/Dockerfile @@ -0,0 +1,81 @@ +FROM base/archlinux + +MAINTAINER Vadim Yanitskiy <axilirator@gmail.com> + +ARG LIBOSMOCORE_BRANCH="master" +ARG GR_GSM_BRANCH="fixeria/trx" + +# Build dependencies +ENV BUILD_DEPS \ + automake \ + autoconf \ + libtool \ + pkgconf \ + cmake \ + make \ + swig \ + gcc + +# Sync pacman +RUN pacman -Syu + +# Install persistent packages +RUN pacman -S --needed --noconfirm \ + gnuradio \ + python2 \ + python2-scipy \ + python2-requests \ + talloc \ + boost + +# Download USRP firmware +RUN uhd_images_downloader + +# Install build dependencies +RUN pacman -S --needed --noconfirm \ + $BUILD_DEPS + +# Make Python2 default +RUN ln -s /usr/bin/python2 /usr/bin/python + +# Install and configure git +RUN pacman -S --needed --noconfirm git \ + && git config --global user.email docker@dock.er \ + && git config --global user.name "Dock Er" + +WORKDIR /tmp + +# Download, build and install libosmocore +RUN git clone git://git.osmocom.org/libosmocore +ADD http://git.osmocom.org/libosmocore/patch?h=$LIBOSMOCORE_BRANCH /tmp/commit-libosmocore + +RUN cd libosmocore \ + && git fetch && git checkout -f -B $LIBOSMOCORE_BRANCH origin/$LIBOSMOCORE_BRANCH \ + && autoreconf -fi \ + && ./configure \ + --disable-doxygen \ + --disable-pcsc \ + --prefix=/usr \ + && make -j5 \ + && make install \ + && make distclean + +RUN git clone git://git.osmocom.org/gr-gsm +ADD http://git.osmocom.org/gr-gsm/patch?h=$GR_GSM_BRANCH /tmp/commit-gr-gsm + +RUN cd gr-gsm \ + && git fetch && git checkout -f -B $GR_GSM_BRANCH origin/$GR_GSM_BRANCH \ + && mkdir build/ \ + && cd build/ \ + && cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -Wno-dev \ + ../ \ + && make -j5 \ + && make install \ + && cd ../ \ + && rm -rf build/ + +# Remove build dependencies +RUN pacman -Rs --noconfirm \ + $BUILD_DEPS diff --git a/gr-gsm-master/Makefile b/gr-gsm-master/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/gr-gsm-master/Makefile @@ -0,0 +1 @@ +include ../make/Makefile |