diff options
author | Moses Narrow | 2022-11-11 15:45:37 -0600 |
---|---|---|
committer | Moses Narrow | 2022-11-11 15:45:37 -0600 |
commit | c55c689d78514e86c2a4fe5ccb501c5b4163fb61 (patch) | |
tree | f411a0b3b9c57eb8f245f0f85ebcba980ff516bf /dev.PKGBUILD | |
parent | 2b547ea153aa757a305466580372c0dc8970a191 (diff) | |
download | aur-c55c689d78514e86c2a4fe5ccb501c5b4163fb61.tar.gz |
optimize PKGBUILDs
Diffstat (limited to 'dev.PKGBUILD')
-rw-r--r-- | dev.PKGBUILD | 204 |
1 files changed, 5 insertions, 199 deletions
diff --git a/dev.PKGBUILD b/dev.PKGBUILD index f335d91800ae..992405f11b6a 100644 --- a/dev.PKGBUILD +++ b/dev.PKGBUILD @@ -1,202 +1,8 @@ -# Maintainer: Moses Narrow <moe_narrow@use.startmail.com> -_projectname=skycoin -pkgname=skywire -_pkgname=${pkgname} -_githuborg=${_projectname} +source deb.PKGBUILD +source git.PKGBUILD pkgdesc="Skywire Mainnet Node implementation; develop branch - Debian package." -_pkggopath="github.com/${_githuborg}/${_pkgname}" -pkgver='autogenerated' -pkgrel=1 -#pkgrel=1 -_pkgarch=$(dpkg --print-architecture) -_pkgver=${pkgver} -_pkgrel=${pkgrel} -arch=( 'i686' 'x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm' ) -url="https://${_pkggopath}" -license=() -makedepends=('dpkg' 'git' 'go' 'musl' 'kernel-headers-musl') -depends=() -_debdeps="" -install=skywire.install -license=('license-free') -source=("git+${url}.git#branch=develop" -"skywire-autoconfig::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig?h=skywire-bin" -"com.skywire.Skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywire.Skywire.desktop?h=skywire-bin" -"com.skywirevpn.SkywireVPN.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywirevpn.SkywireVPN.desktop?h=skywire-bin" -"skywirevpn.png::https://aur.archlinux.org/cgit/aur.git/plain/skywirevpn.png?h=skywire-bin" -"skywire.png::https://aur.archlinux.org/cgit/aur.git/plain/skywire.png?h=skywire-bin" -"skywire.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire.service?h=skywire-bin" -"skywire-autoconfig.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig.service?h=skywire-bin" -"postinst.sh::https://aur.archlinux.org/cgit/aur.git/plain/postinst.sh?h=skywire-bin" -"prerm.sh::https://aur.archlinux.org/cgit/aur.git/plain/prerm.sh?h=skywire-bin" -) -sha256sums=('SKIP' - '08f0c625a3ae8810f0468a45aa2e463425ec307441f71f6ba48114bda2055316' - 'f0300bcde06b6818b637ccc23fa8206a40e67f63815781d265bd10d2cda93e65' - '0c20dd44eca0266a3a10fab24c657295a833eba9f78c6b1cf06132b093ac3ba8' - 'ec24750a99f5cda8d8a8dc94743943218e1b2088c2b2c7dc1644ee78d954fe7e' - 'a6941680b5858ca3e0c85d9bf5824455a0c95524b61e42352462f2abbb750495' - '19b74f7a9b245a96617f31d1fef7ce1e0231b2359d6525dd3f35d2b2a9d10d18' - '55293e05c5d6c877397eb4c52123bb02e8bc92aeaf663ba70e1cfab318ce727c' - '7b17a55e64d1371fecd24edc3da7c6a762cf2b3d058f6fc4a5dc7c5f9b4cff09' - '233ccf0e87b37e782828f53960e05e478cf381f61bbfdb16a0cc0254ee8be7c2') - -pkgver() { -_version=$(git ls-remote --tags --refs --sort="version:refname" ${url}.git | tail -n1) -_version=${_version##*/} -_version=${_version%%-*} -_version=${_version//v/} -echo ${_version} -} - -prepare() { -# https://wiki.archlinux.org/index.php/Go_package_guidelines -mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin ${srcdir}/go/apps -ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/${_pkggopath} -cd ${srcdir}/go/src/${_pkggopath}/ -} - -build() { -export GOPATH=${srcdir}/go -export GOBIN=${GOPATH}/bin -export _GOAPPS=${GOPATH}/apps -export GOOS=linux -export CGO_ENABLED=1 #default anyways -#use musl-gcc for static compilation -export CC=musl-gcc - -local _version="${pkgver}" -DMSG_BASE="github.com/skycoin/dmsg" -BUILDINFO_PATH="${DMSG_BASE}/buildinfo" -BUILDINFO_VERSION="${BUILDINFO_PATH}.version=${_version}" -BUILDINFO=${BUILDINFO_VERSION} ${BUILDINFO_DATE} ${BUILDINFO_COMMIT} - -#create the skywire binaries -cd ${srcdir}/go/src/${_pkggopath} -_cmddir=${srcdir}/go/src/${_pkggopath}/cmd - -_msg2 "building skychat binary" -cd ${_cmddir}/apps/skychat -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skysocks binary" -cd ${_cmddir}/apps/skysocks -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skysocks-client binary" -cd ${_cmddir}/apps/skysocks-client -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building vpn-client binary" -cd ${_cmddir}/apps/vpn-client -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building vpn-server binary" -cd ${_cmddir}/apps/vpn-server -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skywire-cli binary" -cd ${_cmddir}/skywire-cli -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . -_msg2 "building skywire-visor binary" -cd ${_cmddir}/skywire-visor -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . -_msg2 "building setup-node binary" -cd ${_cmddir}/setup-node -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . - -#binary transparency -cd $GOBIN -_msg2 'binary sha256sums' -sha256sum $(ls) -cd $_GOAPPS -sha256sum $(ls) - -### CONTROL FILES CREATION ### -#create control file for the debian package -echo "Package: skywire-dev" > ${srcdir}/control -echo "Version: ${_pkgver}-${_pkgrel}" >> ${srcdir}/control -echo "Priority: optional" >> ${srcdir}/control -echo "Section: web" >> ${srcdir}/control -echo "Architecture: ${_pkgarch}" >> ${srcdir}/control -echo "Depends: ${_debdeps}" >> ${srcdir}/control -echo "Provides: skywire" >> ${srcdir}/control -echo "Maintainer: skycoin" >> ${srcdir}/control -echo "Description: ${pkgdesc}" >> ${srcdir}/control - -} - +makedepends=("${makedepends[@]}" "dpkg") +source=( "${_sourcedeb[@]}") package() { -#set up to create a .deb package -_debpkgdir="${_pkgname}-${pkgver}-${_pkgrel}-${_pkgarch}" -_pkgdir="${pkgdir}/${_debpkgdir}" -_skydir="opt/skywire" -_skyapps="${_skydir}/apps" -_skyscripts="${_skydir}/scripts" -_systemddir="etc/systemd/system" -_skybin="${_skydir}/bin" -mkdir -p ${_pkgdir}/usr/bin -mkdir -p ${_pkgdir}/${_skydir}/bin -mkdir -p ${_pkgdir}/${_skydir}/apps -mkdir -p ${_pkgdir}/${_skydir}/local -mkdir -p ${_pkgdir}/${_skydir}/scripts -mkdir -p ${_pkgdir}/${_systemddir} - - -cd $_pkgdir - -_msg2 'installing binaries' - install -Dm755 ${GOBIN}/* ${_pkgdir}/${_skybin}/ -for _i in ${_pkgdir}/${_skybin}/* ; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'installing app binaries' -_apps=${pkgdir}/test/apps -install -Dm755 ${_GOAPPS}/* ${_pkgdir}/${_skyapps}/ -for _i in ${_pkgdir}/${_skyapps}/* ; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'Installing scripts' -install -Dm755 ${srcdir}/skywire-autoconfig ${_pkgdir}/${_skyscripts}/ -ln -rTsf ${_pkgdir}/${_skyscripts}/skywire-autoconfig ${_pkgdir}/usr/bin/skywire-autoconfig - -chmod +x ${_pkgdir}/usr/bin/* -#rename visor to skywire - matche the skycoin / skycoin-cli of the skycoin wallet -[[ -f ${_pkgdir}/usr/bin/${_pkgname}-visor ]] && ln -rTsf ${_pkgdir}/usr/bin/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname} - -_msg2 'installing dmsghttp-config.json' -install -Dm644 ${srcdir}/${_pkgname}/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json - -#install systemd services -_msg2 'Installing systemd services' -install -Dm644 ${srcdir}/*.service ${_pkgdir}/${_systemddir}/ - -_msg2 'installing desktop files and icons' -mkdir -p ${_pkgdir}/usr/share/applications/ ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ -install -Dm644 ${srcdir}/*.desktop ${_pkgdir}/usr/share/applications/ -install -Dm644 ${srcdir}/*.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ - -_msg2 'installing control file and install scripts' -install -Dm755 ${srcdir}/control ${_pkgdir}/DEBIAN/control -#install -Dm755 ${srcdir}/${_scripts}/preinst.sh ${_pkgdir}/DEBIAN/preinst -install -Dm755 ${srcdir}/postinst.sh ${_pkgdir}/DEBIAN/postinst -install -Dm755 ${srcdir}/prerm.sh ${_pkgdir}/DEBIAN/prerm -#install -Dm755 ${srcdir}/${_scripts}/postrm.sh ${_pkgdir}/DEBIAN/postrm - -_msg2 'creating the debian package' -#create the debian package -cd $pkgdir -dpkg-deb --build -z9 ${_debpkgdir} -mv *.deb ../../ -#exit so the arch package doesn't get built -exit -} - -_msg2() { -(( QUIET )) && return -local mesg=$1; shift -printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" -} - -_msg3() { -(( QUIET )) && return -local mesg=$1; shift -printf "${BLUE} -->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" + _packagedeb } |