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
This commit is contained in:
parent
c2b32af8bc
commit
b642b8688d
4
Makefile
4
Makefile
|
@ -68,3 +68,7 @@ sua-test: osmo-stp-master
|
||||||
.PHONY: m3ua-test
|
.PHONY: m3ua-test
|
||||||
m3ua-test: osmo-stp-master sigtran-tests
|
m3ua-test: osmo-stp-master sigtran-tests
|
||||||
$(MAKE) -C m3ua-test
|
$(MAKE) -C m3ua-test
|
||||||
|
|
||||||
|
.PHONY: gr-gsm-master
|
||||||
|
gr-gsm-master:
|
||||||
|
$(MAKE) -C gr-gsm-master
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
release=0.0.0
|
||||||
|
tag=gr-gsm-master-0.0.0
|
|
@ -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
|
|
@ -0,0 +1 @@
|
||||||
|
include ../make/Makefile
|
Loading…
Reference in New Issue