From 7aaf29dd923d814c97a08cf3c3db5903de7bb05a Mon Sep 17 00:00:00 2001 From: "Henrique F. Simoes" Date: Thu, 14 Sep 2023 12:28:49 -0300 Subject: [PATCH] base: add support for ADPimega module. Pimega library is closed-source and its binaries and header files are thus installed from a tarball. This implies that any IOC that uses ADPimega must include an entry in RUNTIME_TAR_PACKAGES pointing to a tarball of the same version used during the support module build. --- base/.env | 2 ++ base/Dockerfile | 8 ++++++++ base/docker-compose.yml | 2 ++ base/install_area_detector.sh | 15 +++++++++++++++ 4 files changed, 27 insertions(+) diff --git a/base/.env b/base/.env index e90c5ee..e206538 100644 --- a/base/.env +++ b/base/.env @@ -11,7 +11,9 @@ SSCAN_VERSION=R2-11-5 RECCASTER_VERSION=1.5 IPAC_VERSION=2.16 AREA_DETECTOR_VERSION=R3-12-1 +ADPIMEGA_VERSION=2.5.2-1 NDSSCPIMEGA_VERSION=1.0.0 MOTOR_VERSION=R7-3-1 +LIBPIMEGA_VERSION=2.5.2-0 LIBSSCPIMEGA_VERSION=main diff --git a/base/Dockerfile b/base/Dockerfile index 8b1a08f..d117660 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -11,6 +11,8 @@ RUN apt update -y && \ build-essential \ git \ libaravis-dev \ + libczmq-dev \ + libjson-c-dev \ libreadline-dev \ libtiff-dev \ libusb-1.0-0-dev \ @@ -21,6 +23,11 @@ RUN apt update -y && \ COPY lnls-get-n-unpack.sh /usr/local/bin/lnls-get-n-unpack +ARG LIBPIMEGA_VERSION + +RUN lnls-get-n-unpack -r \ + http://gca-jobs:1234/packages/libpimega_${LIBPIMEGA_VERSION}_amd64.tar.gz + ARG EPICS_BASE_VERSION ENV EPICS_BASE_PATH /opt/epics/base ENV EPICS_MODULES_PATH /opt/epics/modules @@ -42,6 +49,7 @@ ARG SSCAN_VERSION ARG RECCASTER_VERSION ARG IPAC_VERSION ARG AREA_DETECTOR_VERSION +ARG ADPIMEGA_VERSION ARG NDSSCPIMEGA_VERSION ARG MOTOR_VERSION diff --git a/base/docker-compose.yml b/base/docker-compose.yml index 5215967..aebc368 100644 --- a/base/docker-compose.yml +++ b/base/docker-compose.yml @@ -22,6 +22,8 @@ services: RECCASTER_VERSION: ${RECCASTER_VERSION} IPAC_VERSION: ${IPAC_VERSION} AREA_DETECTOR_VERSION: ${AREA_DETECTOR_VERSION} + ADPIMEGA_VERSION: ${ADPIMEGA_VERSION} NDSSCPIMEGA_VERSION: ${NDSSCPIMEGA_VERSION} MOTOR_VERSION: ${MOTOR_VERSION} + LIBPIMEGA_VERSION: ${LIBPIMEGA_VERSION} LIBSSCPIMEGA_VERSION: ${LIBSSCPIMEGA_VERSION} diff --git a/base/install_area_detector.sh b/base/install_area_detector.sh index c3a0ba3..db5caf3 100755 --- a/base/install_area_detector.sh +++ b/base/install_area_detector.sh @@ -113,3 +113,18 @@ ASYN=${EPICS_MODULES_PATH}/asyn AREA_DETECTOR=${EPICS_MODULES_PATH}/areaDetector ADCORE=${EPICS_MODULES_PATH}/areaDetector/ADCore " + +cd areaDetector + +lnls-get-n-unpack -l http://gca-jobs:1234/packages/ad-pimega_${ADPIMEGA_VERSION}.tar.gz + +echo " +EPICS_BASE=${EPICS_BASE_PATH} +" > ADPimega/configure/RELEASE.local + +echo "ADPIMEGA=${EPICS_MODULES_PATH}/areaDetector/ADPimega" >> $EPICS_RELEASE_FILE + +echo "BUILD_IOCS=YES" >> configure/CONFIG_SITE +cp $EPICS_RELEASE_FILE ADPimega/iocs/pimegaIOC/configure/RELEASE + +make -C ADPimega