From d0db060f24ba8cdf11b803ce6e418498f55e799b Mon Sep 17 00:00:00 2001 From: Adrian Stanea Date: Fri, 20 Oct 2023 12:54:40 +0300 Subject: [PATCH] ci: build libiio from sources using libiio-v0 - build from sources on Linux and Darwwin - upgrade Python bindings to use version 3.11 Signed-off-by: Adrian Stanea --- ...ore_install_darwin => install_deps_darwin} | 18 ++++++++++++- ...efore_install_linux => install_deps_linux} | 23 ++++++++++------ CI/travis/lib.sh | 2 +- azure-pipelines.yml | 27 +++---------------- 4 files changed, 37 insertions(+), 33 deletions(-) rename CI/travis/{before_install_darwin => install_deps_darwin} (67%) rename CI/travis/{before_install_linux => install_deps_linux} (85%) diff --git a/CI/travis/before_install_darwin b/CI/travis/install_deps_darwin similarity index 67% rename from CI/travis/before_install_darwin rename to CI/travis/install_deps_darwin index 8244b43e..00f82235 100755 --- a/CI/travis/before_install_darwin +++ b/CI/travis/install_deps_darwin @@ -1,11 +1,17 @@ #!/bin/sh -e +TOP_DIR=$(pwd) +LIBIIO_VERSION=libiio-v0 + . CI/travis/lib.sh # Note: not installing 'mono', it comes with Azure images, # but it doesn't look it's installed with Homebrew brew_install_if_not_exists cmake doxygen libusb libxml2 swig curl python +# libiio deps +brew_install_if_not_exists doxygen libusb libxml2 ncurses cdk libserialport sphinx-doc pkg-config +pip3 install sphinx if [ -n "$PACKAGE_TO_INSTALL" ] ; then for file in $PACKAGE_TO_INSTALL ; do @@ -16,6 +22,9 @@ elif [ "$INSTALL_FROM_SW_DOWNLOADS" = "1" ] ; then sudo installer -pkg ${LIBIIO_BRANCH}_latest_libiio${LDIST}.pkg -target / fi +pip3 install wheel twine build virtualenv + +# Install glog cd ${TOP_DIR} git clone --branch v0.4.0 --depth 1 https://github.com/google/glog mkdir -p glog/build_0_4_0 && cd glog/build_0_4_0 @@ -23,4 +32,11 @@ cmake .. make sudo make install -pip3 install wheel twine build virtualenv +# Install libiio +cd ${TOP_DIR} +git clone https://github.com/analogdevicesinc/libiio.git -b $LIBIIO_VERSION libiio +mkdir ./libiio/build && cd ./libiio/build +cmake ../ +make +sudo make install + diff --git a/CI/travis/before_install_linux b/CI/travis/install_deps_linux similarity index 85% rename from CI/travis/before_install_linux rename to CI/travis/install_deps_linux index 592c3392..94554a60 100755 --- a/CI/travis/before_install_linux +++ b/CI/travis/install_deps_linux @@ -1,17 +1,10 @@ #!/bin/sh -e TOP_DIR=$(pwd) +LIBIIO_VERSION=libiio-v0 . CI/travis/lib.sh -get_libiio_release() { - git clone https://github.com/analogdevicesinc/libiio && cd libiio - IIO_TAG=`git describe --tags $(git rev-list --tags --max-count=1)` - git checkout ${IIO_TAG} - IIO_TAG_SHA=${IIO_TAG}.g`git rev-parse --short HEAD` - wget https://github.com/analogdevicesinc/libiio/releases/download/${IIO_TAG}/libiio-${IIO_TAG_SHA}${LDIST}.deb -} - handle_centos() { # FIXME: see about adding `libserialport-dev` from EPEL ; maybe libusb-1.0.0-devel... yum -y groupinstall 'Development Tools' @@ -45,6 +38,12 @@ handle_default() { python3-dev python3-setuptools python3-pip python3-all \ debhelper devscripts fakeroot libserialport-dev swig dh-python + # libiio dependencies + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \ + libxml2-dev bison flex libcdk5-dev cmake \ + libaio-dev libusb-1.0-0-dev \ + libserialport-dev libavahi-client-dev \ + if [ -n "$PACKAGE_TO_INSTALL" ] ; then sudo dpkg -i $PACKAGE_TO_INSTALL elif [ "$INSTALL_FROM_SW_DOWNLOADS" = "1" ] ; then @@ -61,6 +60,14 @@ handle_default() { sudo make install sudo pip3 install --upgrade pip stdeb argparse + + # Install libiio + cd ${TOP_DIR} + git clone https://github.com/analogdevicesinc/libiio.git -b $LIBIIO_VERSION libiio + mkdir ./libiio/build && cd ./libiio/build + cmake ../ + make + sudo make install } handle_doxygen() { diff --git a/CI/travis/lib.sh b/CI/travis/lib.sh index 7fea98d6..22de6fbf 100644 --- a/CI/travis/lib.sh +++ b/CI/travis/lib.sh @@ -2,7 +2,7 @@ TRAVIS_BUILD_DIR=${TRAVIS_BUILD_DIR:-'./'} -LIBIIO_BRANCH=master +LIBIIO_BRANCH=libiio-v0 command_exists() { local cmd=$1 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1980ebed..0b7718c8 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -25,7 +25,8 @@ parameters: - name: pythonVersions type: object default: - - '3.10' + - '3.11' + - 3.10 - 3.9 - 3.8 - 3.7 @@ -59,17 +60,7 @@ jobs: fetchDepth: 1 clean: true persistCredentials: true - - task: DownloadPipelineArtifact@2 - displayName: 'Get libiio artifacts' - inputs: - source: 'specific' - project: '$(AnalogDevices_OpenSource_GUID)' - pipeline: $(libiioPipelineId) - artifact: '$(artifactName)' - runVersion: 'latestFromBranch' - runBranch: 'refs/heads/master' - path: '$(Agent.BuildDirectory)/s/build/' - - script: ./CI/travis/before_install_linux + - script: ./CI/travis/install_deps_linux displayName: "Install Dependencies" - script: ./CI/travis/make_linux displayName: "Build" @@ -121,17 +112,7 @@ jobs: - checkout: self fetchDepth: 1 clean: true - - task: DownloadPipelineArtifact@2 - displayName: 'Get libiio artifacts' - inputs: - source: 'specific' - project: '$(AnalogDevices_OpenSource_GUID)' - pipeline: $(libiioPipelineId) - artifact: '$(artifactName)' - runVersion: 'latestFromBranch' - runBranch: 'refs/heads/master' - path: '$(Agent.BuildDirectory)/s/build/' - - script: ./CI/travis/before_install_darwin + - script: ./CI/travis/install_deps_darwin displayName: "Install Dependencies" condition: ne(variables['agentName'],'macOS_arm64') - script: ./CI/travis/make_darwin