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: I115b59dc9eaec5d132f3f64c4ee321173459e9edchanges/10/10410/1
parent
c2b32af8bc
commit
b642b8688d
4
Makefile
4
Makefile
|
@ -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
|
||||
|
|
|
@ -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