summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO205
-rw-r--r--0001-Remove-unnecessary-name-after-struct.patch23
-rw-r--r--PKGBUILD132
3 files changed, 331 insertions, 29 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d7f59382a538..cafc9db0dc1a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,15 +1,204 @@
pkgbase = wiringop-git
pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP. (git-version)
- pkgver = 20151115.r16.7538fcb
- pkgrel = 2
- url = https://github.com/zhaolei/WiringOP
- arch = any
- license = unknown
- makedepends = cmake
+ pkgver = 2.46.r39.39e6dce
+ pkgrel = 1
+ url = https://github.com/orangepi-xunlong/wiringOP
+ arch = aarch64
+ arch = armv7h
+ license = LGPL3
makedepends = gcc
makedepends = git
- source = wiringop::git+https://github.com/zhaolei/WiringOP.git#branch=h3
+ source = wiringop::git+https://github.com/orangepi-xunlong/wiringOP.git
+ source = 0001-Remove-unnecessary-name-after-struct.patch
sha256sums = SKIP
+ sha256sums = d56b191cc60300b310242e87513dce930011087bbb6749f991216232be79607f
-pkgname = wiringop-git
+pkgname = wiringop-orangepir1-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepir1)
+ provides = wiringop-orangepir1
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepir1
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepizero-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepizero)
+ provides = wiringop-orangepizero
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepizero
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepipc-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepipc)
+ provides = wiringop-orangepipc
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepipc
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepipcplus-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepipcplus)
+ provides = wiringop-orangepipcplus
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepipcplus
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepiplus2e-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepiplus2e)
+ provides = wiringop-orangepiplus2e
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepiplus2e
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepione-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepione)
+ provides = wiringop-orangepione
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepione
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepilite-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepilite)
+ provides = wiringop-orangepilite
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepilite
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepiplus-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepiplus)
+ provides = wiringop-orangepiplus
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepiplus
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepizeroplus2h3-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepizeroplus2h3)
+ provides = wiringop-orangepizeroplus2h3
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepizeroplus2h3
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepizeroplus-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepizeroplus)
+ provides = wiringop-orangepizeroplus
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepizeroplus
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepipc2-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepipc2)
+ provides = wiringop-orangepipc2
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepipc2
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepiprime-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepiprime)
+ provides = wiringop-orangepiprime
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepiprime
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepizeroplus2h5-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepizeroplus2h5)
+ provides = wiringop-orangepizeroplus2h5
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepizeroplus2h5
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepiwin-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepiwin)
+ provides = wiringop-orangepiwin
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepiwin
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepiwinplus-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepiwinplus)
+ provides = wiringop-orangepiwinplus
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepiwinplus
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepi3-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepi3)
+ provides = wiringop-orangepi3
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepi3
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepilite2-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepilite2)
+ provides = wiringop-orangepilite2
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepilite2
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepioneplus-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepioneplus)
+ provides = wiringop-orangepioneplus
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepioneplus
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepi4-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepi4)
+ provides = wiringop-orangepi4
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepi4
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepirk3399-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepirk3399)
+ provides = wiringop-orangepirk3399
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepirk3399
+ conflicts = wiringop
+ conflicts = wiringpi
+
+pkgname = wiringop-orangepizero2-git
+ pkgdesc = This is a modified WiringPi for OrangePi. We call it WiringOP (built for orangepizero2)
+ provides = wiringop-orangepizero2
+ provides = wiringop
+ provides = wiringpi
+ conflicts = wiringop-orangepizero2
+ conflicts = wiringop
+ conflicts = wiringpi
diff --git a/0001-Remove-unnecessary-name-after-struct.patch b/0001-Remove-unnecessary-name-after-struct.patch
new file mode 100644
index 000000000000..3b0d292b1d91
--- /dev/null
+++ b/0001-Remove-unnecessary-name-after-struct.patch
@@ -0,0 +1,23 @@
+From ed05fa2dcbc4b27cc7b02d772327cb41905eab76 Mon Sep 17 00:00:00 2001
+From: Davide Depau <davide@depau.eu>
+Date: Tue, 8 Sep 2020 23:04:18 +0200
+Subject: [PATCH] Remove unnecessary name after struct
+
+---
+ wiringPiD/drcNetCmd.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wiringPiD/drcNetCmd.h b/wiringPiD/drcNetCmd.h
+index 23f7dc1..70ef51b 100644
+--- a/wiringPiD/drcNetCmd.h
++++ b/wiringPiD/drcNetCmd.h
+@@ -40,5 +40,5 @@ struct drcNetComStruct
+ uint32_t pin ;
+ uint32_t cmd ;
+ uint32_t data ;
+-} comDat ;
++};
+
+--
+2.28.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 4cc9bcb064a4..9bd2d3cd8743 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,44 +1,134 @@
# Maintainer: Patrick Wozniak <hello@patwoz.de>
+# Maintainer: Davide Depau <davide@depau.eu>
-pkgname=wiringop-git
-pkgver=20151115.r16.7538fcb
-pkgrel=2
+# The boards array is used to generate the pkgnames and package functions.
+# It needs to be updated from the `build` script if any new boards show up.
+# The build script included in the sources cannot be used since it does stuff as root.
+
+_boards=("orangepir1" "orangepizero" "orangepipc" "orangepipcplus" "orangepiplus2e" "orangepione" "orangepilite" "orangepiplus" "orangepizeroplus2h3" "orangepizeroplus" "orangepipc2" "orangepiprime" "orangepizeroplus2h5" "orangepiwin" "orangepiwinplus" "orangepi3" "orangepilite2" "orangepioneplus" "orangepi4" "orangepirk3399" "orangepizero2")
+_pkgbase="wiringop"
+_suffix="-git"
+
+pkgname=()
+for board in "${_boards[@]}"; do
+ pkgname+=("${_pkgbase}-${board}${_suffix}")
+done
+
+
+pkgbase="${_pkgbase}${_suffix}"
+pkgver=2.46.r39.39e6dce
+pkgrel=1
pkgdesc="This is a modified WiringPi for OrangePi. We call it WiringOP. (git-version)"
-arch=('any')
-url="https://github.com/zhaolei/WiringOP"
-license=('unknown')
+arch=('aarch64' 'armv7h')
+url="https://github.com/orangepi-xunlong/wiringOP"
+license=('LGPL3')
-depends=(
-)
-optdepends=(
-)
+depends=()
+optdepends=()
makedepends=(
- 'cmake'
'gcc'
'git'
)
-conflicts=(
-)
source=(
- "${pkgname%-git}::git+${url}.git#branch=h3"
+ "${_pkgbase}::git+${url}.git"
+ "0001-Remove-unnecessary-name-after-struct.patch"
)
sha256sums=(
'SKIP'
+ 'd56b191cc60300b310242e87513dce930011087bbb6749f991216232be79607f'
+)
+
+_subprojects=("wiringPi" "devLib" "gpio")
+
+declare -A _board_vars=(
+ ["orangepir1"]="orangepir1-h2"
+ ["orangepizero"]="orangepizero-h2"
+ ["orangepipc"]="orangepipc-h3"
+ ["orangepipcplus"]="orangepipcplus-h3"
+ ["orangepiplus2e"]="orangepiplus2e-h3"
+ ["orangepione"]="orangepione-h3"
+ ["orangepilite"]="orangepilite-h3"
+ ["orangepiplus"]="orangepiplus-h3"
+ ["orangepizeroplus"]="orangepizeroplus-h5"
+ ["orangepizeroplus2h3"]="orangepizeroplus-h5"
+ ["orangepizeroplus2h5"]="orangepizeroplus-h5"
+ ["orangepipc2"]="orangepipc2-h5"
+ ["orangepiprime"]="orangepiprime-h5"
+ ["orangepiwin"]="orangepiwin-a64"
+ ["orangepiwinplus"]="orangepiwinplus-a64"
+ ["orangepi3"]="orangepi3-h6"
+ ["orangepilite2"]="orangepilite2-h6"
+ ["orangepioneplus"]="orangepioneplus-h6"
+ ["orangepi4"]="orangepi4"
+ ["orangepirk3399"]="orangepirk3399"
+ ["orangepizero2"]="orangepizero2-h616"
)
pkgver() {
- cd "${pkgname%-git}"
- printf "%s.r%s.%s" "$(date +%Y%m%d)" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+ cd "${_pkgbase}"
+ ver="$(<VERSION)"
+ printf "%s.r%s.%s" "${ver}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+prepare() {
+ cd "${_pkgbase}"
+ patch -p1 < ../0001-Remove-unnecessary-name-after-struct.patch
+ sed -i 's|$(DESTDIR)/lib|$(DESTDIR)$(PREFIX)/lib|g' */Makefile
+
+ # To avoid building the packages in package we create a copy of the source tree for each
+ # individual board
+
+ cd "${srcdir}"
+ for board in "${_boards[@]}"; do
+ [ -d "$board" ] && rm -Rf "$board"
+ cp -a "$_pkgbase" "$board"
+ done
}
build() {
- cd "${pkgname%-git}"
- ./build
+ cd "${srcdir}"
+
+ for board in "${_boards[@]}"; do
+ msg2 "Building for $board"
+ export BOARD="${_board_vars[$board]}"
+ pushd "$board"
+
+ for subproject in "${_subprojects[@]}"; do
+ pushd "$subproject"
+ make
+ popd
+ done
+
+ popd
+ done
}
-package() {
- cd "${pkgname%-git}"
- install -Dm755 "gpio/gpio" "$pkgdir/usr/bin/gpio"
+_package() {
+ local board="$1"
+
+ export BOARD="${_board_vars[$board]}"
+ cd "${srcdir}/${board}"
+
+ # Makefiles are broken, prepare directories first
+ install -dm755 "${pkgdir}/usr/bin"
+ install -dm755 "${pkgdir}/usr/lib"
+ install -dm755 "${pkgdir}/usr/include"
+
+ for subproject in "${_subprojects[@]}"; do
+ pushd "$subproject"
+ make DESTDIR="${pkgdir}" PREFIX="/usr" LDCONFIG=true install
+ popd
+ done
}
+
+for board in "${_boards[@]}"; do
+ eval "package_${_pkgbase}-${board}${_suffix}() {
+ pkgdesc='This is a modified WiringPi for OrangePi. We call it WiringOP (built for $board)'
+ provides=('${_pkgbase}-${board}' 'wiringop' 'wiringpi')
+ conflicts=('${_pkgbase}-${board}' 'wiringop' 'wiringpi')
+ _package '${board}'
+ }"
+done
+