diff options
-rw-r--r-- | .SRCINFO | 36 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | PKGBUILD | 96 |
3 files changed, 137 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..04134bfc86be --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,36 @@ +# Generated by mksrcinfo v8 +# Mon Jan 1 08:00:54 UTC 2018 +pkgbase = exanic-git + pkgdesc = Drivers and software for ExaNIC, a low latency network card from Exablaze. + pkgver = 2.0.1.r178.gbf547d1 + pkgrel = 1 + url = http://www.exablaze.com/ + arch = x86_64 + license = GPL2 + makedepends = linux-lts-headers + depends = linux-lts + depends = linux-lts-headers + depends = libnl + options = libtool + options = !strip + options = !makeflags + options = !buildflags + options = staticlibs + source = exanic::git+https://github.com/exablaze-oss/exanic-software.git + sha256sums = SKIP + +pkgname = exanic-git + depends = linux-lts + depends = linux-lts-headers + depends = libnl + depends = exanic-dkms-git + provides = exanic= + conflicts = exanic + +pkgname = exanic-dkms-git + pkgdesc = Linux network drivers for the ExaNIC. + depends = dkms + depends = linux-lts-headers + provides = exanic-dkms= + conflicts = exanic-dkms + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..76ae67ea61e9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/exanic/ +/src/ +/pkg/ +/*.pkg.tar.xz +/*.src.tar.gz diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..77ce71fe8534 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,96 @@ +# $Id$ +# Maintainer: Ido Rosen <ido@kernel.org> +# +# NOTE: To request changes to this package, please submit a pull request +# to the GitHub repository at https://github.com/ido/packages-archlinux +# Otherwise, open a GitHub issue. Thank you! -Ido +# + +_pkgbase='exanic' +_suffix='-git' +pkgbase="${_pkgbase}${_suffix}" +pkgname=("${_pkgbase}${_suffix}" + "${_pkgbase}-dkms${_suffix}") +pkgdesc="Drivers and software for ExaNIC, a low latency network card from Exablaze." +pkgver=2.0.1.r178.gbf547d1 +pkgrel=1 +arch=('x86_64') +url='http://www.exablaze.com/' +license=('GPL2') +depends=("linux-lts" "linux-lts-headers" "libnl") +makedepends=("linux-lts-headers") +options=('libtool' '!strip' '!makeflags' '!buildflags' 'staticlibs') +source=("${_pkgbase}::git+https://github.com/exablaze-oss/exanic-software.git") +sha256sums=('SKIP') + +if [[ -z "$_kernelver" ]]; then + #_kernelver="$(uname -r)" # running + #_kernelver="$(cat /lib/modules/extramodules-4.4-lts/version)" # installed + _kernelver="$(pacman -Q linux-lts | cut -d' ' -f2)-lts" # installed +fi + +pkgver() { + cd "${srcdir}/${_pkgbase}" + DRV_VERSION="$(grep DRV_VERSION "${srcdir}/${_pkgbase}/modules/exanic/exanic.h" | cut -d\" -f2)" + printf "%s.r%s.g%s" \ + "${DRV_VERSION%%-git}" \ + "$(git rev-list --count HEAD)" \ + "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "${srcdir}/${_pkgbase}" + #DRV_VERSION="$(grep DRV_VERSION "${srcdir}/${_pkgbase}/modules/exanic/exanic.h" | cut -d\" -f2)" + #sed -e 's/#MODULE_VERSION#/'"${DRV_VERSION}-${pkgrel}"'/g' \ + sed -e 's/#MODULE_VERSION#/'"${pkgver}-${pkgrel}"'/g' \ + -e 's/extra/extramodules/g' \ + "${srcdir}/${_pkgbase}/debian/${_pkgbase}-dkms.dkms" \ + > "${srcdir}/dkms.conf" + #patch -p1 < "${srcdir}/exanic-archlinux.patch" +} + +build() { + cd "${srcdir}/${_pkgbase}" + make -C "${srcdir}/${_pkgbase}" clean-bin + make -C "${srcdir}/${_pkgbase}" bin +} + +#check() { +# cd "${srcdir}/${_pkgbase}" +#} + +package_exanic-git() { + conflicts=("${_pkgbase}") + DRV_VERSION="$(grep DRV_VERSION "${srcdir}/${_pkgbase}/modules/exanic/exanic.h" | cut -d\" -f2)" + provides=("${_pkgbase}=${DRV_VERSION%%-git}") + depends+=("${_pkgbase}-dkms${_suffix}") + make -C "${srcdir}/${_pkgbase}" install-bin \ + PREFIX=/usr \ + DESTDIR="${pkgdir}/" \ + INCDIR="${pkgdir}/usr/include" \ + DEVLIBDIR="${pkgdir}/usr/lib" +} + +package_exanic-dkms-git() { + pkgdesc="Linux network drivers for the ExaNIC." + conflicts=("${_pkgbase}-dkms") + DRV_VERSION="$(grep DRV_VERSION "${srcdir}/${_pkgbase}/modules/exanic/exanic.h" | cut -d\" -f2)" + provides=("${_pkgbase}-dkms=${DRV_VERSION%%-git}") + depends=("dkms" "linux-lts-headers") + _dkmsdir="${pkgdir}/usr/src/${_pkgbase}-${pkgver}" + + mkdir -p "${_dkmsdir}/libs/"{exanic,exasock/kernel} + cp -r "${srcdir}/${_pkgbase}/modules" \ + "${_dkmsdir}/" + cp \ + "${srcdir}/${_pkgbase}/libs/exanic/"{ioctl.h,pcie_if.h,fifo_if.h,const.h} \ + "${_dkmsdir}/libs/exanic/" + cp \ + "${srcdir}/${_pkgbase}/libs/exasock/kernel/"{api,structs,consts}.h \ + "${_dkmsdir}/libs/exasock/kernel/" + + install -D -m0644 \ + "${srcdir}/dkms.conf" \ + "${pkgdir}/usr/src/${_pkgbase}-${pkgver}/dkms.conf" +} + |