summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO36
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD96
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"
+}
+