Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files
@ 2022-11-09  6:08 classabbyamp
  2022-11-09 11:12 ` [PR PATCH] [Updated] " sgn
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-09  6:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 527 bytes --]

There is a new pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**



A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 2052 bytes --]

From 8378bbb950c224be87a4b5b7b59623d907a1ee4f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files

---
 common/hooks/do-extract/00-distfiles.sh | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..309504d657c0 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,23 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			cd "$extractdir"
+			innerfile="$(ar t $srcdir/$curfile | grep '^data\.tar')"
+			if [ $? -ne 0 ]; then
+				msg_error "$pkgver: unable to find data archive inside $curfile.\n"
+			fi
+			ar x "$srcdir/$curfile" "$innerfile"
+			if [ $? -ne 0 ]; then
+				msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+			fi
+			mkdir -p "${curfile%.deb}"
+			$TAR_CMD -x --no-same-permissions --no-same-owner -f "${innerfile}" -C "${curfile%.deb}"
+			if [ $? -ne 0 ]; then
+				msg_error "$pkgver: extracting $innerfile from $curfile into $XBPS_BUILDDIR.\n"
+			fi
+			rm "${innerfile}"
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
@ 2022-11-09 11:12 ` sgn
  2022-11-10  8:14 ` classabbyamp
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: sgn @ 2022-11-09 11:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 639 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

TODO: convert all deb packages to use this isntead of overriding do_extract or build_style=fetch or something


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 4206 bytes --]

From 8378bbb950c224be87a4b5b7b59623d907a1ee4f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 1/2] common/hooks/do-extract/00-distfiles.sh: support deb
 files

---
 common/hooks/do-extract/00-distfiles.sh | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..309504d657c0 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,23 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			cd "$extractdir"
+			innerfile="$(ar t $srcdir/$curfile | grep '^data\.tar')"
+			if [ $? -ne 0 ]; then
+				msg_error "$pkgver: unable to find data archive inside $curfile.\n"
+			fi
+			ar x "$srcdir/$curfile" "$innerfile"
+			if [ $? -ne 0 ]; then
+				msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+			fi
+			mkdir -p "${curfile%.deb}"
+			$TAR_CMD -x --no-same-permissions --no-same-owner -f "${innerfile}" -C "${curfile%.deb}"
+			if [ $? -ne 0 ]; then
+				msg_error "$pkgver: extracting $innerfile from $curfile into $XBPS_BUILDDIR.\n"
+			fi
+			rm "${innerfile}"
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 0332e51da989cab1555077335ea649f48351729f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Wed, 9 Nov 2022 18:11:09 +0700
Subject: [PATCH 2/2] fixup! common/hooks/do-extract/00-distfiles.sh: support
 deb files

---
 common/hooks/do-extract/00-distfiles.sh | 34 +++++++++++++++----------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index 309504d657c0..b666825fb29f 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -122,21 +122,27 @@ hook() {
 			fi
 			;;
 		deb)
-			cd "$extractdir"
-			innerfile="$(ar t $srcdir/$curfile | grep '^data\.tar')"
-			if [ $? -ne 0 ]; then
-				msg_error "$pkgver: unable to find data archive inside $curfile.\n"
-			fi
-			ar x "$srcdir/$curfile" "$innerfile"
-			if [ $? -ne 0 ]; then
-				msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
-			fi
-			mkdir -p "${curfile%.deb}"
-			$TAR_CMD -x --no-same-permissions --no-same-owner -f "${innerfile}" -C "${curfile%.deb}"
-			if [ $? -ne 0 ]; then
-				msg_error "$pkgver: extracting $innerfile from $curfile into $XBPS_BUILDDIR.\n"
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+			(
+				cd "$extractdir"
+				if innerfile="$(ar t $srcdir/$curfile | grep '^data\.tar')"; then
+					msg_error "$pkgver: unable to find data archive inside $curfile.\n"
+				fi
+				if ! ar x "$srcdir/$curfile" "$innerfile"; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+				if ! $TAR_CMD -x --no-same-permissions --no-same-owner -f "${innerfile}"; then
+					msg_error "$pkgver: extracting $innerfile from $curfile into $XBPS_BUILDDIR.\n"
+				fi
+				rm "${innerfile}"
+			)
 			fi
-			rm "${innerfile}"
 			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
  2022-11-09 11:12 ` [PR PATCH] [Updated] " sgn
@ 2022-11-10  8:14 ` classabbyamp
  2022-11-10  8:37 ` classabbyamp
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-10  8:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 648 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

TODO: convert all deb packages to use this isntead of overriding do_extract or build_style=fetch or something


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 1803 bytes --]

From bd3fe8231c96146319b919ce71c8232c797ec253 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files

---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
  2022-11-09 11:12 ` [PR PATCH] [Updated] " sgn
  2022-11-10  8:14 ` classabbyamp
@ 2022-11-10  8:37 ` classabbyamp
  2022-11-10  9:21 ` classabbyamp
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-10  8:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 648 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

TODO: convert all deb packages to use this isntead of overriding do_extract or build_style=fetch or something


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 8354 bytes --]

From bcd4e4298611bbea5f745983bafad7a422494cdb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 1/5] common/hooks/do-extract/00-distfiles.sh: support deb
 files

---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 2f90c21e906bc3764ca1b608748f2e276fea9129 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 2/5] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From 2f825ed24ba2f48d09521d79b43a5ca7f0cbf77c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 3/5] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 36 ++++++++++++--------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..3b8ad08ad328 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -3,8 +3,6 @@ pkgname=brother-brscan3
 version=0.2.13
 revision=2
 archs="i686 x86_64"
-create_wrksrc=yes
-hostmakedepends="tar"
 makedepends="sane-devel curl"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
@@ -27,27 +25,6 @@ elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -64,3 +41,16 @@ post_extract() {
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
 }
+
+do_install() {
+	vinstall ${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall ${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
+}

From 37990f7d373219a9d78ed5c25d6189b4d3828b72 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 4/5] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..8027b7c386e7 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-cupswrapper
 version=1.1.3
 revision=8
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="brother-dcp197c-lpr cups"
 short_desc="CUPS wrapper driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,13 +12,9 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vmkdir /opt
+	vcopy brother /opt
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From 9e885ec22188fc86cb5024865214b408957d5ac5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 5/5] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (2 preceding siblings ...)
  2022-11-10  8:37 ` classabbyamp
@ 2022-11-10  9:21 ` classabbyamp
  2022-11-10  9:23 ` classabbyamp
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-10  9:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 648 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

TODO: convert all deb packages to use this isntead of overriding do_extract or build_style=fetch or something


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 15933 bytes --]

From bcd4e4298611bbea5f745983bafad7a422494cdb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 1/9] common/hooks/do-extract/00-distfiles.sh: support deb
 files

---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 2f90c21e906bc3764ca1b608748f2e276fea9129 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 2/9] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From 2f825ed24ba2f48d09521d79b43a5ca7f0cbf77c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 3/9] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 36 ++++++++++++--------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..3b8ad08ad328 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -3,8 +3,6 @@ pkgname=brother-brscan3
 version=0.2.13
 revision=2
 archs="i686 x86_64"
-create_wrksrc=yes
-hostmakedepends="tar"
 makedepends="sane-devel curl"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
@@ -27,27 +25,6 @@ elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -64,3 +41,16 @@ post_extract() {
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
 }
+
+do_install() {
+	vinstall ${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall ${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
+}

From 37990f7d373219a9d78ed5c25d6189b4d3828b72 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 4/9] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..8027b7c386e7 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-cupswrapper
 version=1.1.3
 revision=8
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="brother-dcp197c-lpr cups"
 short_desc="CUPS wrapper driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,13 +12,9 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vmkdir /opt
+	vcopy brother /opt
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From 9e885ec22188fc86cb5024865214b408957d5ac5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 5/9] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

From af5614f6f9ec5f3e1d7c6d7174896be23cceb6c4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:42:12 -0500
Subject: [PATCH 6/9] clearlooks-phenix-darkpurpy-theme: don't manually extract
 deb

---
 srcpkgs/clearlooks-phenix-darkpurpy-theme/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
index bd641d81ca43..14fbe69751d2 100644
--- a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
+++ b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
@@ -3,7 +3,6 @@ pkgname=clearlooks-phenix-darkpurpy-theme
 version=7.0.2
 revision=2
 _devuan_rel="1+devuan2.0"
-build_style=fetch
 depends="gnome-themes-standard gtk-engine-murrine gtk2-engines"
 short_desc="Dark-purpified GTK3 port of Clearlooks theme"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,8 +12,6 @@ distfiles="http://packages.devuan.org/devuan/pool/main/c/${pkgname}/${pkgname}_$
 checksum=6b3dd568cb1ee37c5758ef55338b2b8784e7409cb2239a5d4b53de7af2584970
 
 do_install() {
-	bsdtar xf ${pkgname}_${version}-${_devuan_rel}_all.deb
-	bsdtar xf data.tar.xz
-	vmkdir usr/share/themes
-	vcopy usr/share/themes/Clearlooks-Phenix-DarkPurpy usr/share/themes
+	vmkdir usr/share
+	vcopy usr/share/themes usr/share
 }

From 4b1ef407bf99b878572fcabfd920d4667ae42347 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:52:20 -0500
Subject: [PATCH 7/9] debootstrap: don't manually extract deb

---
 srcpkgs/debootstrap/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index ab7dac04cba9..e27c8b6c8662 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -2,13 +2,12 @@
 pkgname=debootstrap
 version=1.0.128+nmu2
 revision=1
-build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
 short_desc="Bootstrap a basic Debian system"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
-distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
+distfiles="${DEBIAN_SITE}/main/d/debootstrap/debootstrap_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
 checksum="284fd2a38bd3522bfaa475540d8c622dde29e465b3439223c950023c5a45df60
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
@@ -25,12 +24,19 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="please add your architecture";;
 esac
 
+post_extract() {
+	for x in bullseye buster removed stretch; do
+		rm usr/share/keyrings/debian-archive-$x-*
+	done
+	rm -r usr/share/doc/debian-archive-keyring
+
+	mv usr/sbin usr/bin
+	echo ${_debarch} > usr/share/debootstrap/arch
+}
+
 do_install() {
-	bsdtar xOf ${pkgname}_${version}_all.deb data.tar.gz | bsdtar xvzf - -C ${DESTDIR}
-	bsdtar xOf debian-archive-keyring_2021.1.1_all.deb data.tar.xz | bsdtar xvJf - -C ${DESTDIR} ./usr/share/keyrings/debian-archive-keyring.gpg
-	mv ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin
+	vcopy usr /
 	sed -i 's|export PATH|export PATH="/usr/sbin:/sbin:/usr/bin:/bin"|' ${DESTDIR}/usr/bin/debootstrap
 	vlicense ${DESTDIR}/usr/share/doc/debootstrap/copyright LICENSE
 	rm ${DESTDIR}/usr/share/doc/debootstrap/copyright
-	echo ${_debarch} >${DESTDIR}/usr/share/debootstrap/arch
 }

From dfa4426b6677688ef5e7882e6ccedbb1f6fee450 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:55:39 -0500
Subject: [PATCH 8/9] fah: don't manually extract deb

---
 srcpkgs/fah/template | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/fah/template b/srcpkgs/fah/template
index 8fb277fef313..d25877761daf 100644
--- a/srcpkgs/fah/template
+++ b/srcpkgs/fah/template
@@ -22,22 +22,12 @@ system_accounts="_fah"
 _fah_homedir="/usr/libexec/_fah"
 _fah_descr="Folding@Home user"
 
-do_extract() {
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahclient_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahcontrol_${version}-1_all.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahviewer_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-}
-
 do_install() {
-	vmkdir usr
-	vcopy ${wrksrc}/usr/* usr
+	vcopy usr /
 	vsv FAHClient
 	mv -v ${DESTDIR}/usr/lib/python2.7/{dist,site}-packages
 	vlicense ${DESTDIR}/usr/share/doc/fahclient/copyright LICENSE.FAHClient
 	vlicense ${DESTDIR}/usr/share/doc/fahviewer/LICENSE LICENSE.FAHViewer
-	# Example file to modfiy or cut+paste from for /etc/sv/FAHClient/config
+	# Example file to modify or cut+paste from for /etc/sv/FAHClient/config
 	vsconf ${FILESDIR}/config.example
 }

From 85b53da07446c184f4c547bae7a38b7abed08d78 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:20:22 -0500
Subject: [PATCH 9/9] google-chrome: don't manually extract deb

also clean up the template a bit
---
 srcpkgs/google-chrome/template | 38 ++++++++++++++++------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 54988d2d7c9f..4f3bb78613b1 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -4,32 +4,34 @@ version=107.0.5304.110
 revision=1
 _channel=stable
 archs="x86_64"
-hostmakedepends="tar xz python3 python3-html2text python3-setuptools"
+hostmakedepends="python3-html2text python3-setuptools"
 depends="gtk+3"
 short_desc="Attempt at creating a safer, faster, and more stable browser"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="custom:chrome"
 homepage="https://www.google.com/chrome/"
-nostrip=yes
-restricted=yes
-repository=nonfree
-skiprdeps="/opt/google/chrome/libqt5_shim.so"
-
-_baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable"
-_filename="google-chrome-${_channel}_${version}-1_amd64.deb"
-_chromeUrl="${_baseUrl}/${_filename}"
-_licenseUrl="https://www.google.com/intl/en/chrome/terms/"
-
-distfiles="$_chromeUrl"
+distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
 checksum=52e6d1be974c36cb40469f03b128cf21b36359a05fdadbb2e0379fbb17ef341b
+_license_checksum=8023b18fb5118ef65d586363e53909861bd1a9676e5eb83c20fd3ac6e33ea0be
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/google-chrome-${version}/${_filename}
+skiprdeps="/opt/google/chrome/libqt5_shim.so"
+repository=nonfree
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	xbps-fetch 'https://www.google.com/intl/en/chrome/terms/' -o google-chrome-eula.html
+	html2text google-chrome-eula.html | sed -n '/^#/,/^SEE/p' > google-chrome-eula.md
+	filesum="$(xbps-digest google-chrome-eula.md)"
+	if [ "$filesum" != "$_license_checksum" ]; then
+		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
+	fi
 }
 
 do_install() {
-	tar xf data.tar.xz -C ${DESTDIR}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
 	# Install the icons
 	for size in 16 24 32 48 64 128 256; do
@@ -47,10 +49,6 @@ do_install() {
 	# Remove the Debian/Ubuntu crontab
 	rm -rf ${DESTDIR}/etc
 	rm -rf ${DESTDIR}/opt/google/chrome/cron
-}
 
-post_install() {
-	xbps-fetch ${_licenseUrl} -o google-chrome-eula.html
-	cat google-chrome-eula.html | html2text >> google-chrome-eula.md
 	vlicense google-chrome-eula.md
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (3 preceding siblings ...)
  2022-11-10  9:21 ` classabbyamp
@ 2022-11-10  9:23 ` classabbyamp
  2022-11-10  9:34 ` classabbyamp
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-10  9:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 648 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

TODO: convert all deb packages to use this isntead of overriding do_extract or build_style=fetch or something


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 15938 bytes --]

From bcd4e4298611bbea5f745983bafad7a422494cdb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 1/9] common/hooks/do-extract/00-distfiles.sh: support deb
 files

---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 2f90c21e906bc3764ca1b608748f2e276fea9129 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 2/9] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From 2f825ed24ba2f48d09521d79b43a5ca7f0cbf77c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 3/9] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 36 ++++++++++++--------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..3b8ad08ad328 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -3,8 +3,6 @@ pkgname=brother-brscan3
 version=0.2.13
 revision=2
 archs="i686 x86_64"
-create_wrksrc=yes
-hostmakedepends="tar"
 makedepends="sane-devel curl"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
@@ -27,27 +25,6 @@ elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -64,3 +41,16 @@ post_extract() {
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
 }
+
+do_install() {
+	vinstall ${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall ${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
+}

From 37990f7d373219a9d78ed5c25d6189b4d3828b72 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 4/9] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..8027b7c386e7 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-cupswrapper
 version=1.1.3
 revision=8
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="brother-dcp197c-lpr cups"
 short_desc="CUPS wrapper driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,13 +12,9 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vmkdir /opt
+	vcopy brother /opt
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From 9e885ec22188fc86cb5024865214b408957d5ac5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 5/9] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

From af5614f6f9ec5f3e1d7c6d7174896be23cceb6c4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:42:12 -0500
Subject: [PATCH 6/9] clearlooks-phenix-darkpurpy-theme: don't manually extract
 deb

---
 srcpkgs/clearlooks-phenix-darkpurpy-theme/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
index bd641d81ca43..14fbe69751d2 100644
--- a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
+++ b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
@@ -3,7 +3,6 @@ pkgname=clearlooks-phenix-darkpurpy-theme
 version=7.0.2
 revision=2
 _devuan_rel="1+devuan2.0"
-build_style=fetch
 depends="gnome-themes-standard gtk-engine-murrine gtk2-engines"
 short_desc="Dark-purpified GTK3 port of Clearlooks theme"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,8 +12,6 @@ distfiles="http://packages.devuan.org/devuan/pool/main/c/${pkgname}/${pkgname}_$
 checksum=6b3dd568cb1ee37c5758ef55338b2b8784e7409cb2239a5d4b53de7af2584970
 
 do_install() {
-	bsdtar xf ${pkgname}_${version}-${_devuan_rel}_all.deb
-	bsdtar xf data.tar.xz
-	vmkdir usr/share/themes
-	vcopy usr/share/themes/Clearlooks-Phenix-DarkPurpy usr/share/themes
+	vmkdir usr/share
+	vcopy usr/share/themes usr/share
 }

From 4b1ef407bf99b878572fcabfd920d4667ae42347 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:52:20 -0500
Subject: [PATCH 7/9] debootstrap: don't manually extract deb

---
 srcpkgs/debootstrap/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index ab7dac04cba9..e27c8b6c8662 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -2,13 +2,12 @@
 pkgname=debootstrap
 version=1.0.128+nmu2
 revision=1
-build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
 short_desc="Bootstrap a basic Debian system"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
-distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
+distfiles="${DEBIAN_SITE}/main/d/debootstrap/debootstrap_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
 checksum="284fd2a38bd3522bfaa475540d8c622dde29e465b3439223c950023c5a45df60
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
@@ -25,12 +24,19 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="please add your architecture";;
 esac
 
+post_extract() {
+	for x in bullseye buster removed stretch; do
+		rm usr/share/keyrings/debian-archive-$x-*
+	done
+	rm -r usr/share/doc/debian-archive-keyring
+
+	mv usr/sbin usr/bin
+	echo ${_debarch} > usr/share/debootstrap/arch
+}
+
 do_install() {
-	bsdtar xOf ${pkgname}_${version}_all.deb data.tar.gz | bsdtar xvzf - -C ${DESTDIR}
-	bsdtar xOf debian-archive-keyring_2021.1.1_all.deb data.tar.xz | bsdtar xvJf - -C ${DESTDIR} ./usr/share/keyrings/debian-archive-keyring.gpg
-	mv ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin
+	vcopy usr /
 	sed -i 's|export PATH|export PATH="/usr/sbin:/sbin:/usr/bin:/bin"|' ${DESTDIR}/usr/bin/debootstrap
 	vlicense ${DESTDIR}/usr/share/doc/debootstrap/copyright LICENSE
 	rm ${DESTDIR}/usr/share/doc/debootstrap/copyright
-	echo ${_debarch} >${DESTDIR}/usr/share/debootstrap/arch
 }

From dfa4426b6677688ef5e7882e6ccedbb1f6fee450 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:55:39 -0500
Subject: [PATCH 8/9] fah: don't manually extract deb

---
 srcpkgs/fah/template | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/fah/template b/srcpkgs/fah/template
index 8fb277fef313..d25877761daf 100644
--- a/srcpkgs/fah/template
+++ b/srcpkgs/fah/template
@@ -22,22 +22,12 @@ system_accounts="_fah"
 _fah_homedir="/usr/libexec/_fah"
 _fah_descr="Folding@Home user"
 
-do_extract() {
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahclient_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahcontrol_${version}-1_all.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahviewer_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-}
-
 do_install() {
-	vmkdir usr
-	vcopy ${wrksrc}/usr/* usr
+	vcopy usr /
 	vsv FAHClient
 	mv -v ${DESTDIR}/usr/lib/python2.7/{dist,site}-packages
 	vlicense ${DESTDIR}/usr/share/doc/fahclient/copyright LICENSE.FAHClient
 	vlicense ${DESTDIR}/usr/share/doc/fahviewer/LICENSE LICENSE.FAHViewer
-	# Example file to modfiy or cut+paste from for /etc/sv/FAHClient/config
+	# Example file to modify or cut+paste from for /etc/sv/FAHClient/config
 	vsconf ${FILESDIR}/config.example
 }

From f75fbb8f0a7e1eaaa0c38cc4c7ac6131e2085443 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:20:22 -0500
Subject: [PATCH 9/9] google-chrome: don't manually extract deb

also clean up the template a bit
---
 srcpkgs/google-chrome/template | 38 ++++++++++++++++------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 54988d2d7c9f..b11865fd0ad9 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -4,32 +4,34 @@ version=107.0.5304.110
 revision=1
 _channel=stable
 archs="x86_64"
-hostmakedepends="tar xz python3 python3-html2text python3-setuptools"
+hostmakedepends="python3-html2text python3-setuptools"
 depends="gtk+3"
 short_desc="Attempt at creating a safer, faster, and more stable browser"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="custom:chrome"
 homepage="https://www.google.com/chrome/"
-nostrip=yes
-restricted=yes
-repository=nonfree
-skiprdeps="/opt/google/chrome/libqt5_shim.so"
-
-_baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable"
-_filename="google-chrome-${_channel}_${version}-1_amd64.deb"
-_chromeUrl="${_baseUrl}/${_filename}"
-_licenseUrl="https://www.google.com/intl/en/chrome/terms/"
-
-distfiles="$_chromeUrl"
+distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
 checksum=52e6d1be974c36cb40469f03b128cf21b36359a05fdadbb2e0379fbb17ef341b
+_license_checksum=8023b18fb5118ef65d586363e53909861bd1a9676e5eb83c20fd3ac6e33ea0be
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/google-chrome-${version}/${_filename}
+skiprdeps="/opt/google/chrome/libqt5_shim.so"
+repository=nonfree
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	$XBPS_FETCH_CMD 'https://www.google.com/intl/en/chrome/terms/' -o google-chrome-eula.html
+	html2text google-chrome-eula.html | sed -n '/^#/,/^SEE/p' > google-chrome-eula.md
+	filesum="$(xbps-digest google-chrome-eula.md)"
+	if [ "$filesum" != "$_license_checksum" ]; then
+		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
+	fi
 }
 
 do_install() {
-	tar xf data.tar.xz -C ${DESTDIR}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
 	# Install the icons
 	for size in 16 24 32 48 64 128 256; do
@@ -47,10 +49,6 @@ do_install() {
 	# Remove the Debian/Ubuntu crontab
 	rm -rf ${DESTDIR}/etc
 	rm -rf ${DESTDIR}/opt/google/chrome/cron
-}
 
-post_install() {
-	xbps-fetch ${_licenseUrl} -o google-chrome-eula.html
-	cat google-chrome-eula.html | html2text >> google-chrome-eula.md
 	vlicense google-chrome-eula.md
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (4 preceding siblings ...)
  2022-11-10  9:23 ` classabbyamp
@ 2022-11-10  9:34 ` classabbyamp
  2022-11-11  8:03 ` classabbyamp
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-10  9:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 648 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

TODO: convert all deb packages to use this isntead of overriding do_extract or build_style=fetch or something


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 18836 bytes --]

From bcd4e4298611bbea5f745983bafad7a422494cdb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 01/10] common/hooks/do-extract/00-distfiles.sh: support deb
 files

---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 2f90c21e906bc3764ca1b608748f2e276fea9129 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 02/10] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From 2f825ed24ba2f48d09521d79b43a5ca7f0cbf77c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 03/10] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 36 ++++++++++++--------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..3b8ad08ad328 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -3,8 +3,6 @@ pkgname=brother-brscan3
 version=0.2.13
 revision=2
 archs="i686 x86_64"
-create_wrksrc=yes
-hostmakedepends="tar"
 makedepends="sane-devel curl"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
@@ -27,27 +25,6 @@ elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -64,3 +41,16 @@ post_extract() {
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
 }
+
+do_install() {
+	vinstall ${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall ${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
+}

From 37990f7d373219a9d78ed5c25d6189b4d3828b72 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 04/10] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..8027b7c386e7 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-cupswrapper
 version=1.1.3
 revision=8
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="brother-dcp197c-lpr cups"
 short_desc="CUPS wrapper driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,13 +12,9 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vmkdir /opt
+	vcopy brother /opt
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From 9e885ec22188fc86cb5024865214b408957d5ac5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 05/10] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

From af5614f6f9ec5f3e1d7c6d7174896be23cceb6c4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:42:12 -0500
Subject: [PATCH 06/10] clearlooks-phenix-darkpurpy-theme: don't manually
 extract deb

---
 srcpkgs/clearlooks-phenix-darkpurpy-theme/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
index bd641d81ca43..14fbe69751d2 100644
--- a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
+++ b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
@@ -3,7 +3,6 @@ pkgname=clearlooks-phenix-darkpurpy-theme
 version=7.0.2
 revision=2
 _devuan_rel="1+devuan2.0"
-build_style=fetch
 depends="gnome-themes-standard gtk-engine-murrine gtk2-engines"
 short_desc="Dark-purpified GTK3 port of Clearlooks theme"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,8 +12,6 @@ distfiles="http://packages.devuan.org/devuan/pool/main/c/${pkgname}/${pkgname}_$
 checksum=6b3dd568cb1ee37c5758ef55338b2b8784e7409cb2239a5d4b53de7af2584970
 
 do_install() {
-	bsdtar xf ${pkgname}_${version}-${_devuan_rel}_all.deb
-	bsdtar xf data.tar.xz
-	vmkdir usr/share/themes
-	vcopy usr/share/themes/Clearlooks-Phenix-DarkPurpy usr/share/themes
+	vmkdir usr/share
+	vcopy usr/share/themes usr/share
 }

From 4b1ef407bf99b878572fcabfd920d4667ae42347 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:52:20 -0500
Subject: [PATCH 07/10] debootstrap: don't manually extract deb

---
 srcpkgs/debootstrap/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index ab7dac04cba9..e27c8b6c8662 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -2,13 +2,12 @@
 pkgname=debootstrap
 version=1.0.128+nmu2
 revision=1
-build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
 short_desc="Bootstrap a basic Debian system"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
-distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
+distfiles="${DEBIAN_SITE}/main/d/debootstrap/debootstrap_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
 checksum="284fd2a38bd3522bfaa475540d8c622dde29e465b3439223c950023c5a45df60
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
@@ -25,12 +24,19 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="please add your architecture";;
 esac
 
+post_extract() {
+	for x in bullseye buster removed stretch; do
+		rm usr/share/keyrings/debian-archive-$x-*
+	done
+	rm -r usr/share/doc/debian-archive-keyring
+
+	mv usr/sbin usr/bin
+	echo ${_debarch} > usr/share/debootstrap/arch
+}
+
 do_install() {
-	bsdtar xOf ${pkgname}_${version}_all.deb data.tar.gz | bsdtar xvzf - -C ${DESTDIR}
-	bsdtar xOf debian-archive-keyring_2021.1.1_all.deb data.tar.xz | bsdtar xvJf - -C ${DESTDIR} ./usr/share/keyrings/debian-archive-keyring.gpg
-	mv ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin
+	vcopy usr /
 	sed -i 's|export PATH|export PATH="/usr/sbin:/sbin:/usr/bin:/bin"|' ${DESTDIR}/usr/bin/debootstrap
 	vlicense ${DESTDIR}/usr/share/doc/debootstrap/copyright LICENSE
 	rm ${DESTDIR}/usr/share/doc/debootstrap/copyright
-	echo ${_debarch} >${DESTDIR}/usr/share/debootstrap/arch
 }

From dfa4426b6677688ef5e7882e6ccedbb1f6fee450 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:55:39 -0500
Subject: [PATCH 08/10] fah: don't manually extract deb

---
 srcpkgs/fah/template | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/fah/template b/srcpkgs/fah/template
index 8fb277fef313..d25877761daf 100644
--- a/srcpkgs/fah/template
+++ b/srcpkgs/fah/template
@@ -22,22 +22,12 @@ system_accounts="_fah"
 _fah_homedir="/usr/libexec/_fah"
 _fah_descr="Folding@Home user"
 
-do_extract() {
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahclient_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahcontrol_${version}-1_all.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahviewer_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-}
-
 do_install() {
-	vmkdir usr
-	vcopy ${wrksrc}/usr/* usr
+	vcopy usr /
 	vsv FAHClient
 	mv -v ${DESTDIR}/usr/lib/python2.7/{dist,site}-packages
 	vlicense ${DESTDIR}/usr/share/doc/fahclient/copyright LICENSE.FAHClient
 	vlicense ${DESTDIR}/usr/share/doc/fahviewer/LICENSE LICENSE.FAHViewer
-	# Example file to modfiy or cut+paste from for /etc/sv/FAHClient/config
+	# Example file to modify or cut+paste from for /etc/sv/FAHClient/config
 	vsconf ${FILESDIR}/config.example
 }

From f75fbb8f0a7e1eaaa0c38cc4c7ac6131e2085443 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:20:22 -0500
Subject: [PATCH 09/10] google-chrome: don't manually extract deb

also clean up the template a bit
---
 srcpkgs/google-chrome/template | 38 ++++++++++++++++------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 54988d2d7c9f..b11865fd0ad9 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -4,32 +4,34 @@ version=107.0.5304.110
 revision=1
 _channel=stable
 archs="x86_64"
-hostmakedepends="tar xz python3 python3-html2text python3-setuptools"
+hostmakedepends="python3-html2text python3-setuptools"
 depends="gtk+3"
 short_desc="Attempt at creating a safer, faster, and more stable browser"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="custom:chrome"
 homepage="https://www.google.com/chrome/"
-nostrip=yes
-restricted=yes
-repository=nonfree
-skiprdeps="/opt/google/chrome/libqt5_shim.so"
-
-_baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable"
-_filename="google-chrome-${_channel}_${version}-1_amd64.deb"
-_chromeUrl="${_baseUrl}/${_filename}"
-_licenseUrl="https://www.google.com/intl/en/chrome/terms/"
-
-distfiles="$_chromeUrl"
+distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
 checksum=52e6d1be974c36cb40469f03b128cf21b36359a05fdadbb2e0379fbb17ef341b
+_license_checksum=8023b18fb5118ef65d586363e53909861bd1a9676e5eb83c20fd3ac6e33ea0be
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/google-chrome-${version}/${_filename}
+skiprdeps="/opt/google/chrome/libqt5_shim.so"
+repository=nonfree
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	$XBPS_FETCH_CMD 'https://www.google.com/intl/en/chrome/terms/' -o google-chrome-eula.html
+	html2text google-chrome-eula.html | sed -n '/^#/,/^SEE/p' > google-chrome-eula.md
+	filesum="$(xbps-digest google-chrome-eula.md)"
+	if [ "$filesum" != "$_license_checksum" ]; then
+		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
+	fi
 }
 
 do_install() {
-	tar xf data.tar.xz -C ${DESTDIR}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
 	# Install the icons
 	for size in 16 24 32 48 64 128 256; do
@@ -47,10 +49,6 @@ do_install() {
 	# Remove the Debian/Ubuntu crontab
 	rm -rf ${DESTDIR}/etc
 	rm -rf ${DESTDIR}/opt/google/chrome/cron
-}
 
-post_install() {
-	xbps-fetch ${_licenseUrl} -o google-chrome-eula.html
-	cat google-chrome-eula.html | html2text >> google-chrome-eula.md
 	vlicense google-chrome-eula.md
 }

From 200e5d7806825ba82cf849604d0861712b428e67 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:33:49 -0500
Subject: [PATCH 10/10] google-earth-pro: don't manually extract deb

---
 srcpkgs/google-earth-pro/template | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/google-earth-pro/template b/srcpkgs/google-earth-pro/template
index 6bb98082cb63..17cb77f7562f 100644
--- a/srcpkgs/google-earth-pro/template
+++ b/srcpkgs/google-earth-pro/template
@@ -4,40 +4,32 @@ version=7.3.4.8738
 revision=1
 archs="x86_64"
 depends="alsa-lib desktop-file-utils fontconfig glu gst-plugins-base1
- hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script qt5-sensors qt5-webkit"
+ hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script
+ qt5-sensors qt5-webkit"
 short_desc="Explore the far reaches of the world"
 maintainer="Jason Manley <jason@jasondavid.tv>"
 license="custom:Google"
 homepage="https://www.google.com/earth/index.html"
-distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/${pkgname}-stable/${pkgname}-stable_${version}-r0_amd64.deb"
+distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_amd64.deb"
 checksum=86a4f43c493a872224c76dea7cf107e0b22a1da109b4d1a43e5c82e05437790b
 repository=nonfree
 restricted=yes
 nostrip=yes
 
-post_fetch() {
-	mkdir -p "$wrksrc"
-	cd "$wrksrc"
+post_extract() {
 	$XBPS_FETCH_CMD https://www.google.com/intl/ALL/policies/terms/index.html>Google-Terms-of-Service.html \
 		https://www.google.com/help/terms_maps.html>Google-Earth-Additional-Terms-of-Service.html \
 		https://www.google.com/help/legalnotices_maps.html>Legal-Notices-for-Google-Earth-and-Google-Earth-APIs.html \
 		https://www.google.com/intl/ALL/policies/privacy/index.html>Google-Privacy-Policy.html
-	rm {index.html,legalnotices_maps.html,terms_maps.html}
-}
-
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-stable_${version}-r0_amd64.deb
-	bsdtar xf data.tar.xz
+	rm index.html legalnotices_maps.html terms_maps.html
 }
 
 do_install() {
-	vmkdir opt/google
-	vcopy opt/google/earth opt/google
-
-	vmkdir usr/bin
-	ln -s /opt/google/earth/pro/googleearth ${DESTDIR}/usr/bin/${pkgname}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
-	vinstall opt/google/earth/pro/${pkgname}.desktop 644 usr/share/applications
+	vinstall opt/google/earth/pro/google-earth-pro.desktop 644 usr/share/applications
 
 	for i in 16 22 24 32 48 64 128 256; do
 		vinstall opt/google/earth/pro/product_logo_${i}.png 644 \
@@ -51,6 +43,6 @@ do_install() {
 			vlicense ${i}
 	done
 
-	sed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
+	vsed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
 		${DESTDIR}/opt/google/earth/pro/googleearth
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (5 preceding siblings ...)
  2022-11-10  9:34 ` classabbyamp
@ 2022-11-11  8:03 ` classabbyamp
  2022-11-11  8:04 ` classabbyamp
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-11  8:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 648 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

TODO: convert all deb packages to use this isntead of overriding do_extract or build_style=fetch or something


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 36479 bytes --]

From bcd4e4298611bbea5f745983bafad7a422494cdb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 01/23] common/hooks/do-extract/00-distfiles.sh: support deb
 files

---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 2f90c21e906bc3764ca1b608748f2e276fea9129 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 02/23] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From 2f825ed24ba2f48d09521d79b43a5ca7f0cbf77c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 03/23] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 36 ++++++++++++--------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..3b8ad08ad328 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -3,8 +3,6 @@ pkgname=brother-brscan3
 version=0.2.13
 revision=2
 archs="i686 x86_64"
-create_wrksrc=yes
-hostmakedepends="tar"
 makedepends="sane-devel curl"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
@@ -27,27 +25,6 @@ elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -64,3 +41,16 @@ post_extract() {
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
 }
+
+do_install() {
+	vinstall ${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall ${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
+}

From 37990f7d373219a9d78ed5c25d6189b4d3828b72 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 04/23] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..8027b7c386e7 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-cupswrapper
 version=1.1.3
 revision=8
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="brother-dcp197c-lpr cups"
 short_desc="CUPS wrapper driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,13 +12,9 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vmkdir /opt
+	vcopy brother /opt
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From 9e885ec22188fc86cb5024865214b408957d5ac5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 05/23] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

From af5614f6f9ec5f3e1d7c6d7174896be23cceb6c4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:42:12 -0500
Subject: [PATCH 06/23] clearlooks-phenix-darkpurpy-theme: don't manually
 extract deb

---
 srcpkgs/clearlooks-phenix-darkpurpy-theme/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
index bd641d81ca43..14fbe69751d2 100644
--- a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
+++ b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
@@ -3,7 +3,6 @@ pkgname=clearlooks-phenix-darkpurpy-theme
 version=7.0.2
 revision=2
 _devuan_rel="1+devuan2.0"
-build_style=fetch
 depends="gnome-themes-standard gtk-engine-murrine gtk2-engines"
 short_desc="Dark-purpified GTK3 port of Clearlooks theme"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,8 +12,6 @@ distfiles="http://packages.devuan.org/devuan/pool/main/c/${pkgname}/${pkgname}_$
 checksum=6b3dd568cb1ee37c5758ef55338b2b8784e7409cb2239a5d4b53de7af2584970
 
 do_install() {
-	bsdtar xf ${pkgname}_${version}-${_devuan_rel}_all.deb
-	bsdtar xf data.tar.xz
-	vmkdir usr/share/themes
-	vcopy usr/share/themes/Clearlooks-Phenix-DarkPurpy usr/share/themes
+	vmkdir usr/share
+	vcopy usr/share/themes usr/share
 }

From 4b1ef407bf99b878572fcabfd920d4667ae42347 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:52:20 -0500
Subject: [PATCH 07/23] debootstrap: don't manually extract deb

---
 srcpkgs/debootstrap/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index ab7dac04cba9..e27c8b6c8662 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -2,13 +2,12 @@
 pkgname=debootstrap
 version=1.0.128+nmu2
 revision=1
-build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
 short_desc="Bootstrap a basic Debian system"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
-distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
+distfiles="${DEBIAN_SITE}/main/d/debootstrap/debootstrap_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
 checksum="284fd2a38bd3522bfaa475540d8c622dde29e465b3439223c950023c5a45df60
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
@@ -25,12 +24,19 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="please add your architecture";;
 esac
 
+post_extract() {
+	for x in bullseye buster removed stretch; do
+		rm usr/share/keyrings/debian-archive-$x-*
+	done
+	rm -r usr/share/doc/debian-archive-keyring
+
+	mv usr/sbin usr/bin
+	echo ${_debarch} > usr/share/debootstrap/arch
+}
+
 do_install() {
-	bsdtar xOf ${pkgname}_${version}_all.deb data.tar.gz | bsdtar xvzf - -C ${DESTDIR}
-	bsdtar xOf debian-archive-keyring_2021.1.1_all.deb data.tar.xz | bsdtar xvJf - -C ${DESTDIR} ./usr/share/keyrings/debian-archive-keyring.gpg
-	mv ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin
+	vcopy usr /
 	sed -i 's|export PATH|export PATH="/usr/sbin:/sbin:/usr/bin:/bin"|' ${DESTDIR}/usr/bin/debootstrap
 	vlicense ${DESTDIR}/usr/share/doc/debootstrap/copyright LICENSE
 	rm ${DESTDIR}/usr/share/doc/debootstrap/copyright
-	echo ${_debarch} >${DESTDIR}/usr/share/debootstrap/arch
 }

From dfa4426b6677688ef5e7882e6ccedbb1f6fee450 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:55:39 -0500
Subject: [PATCH 08/23] fah: don't manually extract deb

---
 srcpkgs/fah/template | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/fah/template b/srcpkgs/fah/template
index 8fb277fef313..d25877761daf 100644
--- a/srcpkgs/fah/template
+++ b/srcpkgs/fah/template
@@ -22,22 +22,12 @@ system_accounts="_fah"
 _fah_homedir="/usr/libexec/_fah"
 _fah_descr="Folding@Home user"
 
-do_extract() {
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahclient_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahcontrol_${version}-1_all.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahviewer_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-}
-
 do_install() {
-	vmkdir usr
-	vcopy ${wrksrc}/usr/* usr
+	vcopy usr /
 	vsv FAHClient
 	mv -v ${DESTDIR}/usr/lib/python2.7/{dist,site}-packages
 	vlicense ${DESTDIR}/usr/share/doc/fahclient/copyright LICENSE.FAHClient
 	vlicense ${DESTDIR}/usr/share/doc/fahviewer/LICENSE LICENSE.FAHViewer
-	# Example file to modfiy or cut+paste from for /etc/sv/FAHClient/config
+	# Example file to modify or cut+paste from for /etc/sv/FAHClient/config
 	vsconf ${FILESDIR}/config.example
 }

From f75fbb8f0a7e1eaaa0c38cc4c7ac6131e2085443 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:20:22 -0500
Subject: [PATCH 09/23] google-chrome: don't manually extract deb

also clean up the template a bit
---
 srcpkgs/google-chrome/template | 38 ++++++++++++++++------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 54988d2d7c9f..b11865fd0ad9 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -4,32 +4,34 @@ version=107.0.5304.110
 revision=1
 _channel=stable
 archs="x86_64"
-hostmakedepends="tar xz python3 python3-html2text python3-setuptools"
+hostmakedepends="python3-html2text python3-setuptools"
 depends="gtk+3"
 short_desc="Attempt at creating a safer, faster, and more stable browser"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="custom:chrome"
 homepage="https://www.google.com/chrome/"
-nostrip=yes
-restricted=yes
-repository=nonfree
-skiprdeps="/opt/google/chrome/libqt5_shim.so"
-
-_baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable"
-_filename="google-chrome-${_channel}_${version}-1_amd64.deb"
-_chromeUrl="${_baseUrl}/${_filename}"
-_licenseUrl="https://www.google.com/intl/en/chrome/terms/"
-
-distfiles="$_chromeUrl"
+distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
 checksum=52e6d1be974c36cb40469f03b128cf21b36359a05fdadbb2e0379fbb17ef341b
+_license_checksum=8023b18fb5118ef65d586363e53909861bd1a9676e5eb83c20fd3ac6e33ea0be
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/google-chrome-${version}/${_filename}
+skiprdeps="/opt/google/chrome/libqt5_shim.so"
+repository=nonfree
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	$XBPS_FETCH_CMD 'https://www.google.com/intl/en/chrome/terms/' -o google-chrome-eula.html
+	html2text google-chrome-eula.html | sed -n '/^#/,/^SEE/p' > google-chrome-eula.md
+	filesum="$(xbps-digest google-chrome-eula.md)"
+	if [ "$filesum" != "$_license_checksum" ]; then
+		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
+	fi
 }
 
 do_install() {
-	tar xf data.tar.xz -C ${DESTDIR}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
 	# Install the icons
 	for size in 16 24 32 48 64 128 256; do
@@ -47,10 +49,6 @@ do_install() {
 	# Remove the Debian/Ubuntu crontab
 	rm -rf ${DESTDIR}/etc
 	rm -rf ${DESTDIR}/opt/google/chrome/cron
-}
 
-post_install() {
-	xbps-fetch ${_licenseUrl} -o google-chrome-eula.html
-	cat google-chrome-eula.html | html2text >> google-chrome-eula.md
 	vlicense google-chrome-eula.md
 }

From 200e5d7806825ba82cf849604d0861712b428e67 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:33:49 -0500
Subject: [PATCH 10/23] google-earth-pro: don't manually extract deb

---
 srcpkgs/google-earth-pro/template | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/google-earth-pro/template b/srcpkgs/google-earth-pro/template
index 6bb98082cb63..17cb77f7562f 100644
--- a/srcpkgs/google-earth-pro/template
+++ b/srcpkgs/google-earth-pro/template
@@ -4,40 +4,32 @@ version=7.3.4.8738
 revision=1
 archs="x86_64"
 depends="alsa-lib desktop-file-utils fontconfig glu gst-plugins-base1
- hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script qt5-sensors qt5-webkit"
+ hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script
+ qt5-sensors qt5-webkit"
 short_desc="Explore the far reaches of the world"
 maintainer="Jason Manley <jason@jasondavid.tv>"
 license="custom:Google"
 homepage="https://www.google.com/earth/index.html"
-distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/${pkgname}-stable/${pkgname}-stable_${version}-r0_amd64.deb"
+distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_amd64.deb"
 checksum=86a4f43c493a872224c76dea7cf107e0b22a1da109b4d1a43e5c82e05437790b
 repository=nonfree
 restricted=yes
 nostrip=yes
 
-post_fetch() {
-	mkdir -p "$wrksrc"
-	cd "$wrksrc"
+post_extract() {
 	$XBPS_FETCH_CMD https://www.google.com/intl/ALL/policies/terms/index.html>Google-Terms-of-Service.html \
 		https://www.google.com/help/terms_maps.html>Google-Earth-Additional-Terms-of-Service.html \
 		https://www.google.com/help/legalnotices_maps.html>Legal-Notices-for-Google-Earth-and-Google-Earth-APIs.html \
 		https://www.google.com/intl/ALL/policies/privacy/index.html>Google-Privacy-Policy.html
-	rm {index.html,legalnotices_maps.html,terms_maps.html}
-}
-
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-stable_${version}-r0_amd64.deb
-	bsdtar xf data.tar.xz
+	rm index.html legalnotices_maps.html terms_maps.html
 }
 
 do_install() {
-	vmkdir opt/google
-	vcopy opt/google/earth opt/google
-
-	vmkdir usr/bin
-	ln -s /opt/google/earth/pro/googleearth ${DESTDIR}/usr/bin/${pkgname}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
-	vinstall opt/google/earth/pro/${pkgname}.desktop 644 usr/share/applications
+	vinstall opt/google/earth/pro/google-earth-pro.desktop 644 usr/share/applications
 
 	for i in 16 22 24 32 48 64 128 256; do
 		vinstall opt/google/earth/pro/product_logo_${i}.png 644 \
@@ -51,6 +43,6 @@ do_install() {
 			vlicense ${i}
 	done
 
-	sed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
+	vsed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
 		${DESTDIR}/opt/google/earth/pro/googleearth
 }

From add86236d21997f5bb49c87fe061cd1b2657be10 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 13:51:42 -0500
Subject: [PATCH 11/23] helden-software: don't manually extract deb

---
 srcpkgs/helden-software/template | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/helden-software/template b/srcpkgs/helden-software/template
index 77850de45887..90aedf822551 100644
--- a/srcpkgs/helden-software/template
+++ b/srcpkgs/helden-software/template
@@ -2,37 +2,25 @@
 pkgname=helden-software
 version=5.5.3
 revision=1
-_ver="${version}-0_all"
-_filename="${pkgname}_${_ver}.deb"
-create_wrksrc=yes
-build_style=fetch
+# create_wrksrc=yes
 depends="openjdk-jre"
 short_desc="Character generator for the Pen&Paper RPG DSA"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="custom:Proprietary"
 homepage="https://www.helden-software.de/"
-distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/${_filename}"
+distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/helden-software_${version}-0_all.deb"
 checksum=4bc08118ae1e78942bea543338de1ada17c21ebdb4b7f9e108910df0ba815a04
 repository="nonfree"
 restricted="yes"
 
-post_extract() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
-	vmkdir usr/lib/helden-software
-	vmkdir usr/share/applications
-	vmkdir usr/share/icons
-	vmkdir etc/default
+	vcopy etc /
 
 	vlicense usr/share/doc/helden-software/copyright
 
 	vbin usr/bin/helden-software
 
-	vcopy usr/share/icons/* usr/share/icons
-	vcopy usr/lib/heldensoftware/helden5.jar usr/lib/helden-software/helden5.jar
-	vcopy etc/default/helden-software etc/default/helden-software
-	vcopy usr/share/applications/HeldenSoftware.desktop usr/share/applications/HeldenSoftware.desktop
+	vcopy usr/lib usr
+	vcopy usr/share/icons usr/share
+	vcopy usr/share/applications usr/share
 }

From 896eec82119e7236c3a396e42341750c2c8f0262 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 15:14:39 -0500
Subject: [PATCH 12/23] msbuild-bin: don't manually extract deb

---
 srcpkgs/msbuild-bin/template | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/msbuild-bin/template b/srcpkgs/msbuild-bin/template
index e5332b295954..e7b352fae955 100644
--- a/srcpkgs/msbuild-bin/template
+++ b/srcpkgs/msbuild-bin/template
@@ -3,7 +3,6 @@ _xamarin_rel="xamarinxplat.2021.05.26.14.00-0xamarin2+ubuntu2004b1"
 pkgname=msbuild-bin
 version=16.10.1
 revision=1
-build_style=fetch
 depends="mono"
 short_desc="Xamarin/Mono fork of the Microsoft Build system"
 maintainer="Aloz1 <kno0001@gmail.com>"
@@ -12,13 +11,8 @@ homepage="https://github.com/mono/msbuild"
 distfiles="http://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_${version}+${_xamarin_rel}_all.deb"
 checksum=32f1eba1c2df67bc55920cd45ce3689c32a5c705ae01fd7ead52ca180221b469
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/msbuild-bin-${version}/msbuild_${version}+${_xamarin_rel}_all.deb
-	bsdtar xf data.tar.xz
-}
-
 do_install() {
-	vbin usr/bin/msbuild
-	vcopy usr/lib usr
-	vlicense usr/share/doc/msbuild/copyright
+	vbin bin/msbuild
+	vcopy lib usr
+	vlicense share/doc/msbuild/copyright
 }

From e4f5ee39895e5f8e79c1fcb83297628c6611f2fd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 01:58:19 -0500
Subject: [PATCH 13/23] openbazaar: don't manually extract deb

---
 srcpkgs/openbazaar/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/openbazaar/template b/srcpkgs/openbazaar/template
index 00103d221bf6..f1f8d85de9fd 100644
--- a/srcpkgs/openbazaar/template
+++ b/srcpkgs/openbazaar/template
@@ -3,7 +3,7 @@ pkgname=openbazaar
 version=1.1.13
 revision=2
 archs="i686 x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="nodejs"
 short_desc="P2P Distributed marketplace"
 maintainer="ananteris <ananteris@protonmail.ch>"
@@ -22,11 +22,11 @@ case "${XBPS_TARGET_MACHINE}" in
 		;;
 esac
 
-distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/${pkgname}_${version}_${_debarch}.deb"
+distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/openbazaar_${version}_${_debarch}.deb"
 
 do_install() {
-	ar p ${pkgname}_${version}_${_debarch}.deb data.tar.xz | bsdtar xvf - -C ${DESTDIR}
-	vlicense ${DESTDIR}/usr/share/openbazaar/LICENSE
+	vcopy usr /
+	vlicense usr/share/openbazaar/LICENSE
 	vmkdir usr/lib/openbazaar/resources
 	mv -v ${DESTDIR}/usr/share/openbazaar/resources/OpenBazaar-Server \
 		${DESTDIR}/usr/lib/openbazaar/resources

From 924a438f3914059155f86a457416f908a2ef03fa Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:12:21 -0500
Subject: [PATCH 14/23] parsec: don't manually extract deb

also appease xlint
---
 srcpkgs/parsec/template | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/parsec/template b/srcpkgs/parsec/template
index 0a40b877ac47..11ef59ee2fea 100644
--- a/srcpkgs/parsec/template
+++ b/srcpkgs/parsec/template
@@ -3,24 +3,23 @@ pkgname=parsec
 version=150.28
 revision=2
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="libgcc virtual?libGL libSM libsndio libstdc++ libX11 libXxf86vm"
 short_desc="Low latency proprietary game streaming application"
 maintainer="Kozova1 <mug66kk@gmail.com>"
-license="Proprietary"
-homepage="https://parsecgaming.com"
+license="custom:Proprietary"
+homepage="https://parsec.app"
 distfiles="https://s3.amazonaws.com/parsec-build/package/parsec-linux.deb"
 checksum=0c7207f419377fc35e30448acd00d8701300ac5a44936ac6d87a468c9afccdc1
 nopie=yes
 restricted=yes
 
-do_extract() {
-	ar x "${XBPS_SRCDISTDIR}/${pkgname}-${version}/parsec-linux.deb"
-}
-
 do_install() {
-	bsdtar xf "data.tar.xz" -C ${DESTDIR}
+	vcopy usr /
 	vmkdir usr/lib/parsec
 	mv ${DESTDIR}/usr/share/parsec/skel/parsecd-150-28.so ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so
 	ln -rs ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so ${DESTDIR}/usr/share/parsec/skel/
+
+	echo 'see https://unity.com/legal/parsec-additional-terms' > LICENSE
+	vlicense LICENSE
 }

From 4c6cbd07199befa77f7964e3928201dc5e4eb755 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:20:38 -0500
Subject: [PATCH 15/23] plex-media-server: don't manually extract deb

---
 srcpkgs/plex-media-server/template | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/srcpkgs/plex-media-server/template b/srcpkgs/plex-media-server/template
index 981a468fb279..c6e211c7c17c 100644
--- a/srcpkgs/plex-media-server/template
+++ b/srcpkgs/plex-media-server/template
@@ -4,7 +4,6 @@ version=1.15.3.876
 revision=4
 _suffix=ad6e39743
 archs="i686 x86_64 armv7 aarch64"
-create_wrksrc=yes
 hostmakedepends="tar xz"
 short_desc="Plex Media Server"
 maintainer="Anachron <gith@cron.world>"
@@ -40,10 +39,7 @@ nopie_files="/usr/lib/plexmediaserver/Plex DLNA Server"
 
 make_dirs="/var/plexmediaserver 0755 _plex _plex"
 
-do_extract() {
-	fn="${distfiles##*/}"
-	ar x "${XBPS_SRCDISTDIR}/${pkgname}-${version}/${fn}"
-	tar xf data.tar.xz
+post_extract() {
 	mv usr/{s,}bin
 	cp "${FILESDIR}/default" etc/default/plexmediaserver
 	cp "${FILESDIR}/start_pms" usr/bin/start_pms

From b01d9776e961d674723c5c38e3962606be536462 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:22:16 -0500
Subject: [PATCH 16/23] protonmail-bridge: don't manually extract deb

---
 srcpkgs/protonmail-bridge/template | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/protonmail-bridge/template b/srcpkgs/protonmail-bridge/template
index b690d2a7d6e8..e56e1faaced6 100644
--- a/srcpkgs/protonmail-bridge/template
+++ b/srcpkgs/protonmail-bridge/template
@@ -3,7 +3,7 @@ pkgname=protonmail-bridge
 version=2.1.3
 revision=1
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="desktop-file-utils"
 short_desc="ProtonMail Bridge for use with E-mail software"
 maintainer="Rich G <rich@richgannon.net>"
@@ -17,7 +17,5 @@ noverifyrdeps=yes
 nopie=yes
 
 do_install() {
-	ar x protonmail-bridge_${version}-1_amd64.deb data.tar.gz
-	bsdtar xpvf data.tar.gz
-	cp -r usr ${DESTDIR}
+	vcopy usr /
 }

From 9dc3f883cb8ffd6a54f0f8e0c46b30571e0236c2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:23:09 -0500
Subject: [PATCH 17/23] fixup! plex-media-server: don't manually extract deb

---
 srcpkgs/plex-media-server/template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/srcpkgs/plex-media-server/template b/srcpkgs/plex-media-server/template
index c6e211c7c17c..0fa0edc14bc3 100644
--- a/srcpkgs/plex-media-server/template
+++ b/srcpkgs/plex-media-server/template
@@ -4,7 +4,6 @@ version=1.15.3.876
 revision=4
 _suffix=ad6e39743
 archs="i686 x86_64 armv7 aarch64"
-hostmakedepends="tar xz"
 short_desc="Plex Media Server"
 maintainer="Anachron <gith@cron.world>"
 license="custom:Proprietary"

From f3e599c72825f5a812d5820ff5c05912fd63389a Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:28:04 -0500
Subject: [PATCH 18/23] slack-desktop: don't manually extract deb

---
 srcpkgs/slack-desktop/template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/srcpkgs/slack-desktop/template b/srcpkgs/slack-desktop/template
index 933224663f29..eda55b04868f 100644
--- a/srcpkgs/slack-desktop/template
+++ b/srcpkgs/slack-desktop/template
@@ -3,7 +3,6 @@ pkgname=slack-desktop
 version=4.29.144
 revision=1
 archs="x86_64"
-hostmakedepends="tar xz"
 depends="xdg-utils"
 short_desc="Messaging app for teams"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -15,11 +14,6 @@ restricted=yes
 repository="nonfree"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-${version}-amd64.deb
-	tar xf data.tar.xz
-}
-
 do_install() {
 	vlicense usr/share/doc/slack-desktop/OPEN_SOURCE_LICENSE_ATTRIBUTIONS
 	vinstall usr/share/applications/slack.desktop 644 usr/share/applications

From 133b697c8cc212b63544add5d35a1fafac5485fa Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:38:03 -0500
Subject: [PATCH 19/23] spotify: don't manually extract deb

---
 srcpkgs/spotify/template | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/srcpkgs/spotify/template b/srcpkgs/spotify/template
index faf00539da70..d6cd4480b73d 100644
--- a/srcpkgs/spotify/template
+++ b/srcpkgs/spotify/template
@@ -2,18 +2,15 @@
 pkgname=spotify
 version=1.1.84
 revision=2
-_ver="${version}.716.gc5f8b819_amd64"
-_filename="spotify-client_${_ver}.deb"
 archs="x86_64"
 create_wrksrc=yes
-build_style=fetch
 hostmakedepends="curl w3m libcurl"
 depends="libcurl"
 short_desc="Proprietary music streaming client"
 maintainer="Stefan Mühlinghaus <jazzman@alphabreed.com>"
 license="custom:Proprietary"
 homepage="https://www.spotify.com"
-distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/${_filename}"
+distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}.716.gc5f8b819_amd64.deb"
 checksum=08e6b2666dc2a39624890e553a3046d05ecebe17bcc2fe930d49314b2fb812c7
 _license_checksum=4465d0bba5deb87866184b04ba76604cd93561c0dc9cd21cacdf5b0295bdae3a
 repository=nonfree
@@ -31,11 +28,6 @@ post_extract() {
 	fi
 }
 
-do_build() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
 	vbin "${FILESDIR}/spotify"
 

From 0674f4178d81f12e627f33a30b8ae868aa31cbd2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:39:42 -0500
Subject: [PATCH 20/23] teams-bin: don't manually extract deb

---
 srcpkgs/teams-bin/template | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/srcpkgs/teams-bin/template b/srcpkgs/teams-bin/template
index d5825ca74d89..ccb1db96ee8a 100644
--- a/srcpkgs/teams-bin/template
+++ b/srcpkgs/teams-bin/template
@@ -3,20 +3,16 @@ pkgname=teams-bin
 version=1.5.00.23861
 revision=1
 archs="x86_64"
+create_wrksrc=yes
 short_desc="Official Microsoft Teams client"
 maintainer="Piraty <piraty1@inbox.ru>"
 license="custom:Proprietary"
 homepage="https://teams.microsoft.com/downloads"
 distfiles="https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb"
 checksum=87462709e257fff9784de809559b5abd5dc7af18d8505d856b92a66989995bc1
-
 repository=nonfree
 restricted=yes
 
-do_extract() {
-	ar p "${XBPS_SRCDISTDIR}/${pkgname}-${version}/teams_${version}_amd64.deb" data.tar.xz | bsdtar --extract --xz -f - -C .
-}
-
 do_install() {
 	# use our simple wrapper instead of the provided one
 	vbin ${FILESDIR}/teams-wrapper.sh teams
@@ -32,9 +28,7 @@ do_install() {
 	vlicense usr/share/teams/resources/ThirdPartyNotice.txt
 	vlicense usr/share/teams/LICENSE
 	vlicense usr/share/teams/LICENSES.chromium.html
-}
 
-post_install() {
 	# purge bundled libraries, but keep those not provided by Void
 	mkdir libsave
 	for lib in libffmpeg.so; do

From 67b4831321fa5d806dbb36da94680ccf247ac282 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:42:32 -0500
Subject: [PATCH 21/23] vivaldi: don't manually extract deb

---
 srcpkgs/vivaldi/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/vivaldi/template b/srcpkgs/vivaldi/template
index bb11248156c5..d550cbde9a5d 100644
--- a/srcpkgs/vivaldi/template
+++ b/srcpkgs/vivaldi/template
@@ -19,9 +19,8 @@ repository=nonfree
 restricted=yes
 nostrip=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/vivaldi-stable_${version}-${_release}_amd64.deb
-	bsdtar xf data.tar.xz --exclude={./etc,./opt/vivaldi/cron}
+post_extract() {
+	rm -r etc opt/vivaldi/cron
 }
 
 do_install() {

From 608049518e42541f35e1f016093ee4ef315e0be0 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:48:57 -0500
Subject: [PATCH 22/23] xkb-qwerty-fr: don't manually extract deb

---
 srcpkgs/xkb-qwerty-fr/template | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/xkb-qwerty-fr/template b/srcpkgs/xkb-qwerty-fr/template
index 18c2798cb3e5..d265dd828894 100644
--- a/srcpkgs/xkb-qwerty-fr/template
+++ b/srcpkgs/xkb-qwerty-fr/template
@@ -2,19 +2,16 @@
 pkgname=xkb-qwerty-fr
 version=0.5
 revision=2
+create_wrksrc=yes
 short_desc="French qwerty X11 keymap"
 maintainer="Franklin Delehelle <franklin.delehelle@odena.eu>"
 license="GPL-2.0-or-later"
 homepage="http://marin.jb.free.fr/qwerty-fr/"
-distfiles="http://marin.jb.free.fr/qwerty-fr/${pkgname}_${version}_all.deb"
+distfiles="http://marin.jb.free.fr/qwerty-fr/xkb-qwerty-fr_${version}_all.deb"
 checksum=03fc6b72b62fb6661e5671bc3e500934ed9aa457159141ef02d989616276ef64
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}_${version}_all.deb
-	bsdtar xvf data.tar.gz
-}
 do_install() {
 	rm usr/share/doc/xkb-qwerty-fr/copyright
 	rm usr/share/doc/xkb-qwerty-fr/changelog.gz
-	vcopy usr usr
+	vcopy usr /
 }

From 853d9aadd521021c7049bd2f0f6dd3ac857f3dfc Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 03:01:14 -0500
Subject: [PATCH 23/23] yandex-disk: update to 0.1.6.1080

don't manually extract deb
---
 srcpkgs/yandex-disk/template | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/yandex-disk/template b/srcpkgs/yandex-disk/template
index 743502441ba5..920677ccbf7f 100644
--- a/srcpkgs/yandex-disk/template
+++ b/srcpkgs/yandex-disk/template
@@ -1,6 +1,6 @@
 # Template file for 'yandex-disk'
 pkgname=yandex-disk
-version=0.1.6.1074
+version=0.1.6.1080
 revision=1
 archs="i686 x86_64"
 short_desc="Console client for Yandex.Disk"
@@ -12,27 +12,21 @@ restricted=yes
 nostrip_files=yandex-disk
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
-	debpkgid="${pkgname}_${version}_amd64.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=dddc57d2dbb1a68d8aef67450d138a9b7c7975438c10b6bbf5a0214e7fd47ecd
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_amd64.deb"
+	checksum=47ba503b4dfccecc824386d67d686abe4b5356b8b546e48fce8811b5fa88a718
 else
-	debpkgid="${pkgname}_${version}_i386.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=b0b0d25a966c1c48aef87bb5bceeb41d2150859cb64896fe07c765ad73bdf242
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_i386.deb"
+	checksum=9d94d0036e22509950b2acceaa9520f36d1370256d2f9b56d7696f9ff09e249b
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${debpkgid}
-	bsdtar xzpvf data.tar.gz
-	gunzip usr/share/man/man1/yandex-disk.1.gz
+post_patch() {
+	vsed -e "s/^\(have.*\)/\#\1/" -i etc/bash_completion.d/yandex-disk-completion.bash
 }
 
 do_install() {
 	vbin usr/bin/yandex-disk
 	vlicense usr/share/doc/yandex-disk/copyright
-	vman usr/share/man/man1/yandex-disk.1
+	vcopy usr/share/man usr/share
 	vcopy usr/share/locale usr/share
-	install -m644 -D etc/bash_completion.d/yandex-disk-completion.bash \
-		${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
-	vsed -e "s/^\(have.*\)/\#\1/" -i ${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
+	vcompletion etc/bash_completion.d/yandex-disk-completion.bash bash
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (6 preceding siblings ...)
  2022-11-11  8:03 ` classabbyamp
@ 2022-11-11  8:04 ` classabbyamp
  2022-11-11  8:16 ` [PR PATCH] [Updated] " classabbyamp
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-11  8:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 299 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/40405#issuecomment-1311361870

Comment:
had to update yandex-disk due to the old version's distfile no longer existing upstream. seems to work from my basic testing but I don't have an account

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (7 preceding siblings ...)
  2022-11-11  8:04 ` classabbyamp
@ 2022-11-11  8:16 ` classabbyamp
  2022-11-11  9:03 ` [PR REVIEW] " sgn
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-11  8:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 648 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

TODO: convert all deb packages to use this isntead of overriding do_extract or build_style=fetch or something


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 35657 bytes --]

From 0ad761b0c1d8938de552a7ad8729d813a73e0a24 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 01/22] common/hooks/do-extract/00-distfiles.sh: support deb
 files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 02dc33c67f51a68330c622d620c772e92b5822fd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 02/22] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From 0191bf66a95e4f348d501769dd85089c0ebf2676 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 03/22] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 38 +++++++++++++-------------------
 1 file changed, 15 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..fa7af7602882 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -4,8 +4,8 @@ version=0.2.13
 revision=2
 archs="i686 x86_64"
 create_wrksrc=yes
-hostmakedepends="tar"
-makedepends="sane-devel curl"
+hostmakedepends="curl"
+makedepends="sane-devel"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -27,27 +27,6 @@ elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -64,3 +43,16 @@ post_extract() {
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
 }
+
+do_install() {
+	vinstall usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy usr/local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
+}

From e485ec15cce61a9a0f0ece9c424dfc77cc221105 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 04/22] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..f428a2ff2ff2 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -13,13 +13,8 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From 9b63b4723d3e82b4154770d8e6d7394aa26e2a6f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 05/22] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

From 77ae7c2165684244d0ae75fc7fcd808b8f90480c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:42:12 -0500
Subject: [PATCH 06/22] clearlooks-phenix-darkpurpy-theme: don't manually
 extract deb

---
 srcpkgs/clearlooks-phenix-darkpurpy-theme/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
index bd641d81ca43..14fbe69751d2 100644
--- a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
+++ b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
@@ -3,7 +3,6 @@ pkgname=clearlooks-phenix-darkpurpy-theme
 version=7.0.2
 revision=2
 _devuan_rel="1+devuan2.0"
-build_style=fetch
 depends="gnome-themes-standard gtk-engine-murrine gtk2-engines"
 short_desc="Dark-purpified GTK3 port of Clearlooks theme"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,8 +12,6 @@ distfiles="http://packages.devuan.org/devuan/pool/main/c/${pkgname}/${pkgname}_$
 checksum=6b3dd568cb1ee37c5758ef55338b2b8784e7409cb2239a5d4b53de7af2584970
 
 do_install() {
-	bsdtar xf ${pkgname}_${version}-${_devuan_rel}_all.deb
-	bsdtar xf data.tar.xz
-	vmkdir usr/share/themes
-	vcopy usr/share/themes/Clearlooks-Phenix-DarkPurpy usr/share/themes
+	vmkdir usr/share
+	vcopy usr/share/themes usr/share
 }

From d68c6210e57e3dea98dee2b2b6bf8577873d2402 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:52:20 -0500
Subject: [PATCH 07/22] debootstrap: don't manually extract deb

---
 srcpkgs/debootstrap/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index ab7dac04cba9..e27c8b6c8662 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -2,13 +2,12 @@
 pkgname=debootstrap
 version=1.0.128+nmu2
 revision=1
-build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
 short_desc="Bootstrap a basic Debian system"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
-distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
+distfiles="${DEBIAN_SITE}/main/d/debootstrap/debootstrap_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
 checksum="284fd2a38bd3522bfaa475540d8c622dde29e465b3439223c950023c5a45df60
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
@@ -25,12 +24,19 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="please add your architecture";;
 esac
 
+post_extract() {
+	for x in bullseye buster removed stretch; do
+		rm usr/share/keyrings/debian-archive-$x-*
+	done
+	rm -r usr/share/doc/debian-archive-keyring
+
+	mv usr/sbin usr/bin
+	echo ${_debarch} > usr/share/debootstrap/arch
+}
+
 do_install() {
-	bsdtar xOf ${pkgname}_${version}_all.deb data.tar.gz | bsdtar xvzf - -C ${DESTDIR}
-	bsdtar xOf debian-archive-keyring_2021.1.1_all.deb data.tar.xz | bsdtar xvJf - -C ${DESTDIR} ./usr/share/keyrings/debian-archive-keyring.gpg
-	mv ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin
+	vcopy usr /
 	sed -i 's|export PATH|export PATH="/usr/sbin:/sbin:/usr/bin:/bin"|' ${DESTDIR}/usr/bin/debootstrap
 	vlicense ${DESTDIR}/usr/share/doc/debootstrap/copyright LICENSE
 	rm ${DESTDIR}/usr/share/doc/debootstrap/copyright
-	echo ${_debarch} >${DESTDIR}/usr/share/debootstrap/arch
 }

From f27d6c0dfdd529d2f203bc7779201ae07352aec7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:55:39 -0500
Subject: [PATCH 08/22] fah: don't manually extract deb

---
 srcpkgs/fah/template | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/fah/template b/srcpkgs/fah/template
index 8fb277fef313..d25877761daf 100644
--- a/srcpkgs/fah/template
+++ b/srcpkgs/fah/template
@@ -22,22 +22,12 @@ system_accounts="_fah"
 _fah_homedir="/usr/libexec/_fah"
 _fah_descr="Folding@Home user"
 
-do_extract() {
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahclient_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahcontrol_${version}-1_all.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahviewer_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-}
-
 do_install() {
-	vmkdir usr
-	vcopy ${wrksrc}/usr/* usr
+	vcopy usr /
 	vsv FAHClient
 	mv -v ${DESTDIR}/usr/lib/python2.7/{dist,site}-packages
 	vlicense ${DESTDIR}/usr/share/doc/fahclient/copyright LICENSE.FAHClient
 	vlicense ${DESTDIR}/usr/share/doc/fahviewer/LICENSE LICENSE.FAHViewer
-	# Example file to modfiy or cut+paste from for /etc/sv/FAHClient/config
+	# Example file to modify or cut+paste from for /etc/sv/FAHClient/config
 	vsconf ${FILESDIR}/config.example
 }

From 9a9cf2172e11721b4099e1df04f966194a5735f5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:20:22 -0500
Subject: [PATCH 09/22] google-chrome: don't manually extract deb

also clean up the template a bit
---
 srcpkgs/google-chrome/template | 38 ++++++++++++++++------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 54988d2d7c9f..b11865fd0ad9 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -4,32 +4,34 @@ version=107.0.5304.110
 revision=1
 _channel=stable
 archs="x86_64"
-hostmakedepends="tar xz python3 python3-html2text python3-setuptools"
+hostmakedepends="python3-html2text python3-setuptools"
 depends="gtk+3"
 short_desc="Attempt at creating a safer, faster, and more stable browser"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="custom:chrome"
 homepage="https://www.google.com/chrome/"
-nostrip=yes
-restricted=yes
-repository=nonfree
-skiprdeps="/opt/google/chrome/libqt5_shim.so"
-
-_baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable"
-_filename="google-chrome-${_channel}_${version}-1_amd64.deb"
-_chromeUrl="${_baseUrl}/${_filename}"
-_licenseUrl="https://www.google.com/intl/en/chrome/terms/"
-
-distfiles="$_chromeUrl"
+distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
 checksum=52e6d1be974c36cb40469f03b128cf21b36359a05fdadbb2e0379fbb17ef341b
+_license_checksum=8023b18fb5118ef65d586363e53909861bd1a9676e5eb83c20fd3ac6e33ea0be
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/google-chrome-${version}/${_filename}
+skiprdeps="/opt/google/chrome/libqt5_shim.so"
+repository=nonfree
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	$XBPS_FETCH_CMD 'https://www.google.com/intl/en/chrome/terms/' -o google-chrome-eula.html
+	html2text google-chrome-eula.html | sed -n '/^#/,/^SEE/p' > google-chrome-eula.md
+	filesum="$(xbps-digest google-chrome-eula.md)"
+	if [ "$filesum" != "$_license_checksum" ]; then
+		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
+	fi
 }
 
 do_install() {
-	tar xf data.tar.xz -C ${DESTDIR}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
 	# Install the icons
 	for size in 16 24 32 48 64 128 256; do
@@ -47,10 +49,6 @@ do_install() {
 	# Remove the Debian/Ubuntu crontab
 	rm -rf ${DESTDIR}/etc
 	rm -rf ${DESTDIR}/opt/google/chrome/cron
-}
 
-post_install() {
-	xbps-fetch ${_licenseUrl} -o google-chrome-eula.html
-	cat google-chrome-eula.html | html2text >> google-chrome-eula.md
 	vlicense google-chrome-eula.md
 }

From 512904b77500df6e00250aad8ba8afcd4d4e7f65 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:33:49 -0500
Subject: [PATCH 10/22] google-earth-pro: don't manually extract deb

---
 srcpkgs/google-earth-pro/template | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/google-earth-pro/template b/srcpkgs/google-earth-pro/template
index 6bb98082cb63..17cb77f7562f 100644
--- a/srcpkgs/google-earth-pro/template
+++ b/srcpkgs/google-earth-pro/template
@@ -4,40 +4,32 @@ version=7.3.4.8738
 revision=1
 archs="x86_64"
 depends="alsa-lib desktop-file-utils fontconfig glu gst-plugins-base1
- hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script qt5-sensors qt5-webkit"
+ hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script
+ qt5-sensors qt5-webkit"
 short_desc="Explore the far reaches of the world"
 maintainer="Jason Manley <jason@jasondavid.tv>"
 license="custom:Google"
 homepage="https://www.google.com/earth/index.html"
-distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/${pkgname}-stable/${pkgname}-stable_${version}-r0_amd64.deb"
+distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_amd64.deb"
 checksum=86a4f43c493a872224c76dea7cf107e0b22a1da109b4d1a43e5c82e05437790b
 repository=nonfree
 restricted=yes
 nostrip=yes
 
-post_fetch() {
-	mkdir -p "$wrksrc"
-	cd "$wrksrc"
+post_extract() {
 	$XBPS_FETCH_CMD https://www.google.com/intl/ALL/policies/terms/index.html>Google-Terms-of-Service.html \
 		https://www.google.com/help/terms_maps.html>Google-Earth-Additional-Terms-of-Service.html \
 		https://www.google.com/help/legalnotices_maps.html>Legal-Notices-for-Google-Earth-and-Google-Earth-APIs.html \
 		https://www.google.com/intl/ALL/policies/privacy/index.html>Google-Privacy-Policy.html
-	rm {index.html,legalnotices_maps.html,terms_maps.html}
-}
-
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-stable_${version}-r0_amd64.deb
-	bsdtar xf data.tar.xz
+	rm index.html legalnotices_maps.html terms_maps.html
 }
 
 do_install() {
-	vmkdir opt/google
-	vcopy opt/google/earth opt/google
-
-	vmkdir usr/bin
-	ln -s /opt/google/earth/pro/googleearth ${DESTDIR}/usr/bin/${pkgname}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
-	vinstall opt/google/earth/pro/${pkgname}.desktop 644 usr/share/applications
+	vinstall opt/google/earth/pro/google-earth-pro.desktop 644 usr/share/applications
 
 	for i in 16 22 24 32 48 64 128 256; do
 		vinstall opt/google/earth/pro/product_logo_${i}.png 644 \
@@ -51,6 +43,6 @@ do_install() {
 			vlicense ${i}
 	done
 
-	sed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
+	vsed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
 		${DESTDIR}/opt/google/earth/pro/googleearth
 }

From 1176b5098b1c2404803a777c449e86620ba0ba74 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 13:51:42 -0500
Subject: [PATCH 11/22] helden-software: don't manually extract deb

---
 srcpkgs/helden-software/template | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/helden-software/template b/srcpkgs/helden-software/template
index 77850de45887..90aedf822551 100644
--- a/srcpkgs/helden-software/template
+++ b/srcpkgs/helden-software/template
@@ -2,37 +2,25 @@
 pkgname=helden-software
 version=5.5.3
 revision=1
-_ver="${version}-0_all"
-_filename="${pkgname}_${_ver}.deb"
-create_wrksrc=yes
-build_style=fetch
+# create_wrksrc=yes
 depends="openjdk-jre"
 short_desc="Character generator for the Pen&Paper RPG DSA"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="custom:Proprietary"
 homepage="https://www.helden-software.de/"
-distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/${_filename}"
+distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/helden-software_${version}-0_all.deb"
 checksum=4bc08118ae1e78942bea543338de1ada17c21ebdb4b7f9e108910df0ba815a04
 repository="nonfree"
 restricted="yes"
 
-post_extract() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
-	vmkdir usr/lib/helden-software
-	vmkdir usr/share/applications
-	vmkdir usr/share/icons
-	vmkdir etc/default
+	vcopy etc /
 
 	vlicense usr/share/doc/helden-software/copyright
 
 	vbin usr/bin/helden-software
 
-	vcopy usr/share/icons/* usr/share/icons
-	vcopy usr/lib/heldensoftware/helden5.jar usr/lib/helden-software/helden5.jar
-	vcopy etc/default/helden-software etc/default/helden-software
-	vcopy usr/share/applications/HeldenSoftware.desktop usr/share/applications/HeldenSoftware.desktop
+	vcopy usr/lib usr
+	vcopy usr/share/icons usr/share
+	vcopy usr/share/applications usr/share
 }

From 4fe8a8907e18c26daf5dafcc285c9426693e7d96 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 15:14:39 -0500
Subject: [PATCH 12/22] msbuild-bin: don't manually extract deb

---
 srcpkgs/msbuild-bin/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/msbuild-bin/template b/srcpkgs/msbuild-bin/template
index e5332b295954..094f3a43d057 100644
--- a/srcpkgs/msbuild-bin/template
+++ b/srcpkgs/msbuild-bin/template
@@ -3,7 +3,7 @@ _xamarin_rel="xamarinxplat.2021.05.26.14.00-0xamarin2+ubuntu2004b1"
 pkgname=msbuild-bin
 version=16.10.1
 revision=1
-build_style=fetch
+create_wrksrc=yes
 depends="mono"
 short_desc="Xamarin/Mono fork of the Microsoft Build system"
 maintainer="Aloz1 <kno0001@gmail.com>"
@@ -12,13 +12,8 @@ homepage="https://github.com/mono/msbuild"
 distfiles="http://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_${version}+${_xamarin_rel}_all.deb"
 checksum=32f1eba1c2df67bc55920cd45ce3689c32a5c705ae01fd7ead52ca180221b469
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/msbuild-bin-${version}/msbuild_${version}+${_xamarin_rel}_all.deb
-	bsdtar xf data.tar.xz
-}
-
 do_install() {
 	vbin usr/bin/msbuild
-	vcopy usr/lib usr
+	vcopy usr/lib /usr
 	vlicense usr/share/doc/msbuild/copyright
 }

From 42f2f284275be40682b9430fcce486797fe699c7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 01:58:19 -0500
Subject: [PATCH 13/22] openbazaar: don't manually extract deb

---
 srcpkgs/openbazaar/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/openbazaar/template b/srcpkgs/openbazaar/template
index 00103d221bf6..f1f8d85de9fd 100644
--- a/srcpkgs/openbazaar/template
+++ b/srcpkgs/openbazaar/template
@@ -3,7 +3,7 @@ pkgname=openbazaar
 version=1.1.13
 revision=2
 archs="i686 x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="nodejs"
 short_desc="P2P Distributed marketplace"
 maintainer="ananteris <ananteris@protonmail.ch>"
@@ -22,11 +22,11 @@ case "${XBPS_TARGET_MACHINE}" in
 		;;
 esac
 
-distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/${pkgname}_${version}_${_debarch}.deb"
+distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/openbazaar_${version}_${_debarch}.deb"
 
 do_install() {
-	ar p ${pkgname}_${version}_${_debarch}.deb data.tar.xz | bsdtar xvf - -C ${DESTDIR}
-	vlicense ${DESTDIR}/usr/share/openbazaar/LICENSE
+	vcopy usr /
+	vlicense usr/share/openbazaar/LICENSE
 	vmkdir usr/lib/openbazaar/resources
 	mv -v ${DESTDIR}/usr/share/openbazaar/resources/OpenBazaar-Server \
 		${DESTDIR}/usr/lib/openbazaar/resources

From a19d4170c4df4589e1ab67c8f160c67f5f37a33e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:12:21 -0500
Subject: [PATCH 14/22] parsec: don't manually extract deb

also appease xlint
---
 srcpkgs/parsec/template | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/parsec/template b/srcpkgs/parsec/template
index 0a40b877ac47..26018c05a779 100644
--- a/srcpkgs/parsec/template
+++ b/srcpkgs/parsec/template
@@ -3,24 +3,23 @@ pkgname=parsec
 version=150.28
 revision=2
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="libgcc virtual?libGL libSM libsndio libstdc++ libX11 libXxf86vm"
 short_desc="Low latency proprietary game streaming application"
 maintainer="Kozova1 <mug66kk@gmail.com>"
-license="Proprietary"
-homepage="https://parsecgaming.com"
+license="custom:Proprietary"
+homepage="https://parsec.app"
 distfiles="https://s3.amazonaws.com/parsec-build/package/parsec-linux.deb"
 checksum=0c7207f419377fc35e30448acd00d8701300ac5a44936ac6d87a468c9afccdc1
 nopie=yes
 restricted=yes
 
-do_extract() {
-	ar x "${XBPS_SRCDISTDIR}/${pkgname}-${version}/parsec-linux.deb"
-}
-
 do_install() {
-	bsdtar xf "data.tar.xz" -C ${DESTDIR}
+	vcopy usr /
 	vmkdir usr/lib/parsec
 	mv ${DESTDIR}/usr/share/parsec/skel/parsecd-150-28.so ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so
 	ln -rs ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so ${DESTDIR}/usr/share/parsec/skel/
+
+	echo 'see https://unity.com/legal/parsec-additional-terms' > EULA
+	vlicense EULA
 }

From cdb123e253d55b8a9e6457239aca5f4579243ae6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:20:38 -0500
Subject: [PATCH 15/22] plex-media-server: don't manually extract deb

---
 srcpkgs/plex-media-server/template | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/srcpkgs/plex-media-server/template b/srcpkgs/plex-media-server/template
index 981a468fb279..0fa0edc14bc3 100644
--- a/srcpkgs/plex-media-server/template
+++ b/srcpkgs/plex-media-server/template
@@ -4,8 +4,6 @@ version=1.15.3.876
 revision=4
 _suffix=ad6e39743
 archs="i686 x86_64 armv7 aarch64"
-create_wrksrc=yes
-hostmakedepends="tar xz"
 short_desc="Plex Media Server"
 maintainer="Anachron <gith@cron.world>"
 license="custom:Proprietary"
@@ -40,10 +38,7 @@ nopie_files="/usr/lib/plexmediaserver/Plex DLNA Server"
 
 make_dirs="/var/plexmediaserver 0755 _plex _plex"
 
-do_extract() {
-	fn="${distfiles##*/}"
-	ar x "${XBPS_SRCDISTDIR}/${pkgname}-${version}/${fn}"
-	tar xf data.tar.xz
+post_extract() {
 	mv usr/{s,}bin
 	cp "${FILESDIR}/default" etc/default/plexmediaserver
 	cp "${FILESDIR}/start_pms" usr/bin/start_pms

From 88dd7ac265e97939f99d8e0900d3f47f90a299af Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:22:16 -0500
Subject: [PATCH 16/22] protonmail-bridge: don't manually extract deb

---
 srcpkgs/protonmail-bridge/template | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/protonmail-bridge/template b/srcpkgs/protonmail-bridge/template
index b690d2a7d6e8..e56e1faaced6 100644
--- a/srcpkgs/protonmail-bridge/template
+++ b/srcpkgs/protonmail-bridge/template
@@ -3,7 +3,7 @@ pkgname=protonmail-bridge
 version=2.1.3
 revision=1
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="desktop-file-utils"
 short_desc="ProtonMail Bridge for use with E-mail software"
 maintainer="Rich G <rich@richgannon.net>"
@@ -17,7 +17,5 @@ noverifyrdeps=yes
 nopie=yes
 
 do_install() {
-	ar x protonmail-bridge_${version}-1_amd64.deb data.tar.gz
-	bsdtar xpvf data.tar.gz
-	cp -r usr ${DESTDIR}
+	vcopy usr /
 }

From 0c722020c4f37d5f9c918ded729f70a15bf816a4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:28:04 -0500
Subject: [PATCH 17/22] slack-desktop: don't manually extract deb

---
 srcpkgs/slack-desktop/template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/srcpkgs/slack-desktop/template b/srcpkgs/slack-desktop/template
index 933224663f29..eda55b04868f 100644
--- a/srcpkgs/slack-desktop/template
+++ b/srcpkgs/slack-desktop/template
@@ -3,7 +3,6 @@ pkgname=slack-desktop
 version=4.29.144
 revision=1
 archs="x86_64"
-hostmakedepends="tar xz"
 depends="xdg-utils"
 short_desc="Messaging app for teams"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -15,11 +14,6 @@ restricted=yes
 repository="nonfree"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-${version}-amd64.deb
-	tar xf data.tar.xz
-}
-
 do_install() {
 	vlicense usr/share/doc/slack-desktop/OPEN_SOURCE_LICENSE_ATTRIBUTIONS
 	vinstall usr/share/applications/slack.desktop 644 usr/share/applications

From 877f10df3d8f3142cb1d92b3474b4e5190921c50 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:38:03 -0500
Subject: [PATCH 18/22] spotify: don't manually extract deb

---
 srcpkgs/spotify/template | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/srcpkgs/spotify/template b/srcpkgs/spotify/template
index faf00539da70..d6cd4480b73d 100644
--- a/srcpkgs/spotify/template
+++ b/srcpkgs/spotify/template
@@ -2,18 +2,15 @@
 pkgname=spotify
 version=1.1.84
 revision=2
-_ver="${version}.716.gc5f8b819_amd64"
-_filename="spotify-client_${_ver}.deb"
 archs="x86_64"
 create_wrksrc=yes
-build_style=fetch
 hostmakedepends="curl w3m libcurl"
 depends="libcurl"
 short_desc="Proprietary music streaming client"
 maintainer="Stefan Mühlinghaus <jazzman@alphabreed.com>"
 license="custom:Proprietary"
 homepage="https://www.spotify.com"
-distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/${_filename}"
+distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}.716.gc5f8b819_amd64.deb"
 checksum=08e6b2666dc2a39624890e553a3046d05ecebe17bcc2fe930d49314b2fb812c7
 _license_checksum=4465d0bba5deb87866184b04ba76604cd93561c0dc9cd21cacdf5b0295bdae3a
 repository=nonfree
@@ -31,11 +28,6 @@ post_extract() {
 	fi
 }
 
-do_build() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
 	vbin "${FILESDIR}/spotify"
 

From 7ef0eb315431d30f6febdb13ed6e3960632f7b48 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:39:42 -0500
Subject: [PATCH 19/22] teams-bin: don't manually extract deb

---
 srcpkgs/teams-bin/template | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/srcpkgs/teams-bin/template b/srcpkgs/teams-bin/template
index d5825ca74d89..ccb1db96ee8a 100644
--- a/srcpkgs/teams-bin/template
+++ b/srcpkgs/teams-bin/template
@@ -3,20 +3,16 @@ pkgname=teams-bin
 version=1.5.00.23861
 revision=1
 archs="x86_64"
+create_wrksrc=yes
 short_desc="Official Microsoft Teams client"
 maintainer="Piraty <piraty1@inbox.ru>"
 license="custom:Proprietary"
 homepage="https://teams.microsoft.com/downloads"
 distfiles="https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb"
 checksum=87462709e257fff9784de809559b5abd5dc7af18d8505d856b92a66989995bc1
-
 repository=nonfree
 restricted=yes
 
-do_extract() {
-	ar p "${XBPS_SRCDISTDIR}/${pkgname}-${version}/teams_${version}_amd64.deb" data.tar.xz | bsdtar --extract --xz -f - -C .
-}
-
 do_install() {
 	# use our simple wrapper instead of the provided one
 	vbin ${FILESDIR}/teams-wrapper.sh teams
@@ -32,9 +28,7 @@ do_install() {
 	vlicense usr/share/teams/resources/ThirdPartyNotice.txt
 	vlicense usr/share/teams/LICENSE
 	vlicense usr/share/teams/LICENSES.chromium.html
-}
 
-post_install() {
 	# purge bundled libraries, but keep those not provided by Void
 	mkdir libsave
 	for lib in libffmpeg.so; do

From a361342c437b0c7c6abad328049c6e649794bf67 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:42:32 -0500
Subject: [PATCH 20/22] vivaldi: don't manually extract deb

---
 srcpkgs/vivaldi/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/vivaldi/template b/srcpkgs/vivaldi/template
index bb11248156c5..d550cbde9a5d 100644
--- a/srcpkgs/vivaldi/template
+++ b/srcpkgs/vivaldi/template
@@ -19,9 +19,8 @@ repository=nonfree
 restricted=yes
 nostrip=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/vivaldi-stable_${version}-${_release}_amd64.deb
-	bsdtar xf data.tar.xz --exclude={./etc,./opt/vivaldi/cron}
+post_extract() {
+	rm -r etc opt/vivaldi/cron
 }
 
 do_install() {

From d10567d899e3f075f660547fe0c90375cfb1b4ff Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:48:57 -0500
Subject: [PATCH 21/22] xkb-qwerty-fr: don't manually extract deb

---
 srcpkgs/xkb-qwerty-fr/template | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/xkb-qwerty-fr/template b/srcpkgs/xkb-qwerty-fr/template
index 18c2798cb3e5..d265dd828894 100644
--- a/srcpkgs/xkb-qwerty-fr/template
+++ b/srcpkgs/xkb-qwerty-fr/template
@@ -2,19 +2,16 @@
 pkgname=xkb-qwerty-fr
 version=0.5
 revision=2
+create_wrksrc=yes
 short_desc="French qwerty X11 keymap"
 maintainer="Franklin Delehelle <franklin.delehelle@odena.eu>"
 license="GPL-2.0-or-later"
 homepage="http://marin.jb.free.fr/qwerty-fr/"
-distfiles="http://marin.jb.free.fr/qwerty-fr/${pkgname}_${version}_all.deb"
+distfiles="http://marin.jb.free.fr/qwerty-fr/xkb-qwerty-fr_${version}_all.deb"
 checksum=03fc6b72b62fb6661e5671bc3e500934ed9aa457159141ef02d989616276ef64
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}_${version}_all.deb
-	bsdtar xvf data.tar.gz
-}
 do_install() {
 	rm usr/share/doc/xkb-qwerty-fr/copyright
 	rm usr/share/doc/xkb-qwerty-fr/changelog.gz
-	vcopy usr usr
+	vcopy usr /
 }

From 615b080fe9d9126ad3ed9922fa31638114de05d8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 03:01:14 -0500
Subject: [PATCH 22/22] yandex-disk: update to 0.1.6.1080

don't manually extract deb
---
 srcpkgs/yandex-disk/template | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/yandex-disk/template b/srcpkgs/yandex-disk/template
index 743502441ba5..920677ccbf7f 100644
--- a/srcpkgs/yandex-disk/template
+++ b/srcpkgs/yandex-disk/template
@@ -1,6 +1,6 @@
 # Template file for 'yandex-disk'
 pkgname=yandex-disk
-version=0.1.6.1074
+version=0.1.6.1080
 revision=1
 archs="i686 x86_64"
 short_desc="Console client for Yandex.Disk"
@@ -12,27 +12,21 @@ restricted=yes
 nostrip_files=yandex-disk
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
-	debpkgid="${pkgname}_${version}_amd64.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=dddc57d2dbb1a68d8aef67450d138a9b7c7975438c10b6bbf5a0214e7fd47ecd
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_amd64.deb"
+	checksum=47ba503b4dfccecc824386d67d686abe4b5356b8b546e48fce8811b5fa88a718
 else
-	debpkgid="${pkgname}_${version}_i386.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=b0b0d25a966c1c48aef87bb5bceeb41d2150859cb64896fe07c765ad73bdf242
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_i386.deb"
+	checksum=9d94d0036e22509950b2acceaa9520f36d1370256d2f9b56d7696f9ff09e249b
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${debpkgid}
-	bsdtar xzpvf data.tar.gz
-	gunzip usr/share/man/man1/yandex-disk.1.gz
+post_patch() {
+	vsed -e "s/^\(have.*\)/\#\1/" -i etc/bash_completion.d/yandex-disk-completion.bash
 }
 
 do_install() {
 	vbin usr/bin/yandex-disk
 	vlicense usr/share/doc/yandex-disk/copyright
-	vman usr/share/man/man1/yandex-disk.1
+	vcopy usr/share/man usr/share
 	vcopy usr/share/locale usr/share
-	install -m644 -D etc/bash_completion.d/yandex-disk-completion.bash \
-		${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
-	vsed -e "s/^\(have.*\)/\#\1/" -i ${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
+	vcompletion etc/bash_completion.d/yandex-disk-completion.bash bash
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR REVIEW] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (8 preceding siblings ...)
  2022-11-11  8:16 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-11-11  9:03 ` sgn
  2022-11-11  9:03 ` sgn
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: sgn @ 2022-11-11  9:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 208 bytes --]

New review comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/40405#discussion_r1020004577

Comment:
We can remove `create_wrksrc=yes` above and `vcopy brother opt`?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR REVIEW] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (9 preceding siblings ...)
  2022-11-11  9:03 ` [PR REVIEW] " sgn
@ 2022-11-11  9:03 ` sgn
  2022-11-11 11:21 ` classabbyamp
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: sgn @ 2022-11-11  9:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 250 bytes --]

New review comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/40405#discussion_r1020003113

Comment:
Please remove `debpkgid`, move `mylibdir` into function. (Maybe `if [ -d lib64 ]; then mv lib64 lib; fi`)?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR REVIEW] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (10 preceding siblings ...)
  2022-11-11  9:03 ` sgn
@ 2022-11-11 11:21 ` classabbyamp
  2022-11-11 11:25 ` [PR PATCH] [Updated] " classabbyamp
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-11 11:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 219 bytes --]

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/40405#discussion_r1020129927

Comment:
I prefer having the create_wrksrc so I don't have to `vmkdir /opt`

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (11 preceding siblings ...)
  2022-11-11 11:21 ` classabbyamp
@ 2022-11-11 11:25 ` classabbyamp
  2022-11-17  2:42 ` classabbyamp
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-11 11:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 673 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES** (tested extraction/installation works for all packages with debs, packages generated are sane and are the same as before, except where deliberately changed)


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 36489 bytes --]

From 0ad761b0c1d8938de552a7ad8729d813a73e0a24 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 01/22] common/hooks/do-extract/00-distfiles.sh: support deb
 files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 02dc33c67f51a68330c622d620c772e92b5822fd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 02/22] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From fd9ce415776ebd046b398031e65b666a9e5acda5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 03/22] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 50 ++++++++++++++------------------
 1 file changed, 21 insertions(+), 29 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..e5aa0533b125 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -4,8 +4,8 @@ version=0.2.13
 revision=2
 archs="i686 x86_64"
 create_wrksrc=yes
-hostmakedepends="tar"
-makedepends="sane-devel curl"
+hostmakedepends="curl"
+makedepends="sane-devel"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -16,38 +16,13 @@ nodebug=yes
 _license_checksum=4ab8b9269a74377ee85458cc4dfbacfbf6d26665426572fe16f7102af214bd3c
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
-	debpkgid="1.amd64"
-	distfiles="https://download.brother.com/welcome/dlf006642/brscan3-${version}-${debpkgid}.deb"
+	distfiles="https://download.brother.com/welcome/dlf006642/brscan3-${version}-1.amd64.deb"
 	checksum="446adf531bf39032892e9504ce34b7bf889e0f8628c0732cebb3b83fafb327b8"
-	mylibdir="lib64"
 elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
-	debpkgid="1.i386"
-	distfiles="https://download.brother.com/welcome/dlf006641/brscan3-${version}-${debpkgid}.deb"
+	distfiles="https://download.brother.com/welcome/dlf006641/brscan3-${version}-1.i386.deb"
 	checksum="ad06665cac32035893f614d9305dabf73145af454f1aeb6b8b7c7fa2700fe2e6"
-	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -63,4 +38,21 @@ post_extract() {
 	if [ "$filesum" != "$_license_checksum" ]; then
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
+
+	if [ -d usr/lib64 ]; then
+		mv usr/lib64 usr/lib
+	fi
+}
+
+do_install() {
+	vinstall usr/lib/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall usr/lib/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy usr/local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
 }

From 2484dff0dc28e273eb73a3beee06216b6e0b0607 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 04/22] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..f428a2ff2ff2 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -13,13 +13,8 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From 7ba5b4529902e8e640349bd2f1c94ed707383b8e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 05/22] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

From 0a26f47ca0d9fba7100cebde7fc8a2dac58c605e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:42:12 -0500
Subject: [PATCH 06/22] clearlooks-phenix-darkpurpy-theme: don't manually
 extract deb

---
 srcpkgs/clearlooks-phenix-darkpurpy-theme/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
index bd641d81ca43..14fbe69751d2 100644
--- a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
+++ b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
@@ -3,7 +3,6 @@ pkgname=clearlooks-phenix-darkpurpy-theme
 version=7.0.2
 revision=2
 _devuan_rel="1+devuan2.0"
-build_style=fetch
 depends="gnome-themes-standard gtk-engine-murrine gtk2-engines"
 short_desc="Dark-purpified GTK3 port of Clearlooks theme"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,8 +12,6 @@ distfiles="http://packages.devuan.org/devuan/pool/main/c/${pkgname}/${pkgname}_$
 checksum=6b3dd568cb1ee37c5758ef55338b2b8784e7409cb2239a5d4b53de7af2584970
 
 do_install() {
-	bsdtar xf ${pkgname}_${version}-${_devuan_rel}_all.deb
-	bsdtar xf data.tar.xz
-	vmkdir usr/share/themes
-	vcopy usr/share/themes/Clearlooks-Phenix-DarkPurpy usr/share/themes
+	vmkdir usr/share
+	vcopy usr/share/themes usr/share
 }

From f8493e45b91d7aa7cb4b65982ada7d737fe7afee Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:52:20 -0500
Subject: [PATCH 07/22] debootstrap: don't manually extract deb

---
 srcpkgs/debootstrap/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index ab7dac04cba9..e27c8b6c8662 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -2,13 +2,12 @@
 pkgname=debootstrap
 version=1.0.128+nmu2
 revision=1
-build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
 short_desc="Bootstrap a basic Debian system"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
-distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
+distfiles="${DEBIAN_SITE}/main/d/debootstrap/debootstrap_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
 checksum="284fd2a38bd3522bfaa475540d8c622dde29e465b3439223c950023c5a45df60
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
@@ -25,12 +24,19 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="please add your architecture";;
 esac
 
+post_extract() {
+	for x in bullseye buster removed stretch; do
+		rm usr/share/keyrings/debian-archive-$x-*
+	done
+	rm -r usr/share/doc/debian-archive-keyring
+
+	mv usr/sbin usr/bin
+	echo ${_debarch} > usr/share/debootstrap/arch
+}
+
 do_install() {
-	bsdtar xOf ${pkgname}_${version}_all.deb data.tar.gz | bsdtar xvzf - -C ${DESTDIR}
-	bsdtar xOf debian-archive-keyring_2021.1.1_all.deb data.tar.xz | bsdtar xvJf - -C ${DESTDIR} ./usr/share/keyrings/debian-archive-keyring.gpg
-	mv ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin
+	vcopy usr /
 	sed -i 's|export PATH|export PATH="/usr/sbin:/sbin:/usr/bin:/bin"|' ${DESTDIR}/usr/bin/debootstrap
 	vlicense ${DESTDIR}/usr/share/doc/debootstrap/copyright LICENSE
 	rm ${DESTDIR}/usr/share/doc/debootstrap/copyright
-	echo ${_debarch} >${DESTDIR}/usr/share/debootstrap/arch
 }

From 428fe5698d9f9332c6cc5dfad5876b2c2f2881d0 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:55:39 -0500
Subject: [PATCH 08/22] fah: don't manually extract deb

---
 srcpkgs/fah/template | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/fah/template b/srcpkgs/fah/template
index 8fb277fef313..d25877761daf 100644
--- a/srcpkgs/fah/template
+++ b/srcpkgs/fah/template
@@ -22,22 +22,12 @@ system_accounts="_fah"
 _fah_homedir="/usr/libexec/_fah"
 _fah_descr="Folding@Home user"
 
-do_extract() {
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahclient_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahcontrol_${version}-1_all.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahviewer_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-}
-
 do_install() {
-	vmkdir usr
-	vcopy ${wrksrc}/usr/* usr
+	vcopy usr /
 	vsv FAHClient
 	mv -v ${DESTDIR}/usr/lib/python2.7/{dist,site}-packages
 	vlicense ${DESTDIR}/usr/share/doc/fahclient/copyright LICENSE.FAHClient
 	vlicense ${DESTDIR}/usr/share/doc/fahviewer/LICENSE LICENSE.FAHViewer
-	# Example file to modfiy or cut+paste from for /etc/sv/FAHClient/config
+	# Example file to modify or cut+paste from for /etc/sv/FAHClient/config
 	vsconf ${FILESDIR}/config.example
 }

From fae8bccb4666061ded1b33ea35c1f6c2fc81ea15 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:20:22 -0500
Subject: [PATCH 09/22] google-chrome: don't manually extract deb

also clean up the template a bit
---
 srcpkgs/google-chrome/template | 38 ++++++++++++++++------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 54988d2d7c9f..b11865fd0ad9 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -4,32 +4,34 @@ version=107.0.5304.110
 revision=1
 _channel=stable
 archs="x86_64"
-hostmakedepends="tar xz python3 python3-html2text python3-setuptools"
+hostmakedepends="python3-html2text python3-setuptools"
 depends="gtk+3"
 short_desc="Attempt at creating a safer, faster, and more stable browser"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="custom:chrome"
 homepage="https://www.google.com/chrome/"
-nostrip=yes
-restricted=yes
-repository=nonfree
-skiprdeps="/opt/google/chrome/libqt5_shim.so"
-
-_baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable"
-_filename="google-chrome-${_channel}_${version}-1_amd64.deb"
-_chromeUrl="${_baseUrl}/${_filename}"
-_licenseUrl="https://www.google.com/intl/en/chrome/terms/"
-
-distfiles="$_chromeUrl"
+distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
 checksum=52e6d1be974c36cb40469f03b128cf21b36359a05fdadbb2e0379fbb17ef341b
+_license_checksum=8023b18fb5118ef65d586363e53909861bd1a9676e5eb83c20fd3ac6e33ea0be
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/google-chrome-${version}/${_filename}
+skiprdeps="/opt/google/chrome/libqt5_shim.so"
+repository=nonfree
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	$XBPS_FETCH_CMD 'https://www.google.com/intl/en/chrome/terms/' -o google-chrome-eula.html
+	html2text google-chrome-eula.html | sed -n '/^#/,/^SEE/p' > google-chrome-eula.md
+	filesum="$(xbps-digest google-chrome-eula.md)"
+	if [ "$filesum" != "$_license_checksum" ]; then
+		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
+	fi
 }
 
 do_install() {
-	tar xf data.tar.xz -C ${DESTDIR}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
 	# Install the icons
 	for size in 16 24 32 48 64 128 256; do
@@ -47,10 +49,6 @@ do_install() {
 	# Remove the Debian/Ubuntu crontab
 	rm -rf ${DESTDIR}/etc
 	rm -rf ${DESTDIR}/opt/google/chrome/cron
-}
 
-post_install() {
-	xbps-fetch ${_licenseUrl} -o google-chrome-eula.html
-	cat google-chrome-eula.html | html2text >> google-chrome-eula.md
 	vlicense google-chrome-eula.md
 }

From 6ccdb6e351f1b76aa2471a02d5bc30ee1eae56cf Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:33:49 -0500
Subject: [PATCH 10/22] google-earth-pro: don't manually extract deb

---
 srcpkgs/google-earth-pro/template | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/google-earth-pro/template b/srcpkgs/google-earth-pro/template
index 6bb98082cb63..17cb77f7562f 100644
--- a/srcpkgs/google-earth-pro/template
+++ b/srcpkgs/google-earth-pro/template
@@ -4,40 +4,32 @@ version=7.3.4.8738
 revision=1
 archs="x86_64"
 depends="alsa-lib desktop-file-utils fontconfig glu gst-plugins-base1
- hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script qt5-sensors qt5-webkit"
+ hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script
+ qt5-sensors qt5-webkit"
 short_desc="Explore the far reaches of the world"
 maintainer="Jason Manley <jason@jasondavid.tv>"
 license="custom:Google"
 homepage="https://www.google.com/earth/index.html"
-distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/${pkgname}-stable/${pkgname}-stable_${version}-r0_amd64.deb"
+distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_amd64.deb"
 checksum=86a4f43c493a872224c76dea7cf107e0b22a1da109b4d1a43e5c82e05437790b
 repository=nonfree
 restricted=yes
 nostrip=yes
 
-post_fetch() {
-	mkdir -p "$wrksrc"
-	cd "$wrksrc"
+post_extract() {
 	$XBPS_FETCH_CMD https://www.google.com/intl/ALL/policies/terms/index.html>Google-Terms-of-Service.html \
 		https://www.google.com/help/terms_maps.html>Google-Earth-Additional-Terms-of-Service.html \
 		https://www.google.com/help/legalnotices_maps.html>Legal-Notices-for-Google-Earth-and-Google-Earth-APIs.html \
 		https://www.google.com/intl/ALL/policies/privacy/index.html>Google-Privacy-Policy.html
-	rm {index.html,legalnotices_maps.html,terms_maps.html}
-}
-
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-stable_${version}-r0_amd64.deb
-	bsdtar xf data.tar.xz
+	rm index.html legalnotices_maps.html terms_maps.html
 }
 
 do_install() {
-	vmkdir opt/google
-	vcopy opt/google/earth opt/google
-
-	vmkdir usr/bin
-	ln -s /opt/google/earth/pro/googleearth ${DESTDIR}/usr/bin/${pkgname}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
-	vinstall opt/google/earth/pro/${pkgname}.desktop 644 usr/share/applications
+	vinstall opt/google/earth/pro/google-earth-pro.desktop 644 usr/share/applications
 
 	for i in 16 22 24 32 48 64 128 256; do
 		vinstall opt/google/earth/pro/product_logo_${i}.png 644 \
@@ -51,6 +43,6 @@ do_install() {
 			vlicense ${i}
 	done
 
-	sed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
+	vsed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
 		${DESTDIR}/opt/google/earth/pro/googleearth
 }

From 973f46b9bad83f2bfddcc8bed710bf68fb1cb24f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 13:51:42 -0500
Subject: [PATCH 11/22] helden-software: don't manually extract deb

---
 srcpkgs/helden-software/template | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/helden-software/template b/srcpkgs/helden-software/template
index 77850de45887..90aedf822551 100644
--- a/srcpkgs/helden-software/template
+++ b/srcpkgs/helden-software/template
@@ -2,37 +2,25 @@
 pkgname=helden-software
 version=5.5.3
 revision=1
-_ver="${version}-0_all"
-_filename="${pkgname}_${_ver}.deb"
-create_wrksrc=yes
-build_style=fetch
+# create_wrksrc=yes
 depends="openjdk-jre"
 short_desc="Character generator for the Pen&Paper RPG DSA"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="custom:Proprietary"
 homepage="https://www.helden-software.de/"
-distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/${_filename}"
+distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/helden-software_${version}-0_all.deb"
 checksum=4bc08118ae1e78942bea543338de1ada17c21ebdb4b7f9e108910df0ba815a04
 repository="nonfree"
 restricted="yes"
 
-post_extract() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
-	vmkdir usr/lib/helden-software
-	vmkdir usr/share/applications
-	vmkdir usr/share/icons
-	vmkdir etc/default
+	vcopy etc /
 
 	vlicense usr/share/doc/helden-software/copyright
 
 	vbin usr/bin/helden-software
 
-	vcopy usr/share/icons/* usr/share/icons
-	vcopy usr/lib/heldensoftware/helden5.jar usr/lib/helden-software/helden5.jar
-	vcopy etc/default/helden-software etc/default/helden-software
-	vcopy usr/share/applications/HeldenSoftware.desktop usr/share/applications/HeldenSoftware.desktop
+	vcopy usr/lib usr
+	vcopy usr/share/icons usr/share
+	vcopy usr/share/applications usr/share
 }

From 88180861d5ba1c4d79a449b0c63fbf4587bbb7f4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 15:14:39 -0500
Subject: [PATCH 12/22] msbuild-bin: don't manually extract deb

---
 srcpkgs/msbuild-bin/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/msbuild-bin/template b/srcpkgs/msbuild-bin/template
index e5332b295954..094f3a43d057 100644
--- a/srcpkgs/msbuild-bin/template
+++ b/srcpkgs/msbuild-bin/template
@@ -3,7 +3,7 @@ _xamarin_rel="xamarinxplat.2021.05.26.14.00-0xamarin2+ubuntu2004b1"
 pkgname=msbuild-bin
 version=16.10.1
 revision=1
-build_style=fetch
+create_wrksrc=yes
 depends="mono"
 short_desc="Xamarin/Mono fork of the Microsoft Build system"
 maintainer="Aloz1 <kno0001@gmail.com>"
@@ -12,13 +12,8 @@ homepage="https://github.com/mono/msbuild"
 distfiles="http://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_${version}+${_xamarin_rel}_all.deb"
 checksum=32f1eba1c2df67bc55920cd45ce3689c32a5c705ae01fd7ead52ca180221b469
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/msbuild-bin-${version}/msbuild_${version}+${_xamarin_rel}_all.deb
-	bsdtar xf data.tar.xz
-}
-
 do_install() {
 	vbin usr/bin/msbuild
-	vcopy usr/lib usr
+	vcopy usr/lib /usr
 	vlicense usr/share/doc/msbuild/copyright
 }

From d9bc4c2a0f26853d49a73ec2e5c74882d44ce0fc Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 01:58:19 -0500
Subject: [PATCH 13/22] openbazaar: don't manually extract deb

---
 srcpkgs/openbazaar/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/openbazaar/template b/srcpkgs/openbazaar/template
index 00103d221bf6..f1f8d85de9fd 100644
--- a/srcpkgs/openbazaar/template
+++ b/srcpkgs/openbazaar/template
@@ -3,7 +3,7 @@ pkgname=openbazaar
 version=1.1.13
 revision=2
 archs="i686 x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="nodejs"
 short_desc="P2P Distributed marketplace"
 maintainer="ananteris <ananteris@protonmail.ch>"
@@ -22,11 +22,11 @@ case "${XBPS_TARGET_MACHINE}" in
 		;;
 esac
 
-distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/${pkgname}_${version}_${_debarch}.deb"
+distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/openbazaar_${version}_${_debarch}.deb"
 
 do_install() {
-	ar p ${pkgname}_${version}_${_debarch}.deb data.tar.xz | bsdtar xvf - -C ${DESTDIR}
-	vlicense ${DESTDIR}/usr/share/openbazaar/LICENSE
+	vcopy usr /
+	vlicense usr/share/openbazaar/LICENSE
 	vmkdir usr/lib/openbazaar/resources
 	mv -v ${DESTDIR}/usr/share/openbazaar/resources/OpenBazaar-Server \
 		${DESTDIR}/usr/lib/openbazaar/resources

From 68c1b8006dad57d0c01b7a94d46fbfb05a8398a2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:12:21 -0500
Subject: [PATCH 14/22] parsec: don't manually extract deb

also appease xlint
---
 srcpkgs/parsec/template | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/parsec/template b/srcpkgs/parsec/template
index 0a40b877ac47..26018c05a779 100644
--- a/srcpkgs/parsec/template
+++ b/srcpkgs/parsec/template
@@ -3,24 +3,23 @@ pkgname=parsec
 version=150.28
 revision=2
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="libgcc virtual?libGL libSM libsndio libstdc++ libX11 libXxf86vm"
 short_desc="Low latency proprietary game streaming application"
 maintainer="Kozova1 <mug66kk@gmail.com>"
-license="Proprietary"
-homepage="https://parsecgaming.com"
+license="custom:Proprietary"
+homepage="https://parsec.app"
 distfiles="https://s3.amazonaws.com/parsec-build/package/parsec-linux.deb"
 checksum=0c7207f419377fc35e30448acd00d8701300ac5a44936ac6d87a468c9afccdc1
 nopie=yes
 restricted=yes
 
-do_extract() {
-	ar x "${XBPS_SRCDISTDIR}/${pkgname}-${version}/parsec-linux.deb"
-}
-
 do_install() {
-	bsdtar xf "data.tar.xz" -C ${DESTDIR}
+	vcopy usr /
 	vmkdir usr/lib/parsec
 	mv ${DESTDIR}/usr/share/parsec/skel/parsecd-150-28.so ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so
 	ln -rs ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so ${DESTDIR}/usr/share/parsec/skel/
+
+	echo 'see https://unity.com/legal/parsec-additional-terms' > EULA
+	vlicense EULA
 }

From 28eab1c9f29f804ab9bb7b51356bcde6e2895e28 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:20:38 -0500
Subject: [PATCH 15/22] plex-media-server: don't manually extract deb

---
 srcpkgs/plex-media-server/template | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/srcpkgs/plex-media-server/template b/srcpkgs/plex-media-server/template
index 981a468fb279..0fa0edc14bc3 100644
--- a/srcpkgs/plex-media-server/template
+++ b/srcpkgs/plex-media-server/template
@@ -4,8 +4,6 @@ version=1.15.3.876
 revision=4
 _suffix=ad6e39743
 archs="i686 x86_64 armv7 aarch64"
-create_wrksrc=yes
-hostmakedepends="tar xz"
 short_desc="Plex Media Server"
 maintainer="Anachron <gith@cron.world>"
 license="custom:Proprietary"
@@ -40,10 +38,7 @@ nopie_files="/usr/lib/plexmediaserver/Plex DLNA Server"
 
 make_dirs="/var/plexmediaserver 0755 _plex _plex"
 
-do_extract() {
-	fn="${distfiles##*/}"
-	ar x "${XBPS_SRCDISTDIR}/${pkgname}-${version}/${fn}"
-	tar xf data.tar.xz
+post_extract() {
 	mv usr/{s,}bin
 	cp "${FILESDIR}/default" etc/default/plexmediaserver
 	cp "${FILESDIR}/start_pms" usr/bin/start_pms

From 939dce2c1c05407b2a7916b8f7c9dcb28270b582 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:22:16 -0500
Subject: [PATCH 16/22] protonmail-bridge: don't manually extract deb

---
 srcpkgs/protonmail-bridge/template | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/protonmail-bridge/template b/srcpkgs/protonmail-bridge/template
index b690d2a7d6e8..e56e1faaced6 100644
--- a/srcpkgs/protonmail-bridge/template
+++ b/srcpkgs/protonmail-bridge/template
@@ -3,7 +3,7 @@ pkgname=protonmail-bridge
 version=2.1.3
 revision=1
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="desktop-file-utils"
 short_desc="ProtonMail Bridge for use with E-mail software"
 maintainer="Rich G <rich@richgannon.net>"
@@ -17,7 +17,5 @@ noverifyrdeps=yes
 nopie=yes
 
 do_install() {
-	ar x protonmail-bridge_${version}-1_amd64.deb data.tar.gz
-	bsdtar xpvf data.tar.gz
-	cp -r usr ${DESTDIR}
+	vcopy usr /
 }

From 0c1c3b549b91a15867e434dac128ef3fd2f3c4c7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:28:04 -0500
Subject: [PATCH 17/22] slack-desktop: don't manually extract deb

---
 srcpkgs/slack-desktop/template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/srcpkgs/slack-desktop/template b/srcpkgs/slack-desktop/template
index 933224663f29..eda55b04868f 100644
--- a/srcpkgs/slack-desktop/template
+++ b/srcpkgs/slack-desktop/template
@@ -3,7 +3,6 @@ pkgname=slack-desktop
 version=4.29.144
 revision=1
 archs="x86_64"
-hostmakedepends="tar xz"
 depends="xdg-utils"
 short_desc="Messaging app for teams"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -15,11 +14,6 @@ restricted=yes
 repository="nonfree"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-${version}-amd64.deb
-	tar xf data.tar.xz
-}
-
 do_install() {
 	vlicense usr/share/doc/slack-desktop/OPEN_SOURCE_LICENSE_ATTRIBUTIONS
 	vinstall usr/share/applications/slack.desktop 644 usr/share/applications

From 3556390ca252b6eae29c1b22f5c04f13e8e801c9 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:38:03 -0500
Subject: [PATCH 18/22] spotify: don't manually extract deb

---
 srcpkgs/spotify/template | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/srcpkgs/spotify/template b/srcpkgs/spotify/template
index faf00539da70..d6cd4480b73d 100644
--- a/srcpkgs/spotify/template
+++ b/srcpkgs/spotify/template
@@ -2,18 +2,15 @@
 pkgname=spotify
 version=1.1.84
 revision=2
-_ver="${version}.716.gc5f8b819_amd64"
-_filename="spotify-client_${_ver}.deb"
 archs="x86_64"
 create_wrksrc=yes
-build_style=fetch
 hostmakedepends="curl w3m libcurl"
 depends="libcurl"
 short_desc="Proprietary music streaming client"
 maintainer="Stefan Mühlinghaus <jazzman@alphabreed.com>"
 license="custom:Proprietary"
 homepage="https://www.spotify.com"
-distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/${_filename}"
+distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}.716.gc5f8b819_amd64.deb"
 checksum=08e6b2666dc2a39624890e553a3046d05ecebe17bcc2fe930d49314b2fb812c7
 _license_checksum=4465d0bba5deb87866184b04ba76604cd93561c0dc9cd21cacdf5b0295bdae3a
 repository=nonfree
@@ -31,11 +28,6 @@ post_extract() {
 	fi
 }
 
-do_build() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
 	vbin "${FILESDIR}/spotify"
 

From 8ee76e2a62f3c61b34b00acaa2f1578f188edb63 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:39:42 -0500
Subject: [PATCH 19/22] teams-bin: don't manually extract deb

---
 srcpkgs/teams-bin/template | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/srcpkgs/teams-bin/template b/srcpkgs/teams-bin/template
index d5825ca74d89..ccb1db96ee8a 100644
--- a/srcpkgs/teams-bin/template
+++ b/srcpkgs/teams-bin/template
@@ -3,20 +3,16 @@ pkgname=teams-bin
 version=1.5.00.23861
 revision=1
 archs="x86_64"
+create_wrksrc=yes
 short_desc="Official Microsoft Teams client"
 maintainer="Piraty <piraty1@inbox.ru>"
 license="custom:Proprietary"
 homepage="https://teams.microsoft.com/downloads"
 distfiles="https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb"
 checksum=87462709e257fff9784de809559b5abd5dc7af18d8505d856b92a66989995bc1
-
 repository=nonfree
 restricted=yes
 
-do_extract() {
-	ar p "${XBPS_SRCDISTDIR}/${pkgname}-${version}/teams_${version}_amd64.deb" data.tar.xz | bsdtar --extract --xz -f - -C .
-}
-
 do_install() {
 	# use our simple wrapper instead of the provided one
 	vbin ${FILESDIR}/teams-wrapper.sh teams
@@ -32,9 +28,7 @@ do_install() {
 	vlicense usr/share/teams/resources/ThirdPartyNotice.txt
 	vlicense usr/share/teams/LICENSE
 	vlicense usr/share/teams/LICENSES.chromium.html
-}
 
-post_install() {
 	# purge bundled libraries, but keep those not provided by Void
 	mkdir libsave
 	for lib in libffmpeg.so; do

From 03f5d2c59b52c80e9bc319d4726fe5a38248625e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:42:32 -0500
Subject: [PATCH 20/22] vivaldi: don't manually extract deb

---
 srcpkgs/vivaldi/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/vivaldi/template b/srcpkgs/vivaldi/template
index bb11248156c5..d550cbde9a5d 100644
--- a/srcpkgs/vivaldi/template
+++ b/srcpkgs/vivaldi/template
@@ -19,9 +19,8 @@ repository=nonfree
 restricted=yes
 nostrip=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/vivaldi-stable_${version}-${_release}_amd64.deb
-	bsdtar xf data.tar.xz --exclude={./etc,./opt/vivaldi/cron}
+post_extract() {
+	rm -r etc opt/vivaldi/cron
 }
 
 do_install() {

From 6d4dde74e0322c65996370aab75fd57272e69dfe Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:48:57 -0500
Subject: [PATCH 21/22] xkb-qwerty-fr: don't manually extract deb

---
 srcpkgs/xkb-qwerty-fr/template | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/xkb-qwerty-fr/template b/srcpkgs/xkb-qwerty-fr/template
index 18c2798cb3e5..d265dd828894 100644
--- a/srcpkgs/xkb-qwerty-fr/template
+++ b/srcpkgs/xkb-qwerty-fr/template
@@ -2,19 +2,16 @@
 pkgname=xkb-qwerty-fr
 version=0.5
 revision=2
+create_wrksrc=yes
 short_desc="French qwerty X11 keymap"
 maintainer="Franklin Delehelle <franklin.delehelle@odena.eu>"
 license="GPL-2.0-or-later"
 homepage="http://marin.jb.free.fr/qwerty-fr/"
-distfiles="http://marin.jb.free.fr/qwerty-fr/${pkgname}_${version}_all.deb"
+distfiles="http://marin.jb.free.fr/qwerty-fr/xkb-qwerty-fr_${version}_all.deb"
 checksum=03fc6b72b62fb6661e5671bc3e500934ed9aa457159141ef02d989616276ef64
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}_${version}_all.deb
-	bsdtar xvf data.tar.gz
-}
 do_install() {
 	rm usr/share/doc/xkb-qwerty-fr/copyright
 	rm usr/share/doc/xkb-qwerty-fr/changelog.gz
-	vcopy usr usr
+	vcopy usr /
 }

From cec76d5d95502e11f4edd22d64f02e914a30edd3 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 03:01:14 -0500
Subject: [PATCH 22/22] yandex-disk: update to 0.1.6.1080

don't manually extract deb
---
 srcpkgs/yandex-disk/template | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/yandex-disk/template b/srcpkgs/yandex-disk/template
index 743502441ba5..920677ccbf7f 100644
--- a/srcpkgs/yandex-disk/template
+++ b/srcpkgs/yandex-disk/template
@@ -1,6 +1,6 @@
 # Template file for 'yandex-disk'
 pkgname=yandex-disk
-version=0.1.6.1074
+version=0.1.6.1080
 revision=1
 archs="i686 x86_64"
 short_desc="Console client for Yandex.Disk"
@@ -12,27 +12,21 @@ restricted=yes
 nostrip_files=yandex-disk
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
-	debpkgid="${pkgname}_${version}_amd64.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=dddc57d2dbb1a68d8aef67450d138a9b7c7975438c10b6bbf5a0214e7fd47ecd
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_amd64.deb"
+	checksum=47ba503b4dfccecc824386d67d686abe4b5356b8b546e48fce8811b5fa88a718
 else
-	debpkgid="${pkgname}_${version}_i386.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=b0b0d25a966c1c48aef87bb5bceeb41d2150859cb64896fe07c765ad73bdf242
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_i386.deb"
+	checksum=9d94d0036e22509950b2acceaa9520f36d1370256d2f9b56d7696f9ff09e249b
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${debpkgid}
-	bsdtar xzpvf data.tar.gz
-	gunzip usr/share/man/man1/yandex-disk.1.gz
+post_patch() {
+	vsed -e "s/^\(have.*\)/\#\1/" -i etc/bash_completion.d/yandex-disk-completion.bash
 }
 
 do_install() {
 	vbin usr/bin/yandex-disk
 	vlicense usr/share/doc/yandex-disk/copyright
-	vman usr/share/man/man1/yandex-disk.1
+	vcopy usr/share/man usr/share
 	vcopy usr/share/locale usr/share
-	install -m644 -D etc/bash_completion.d/yandex-disk-completion.bash \
-		${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
-	vsed -e "s/^\(have.*\)/\#\1/" -i ${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
+	vcompletion etc/bash_completion.d/yandex-disk-completion.bash bash
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (12 preceding siblings ...)
  2022-11-11 11:25 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-11-17  2:42 ` classabbyamp
  2022-11-19  4:19 ` [PR PATCH] [Updated] " classabbyamp
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-17  2:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 331 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/40405#issuecomment-1317980032

Comment:
yeah I don't want to encourage debs, but the manual way is gross and inconsistent and increasing support for it could maybe make xdeb less attractive of an option for out-of-tree trees

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (13 preceding siblings ...)
  2022-11-17  2:42 ` classabbyamp
@ 2022-11-19  4:19 ` classabbyamp
  2022-11-19  4:32 ` classabbyamp
  2022-11-19  4:47 ` [PR PATCH] [Merged]: " classabbyamp
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-19  4:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 673 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES** (tested extraction/installation works for all packages with debs, packages generated are sane and are the same as before, except where deliberately changed)


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 35324 bytes --]

From 111d6709c26073563f0b19a2f074d3cec2130560 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 01/21] common/hooks/do-extract/00-distfiles.sh: support deb
 files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 01ffb9769c856734d54470a38d46cc30c9f23191 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 02/21] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From 4b23c3c3885a7383723b45efd0a2e2c08d5cfbcb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 03/21] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 50 ++++++++++++++------------------
 1 file changed, 21 insertions(+), 29 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..e5aa0533b125 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -4,8 +4,8 @@ version=0.2.13
 revision=2
 archs="i686 x86_64"
 create_wrksrc=yes
-hostmakedepends="tar"
-makedepends="sane-devel curl"
+hostmakedepends="curl"
+makedepends="sane-devel"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -16,38 +16,13 @@ nodebug=yes
 _license_checksum=4ab8b9269a74377ee85458cc4dfbacfbf6d26665426572fe16f7102af214bd3c
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
-	debpkgid="1.amd64"
-	distfiles="https://download.brother.com/welcome/dlf006642/brscan3-${version}-${debpkgid}.deb"
+	distfiles="https://download.brother.com/welcome/dlf006642/brscan3-${version}-1.amd64.deb"
 	checksum="446adf531bf39032892e9504ce34b7bf889e0f8628c0732cebb3b83fafb327b8"
-	mylibdir="lib64"
 elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
-	debpkgid="1.i386"
-	distfiles="https://download.brother.com/welcome/dlf006641/brscan3-${version}-${debpkgid}.deb"
+	distfiles="https://download.brother.com/welcome/dlf006641/brscan3-${version}-1.i386.deb"
 	checksum="ad06665cac32035893f614d9305dabf73145af454f1aeb6b8b7c7fa2700fe2e6"
-	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -63,4 +38,21 @@ post_extract() {
 	if [ "$filesum" != "$_license_checksum" ]; then
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
+
+	if [ -d usr/lib64 ]; then
+		mv usr/lib64 usr/lib
+	fi
+}
+
+do_install() {
+	vinstall usr/lib/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall usr/lib/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy usr/local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
 }

From cf632fe812e415e4b1980431d689cd870f02e247 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 04/21] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..f428a2ff2ff2 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -13,13 +13,8 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From e360dd1112c57fa10f2e707909da4406bfd33af0 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 05/21] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

From a4db98dccfa5bb63ab2c3efed061886309182596 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:42:12 -0500
Subject: [PATCH 06/21] clearlooks-phenix-darkpurpy-theme: don't manually
 extract deb

---
 srcpkgs/clearlooks-phenix-darkpurpy-theme/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
index bd641d81ca43..14fbe69751d2 100644
--- a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
+++ b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
@@ -3,7 +3,6 @@ pkgname=clearlooks-phenix-darkpurpy-theme
 version=7.0.2
 revision=2
 _devuan_rel="1+devuan2.0"
-build_style=fetch
 depends="gnome-themes-standard gtk-engine-murrine gtk2-engines"
 short_desc="Dark-purpified GTK3 port of Clearlooks theme"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,8 +12,6 @@ distfiles="http://packages.devuan.org/devuan/pool/main/c/${pkgname}/${pkgname}_$
 checksum=6b3dd568cb1ee37c5758ef55338b2b8784e7409cb2239a5d4b53de7af2584970
 
 do_install() {
-	bsdtar xf ${pkgname}_${version}-${_devuan_rel}_all.deb
-	bsdtar xf data.tar.xz
-	vmkdir usr/share/themes
-	vcopy usr/share/themes/Clearlooks-Phenix-DarkPurpy usr/share/themes
+	vmkdir usr/share
+	vcopy usr/share/themes usr/share
 }

From 2c28295583db91c601358182a68a55ea159d6345 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:52:20 -0500
Subject: [PATCH 07/21] debootstrap: don't manually extract deb

---
 srcpkgs/debootstrap/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index ab7dac04cba9..e27c8b6c8662 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -2,13 +2,12 @@
 pkgname=debootstrap
 version=1.0.128+nmu2
 revision=1
-build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
 short_desc="Bootstrap a basic Debian system"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
-distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
+distfiles="${DEBIAN_SITE}/main/d/debootstrap/debootstrap_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
 checksum="284fd2a38bd3522bfaa475540d8c622dde29e465b3439223c950023c5a45df60
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
@@ -25,12 +24,19 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="please add your architecture";;
 esac
 
+post_extract() {
+	for x in bullseye buster removed stretch; do
+		rm usr/share/keyrings/debian-archive-$x-*
+	done
+	rm -r usr/share/doc/debian-archive-keyring
+
+	mv usr/sbin usr/bin
+	echo ${_debarch} > usr/share/debootstrap/arch
+}
+
 do_install() {
-	bsdtar xOf ${pkgname}_${version}_all.deb data.tar.gz | bsdtar xvzf - -C ${DESTDIR}
-	bsdtar xOf debian-archive-keyring_2021.1.1_all.deb data.tar.xz | bsdtar xvJf - -C ${DESTDIR} ./usr/share/keyrings/debian-archive-keyring.gpg
-	mv ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin
+	vcopy usr /
 	sed -i 's|export PATH|export PATH="/usr/sbin:/sbin:/usr/bin:/bin"|' ${DESTDIR}/usr/bin/debootstrap
 	vlicense ${DESTDIR}/usr/share/doc/debootstrap/copyright LICENSE
 	rm ${DESTDIR}/usr/share/doc/debootstrap/copyright
-	echo ${_debarch} >${DESTDIR}/usr/share/debootstrap/arch
 }

From 7ddc20fb7227a742ad65df7642fc7465e4d7bdb1 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:55:39 -0500
Subject: [PATCH 08/21] fah: don't manually extract deb

---
 srcpkgs/fah/template | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/fah/template b/srcpkgs/fah/template
index 8fb277fef313..d25877761daf 100644
--- a/srcpkgs/fah/template
+++ b/srcpkgs/fah/template
@@ -22,22 +22,12 @@ system_accounts="_fah"
 _fah_homedir="/usr/libexec/_fah"
 _fah_descr="Folding@Home user"
 
-do_extract() {
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahclient_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahcontrol_${version}-1_all.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahviewer_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-}
-
 do_install() {
-	vmkdir usr
-	vcopy ${wrksrc}/usr/* usr
+	vcopy usr /
 	vsv FAHClient
 	mv -v ${DESTDIR}/usr/lib/python2.7/{dist,site}-packages
 	vlicense ${DESTDIR}/usr/share/doc/fahclient/copyright LICENSE.FAHClient
 	vlicense ${DESTDIR}/usr/share/doc/fahviewer/LICENSE LICENSE.FAHViewer
-	# Example file to modfiy or cut+paste from for /etc/sv/FAHClient/config
+	# Example file to modify or cut+paste from for /etc/sv/FAHClient/config
 	vsconf ${FILESDIR}/config.example
 }

From 2ba5f908f81ba2b7b576f152c3fd16dcf098505e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:20:22 -0500
Subject: [PATCH 09/21] google-chrome: don't manually extract deb

also clean up the template a bit
---
 srcpkgs/google-chrome/template | 38 ++++++++++++++++------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 54988d2d7c9f..b11865fd0ad9 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -4,32 +4,34 @@ version=107.0.5304.110
 revision=1
 _channel=stable
 archs="x86_64"
-hostmakedepends="tar xz python3 python3-html2text python3-setuptools"
+hostmakedepends="python3-html2text python3-setuptools"
 depends="gtk+3"
 short_desc="Attempt at creating a safer, faster, and more stable browser"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="custom:chrome"
 homepage="https://www.google.com/chrome/"
-nostrip=yes
-restricted=yes
-repository=nonfree
-skiprdeps="/opt/google/chrome/libqt5_shim.so"
-
-_baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable"
-_filename="google-chrome-${_channel}_${version}-1_amd64.deb"
-_chromeUrl="${_baseUrl}/${_filename}"
-_licenseUrl="https://www.google.com/intl/en/chrome/terms/"
-
-distfiles="$_chromeUrl"
+distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
 checksum=52e6d1be974c36cb40469f03b128cf21b36359a05fdadbb2e0379fbb17ef341b
+_license_checksum=8023b18fb5118ef65d586363e53909861bd1a9676e5eb83c20fd3ac6e33ea0be
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/google-chrome-${version}/${_filename}
+skiprdeps="/opt/google/chrome/libqt5_shim.so"
+repository=nonfree
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	$XBPS_FETCH_CMD 'https://www.google.com/intl/en/chrome/terms/' -o google-chrome-eula.html
+	html2text google-chrome-eula.html | sed -n '/^#/,/^SEE/p' > google-chrome-eula.md
+	filesum="$(xbps-digest google-chrome-eula.md)"
+	if [ "$filesum" != "$_license_checksum" ]; then
+		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
+	fi
 }
 
 do_install() {
-	tar xf data.tar.xz -C ${DESTDIR}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
 	# Install the icons
 	for size in 16 24 32 48 64 128 256; do
@@ -47,10 +49,6 @@ do_install() {
 	# Remove the Debian/Ubuntu crontab
 	rm -rf ${DESTDIR}/etc
 	rm -rf ${DESTDIR}/opt/google/chrome/cron
-}
 
-post_install() {
-	xbps-fetch ${_licenseUrl} -o google-chrome-eula.html
-	cat google-chrome-eula.html | html2text >> google-chrome-eula.md
 	vlicense google-chrome-eula.md
 }

From 7269e4410d151e28546699e90818a7b362e8f195 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:33:49 -0500
Subject: [PATCH 10/21] google-earth-pro: don't manually extract deb

---
 srcpkgs/google-earth-pro/template | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/google-earth-pro/template b/srcpkgs/google-earth-pro/template
index 6bb98082cb63..17cb77f7562f 100644
--- a/srcpkgs/google-earth-pro/template
+++ b/srcpkgs/google-earth-pro/template
@@ -4,40 +4,32 @@ version=7.3.4.8738
 revision=1
 archs="x86_64"
 depends="alsa-lib desktop-file-utils fontconfig glu gst-plugins-base1
- hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script qt5-sensors qt5-webkit"
+ hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script
+ qt5-sensors qt5-webkit"
 short_desc="Explore the far reaches of the world"
 maintainer="Jason Manley <jason@jasondavid.tv>"
 license="custom:Google"
 homepage="https://www.google.com/earth/index.html"
-distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/${pkgname}-stable/${pkgname}-stable_${version}-r0_amd64.deb"
+distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_amd64.deb"
 checksum=86a4f43c493a872224c76dea7cf107e0b22a1da109b4d1a43e5c82e05437790b
 repository=nonfree
 restricted=yes
 nostrip=yes
 
-post_fetch() {
-	mkdir -p "$wrksrc"
-	cd "$wrksrc"
+post_extract() {
 	$XBPS_FETCH_CMD https://www.google.com/intl/ALL/policies/terms/index.html>Google-Terms-of-Service.html \
 		https://www.google.com/help/terms_maps.html>Google-Earth-Additional-Terms-of-Service.html \
 		https://www.google.com/help/legalnotices_maps.html>Legal-Notices-for-Google-Earth-and-Google-Earth-APIs.html \
 		https://www.google.com/intl/ALL/policies/privacy/index.html>Google-Privacy-Policy.html
-	rm {index.html,legalnotices_maps.html,terms_maps.html}
-}
-
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-stable_${version}-r0_amd64.deb
-	bsdtar xf data.tar.xz
+	rm index.html legalnotices_maps.html terms_maps.html
 }
 
 do_install() {
-	vmkdir opt/google
-	vcopy opt/google/earth opt/google
-
-	vmkdir usr/bin
-	ln -s /opt/google/earth/pro/googleearth ${DESTDIR}/usr/bin/${pkgname}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
-	vinstall opt/google/earth/pro/${pkgname}.desktop 644 usr/share/applications
+	vinstall opt/google/earth/pro/google-earth-pro.desktop 644 usr/share/applications
 
 	for i in 16 22 24 32 48 64 128 256; do
 		vinstall opt/google/earth/pro/product_logo_${i}.png 644 \
@@ -51,6 +43,6 @@ do_install() {
 			vlicense ${i}
 	done
 
-	sed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
+	vsed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
 		${DESTDIR}/opt/google/earth/pro/googleearth
 }

From a746b5447d40ad483634a99eb572b2b53f36a0e8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 13:51:42 -0500
Subject: [PATCH 11/21] helden-software: don't manually extract deb

---
 srcpkgs/helden-software/template | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/helden-software/template b/srcpkgs/helden-software/template
index 77850de45887..90aedf822551 100644
--- a/srcpkgs/helden-software/template
+++ b/srcpkgs/helden-software/template
@@ -2,37 +2,25 @@
 pkgname=helden-software
 version=5.5.3
 revision=1
-_ver="${version}-0_all"
-_filename="${pkgname}_${_ver}.deb"
-create_wrksrc=yes
-build_style=fetch
+# create_wrksrc=yes
 depends="openjdk-jre"
 short_desc="Character generator for the Pen&Paper RPG DSA"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="custom:Proprietary"
 homepage="https://www.helden-software.de/"
-distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/${_filename}"
+distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/helden-software_${version}-0_all.deb"
 checksum=4bc08118ae1e78942bea543338de1ada17c21ebdb4b7f9e108910df0ba815a04
 repository="nonfree"
 restricted="yes"
 
-post_extract() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
-	vmkdir usr/lib/helden-software
-	vmkdir usr/share/applications
-	vmkdir usr/share/icons
-	vmkdir etc/default
+	vcopy etc /
 
 	vlicense usr/share/doc/helden-software/copyright
 
 	vbin usr/bin/helden-software
 
-	vcopy usr/share/icons/* usr/share/icons
-	vcopy usr/lib/heldensoftware/helden5.jar usr/lib/helden-software/helden5.jar
-	vcopy etc/default/helden-software etc/default/helden-software
-	vcopy usr/share/applications/HeldenSoftware.desktop usr/share/applications/HeldenSoftware.desktop
+	vcopy usr/lib usr
+	vcopy usr/share/icons usr/share
+	vcopy usr/share/applications usr/share
 }

From f0de0cc635f84f49a768ebf783553bc2615ff2ee Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 15:14:39 -0500
Subject: [PATCH 12/21] msbuild-bin: don't manually extract deb

---
 srcpkgs/msbuild-bin/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/msbuild-bin/template b/srcpkgs/msbuild-bin/template
index e5332b295954..094f3a43d057 100644
--- a/srcpkgs/msbuild-bin/template
+++ b/srcpkgs/msbuild-bin/template
@@ -3,7 +3,7 @@ _xamarin_rel="xamarinxplat.2021.05.26.14.00-0xamarin2+ubuntu2004b1"
 pkgname=msbuild-bin
 version=16.10.1
 revision=1
-build_style=fetch
+create_wrksrc=yes
 depends="mono"
 short_desc="Xamarin/Mono fork of the Microsoft Build system"
 maintainer="Aloz1 <kno0001@gmail.com>"
@@ -12,13 +12,8 @@ homepage="https://github.com/mono/msbuild"
 distfiles="http://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_${version}+${_xamarin_rel}_all.deb"
 checksum=32f1eba1c2df67bc55920cd45ce3689c32a5c705ae01fd7ead52ca180221b469
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/msbuild-bin-${version}/msbuild_${version}+${_xamarin_rel}_all.deb
-	bsdtar xf data.tar.xz
-}
-
 do_install() {
 	vbin usr/bin/msbuild
-	vcopy usr/lib usr
+	vcopy usr/lib /usr
 	vlicense usr/share/doc/msbuild/copyright
 }

From c4b81cac9e68287a0d45e31815c0dc485dcec1f2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 01:58:19 -0500
Subject: [PATCH 13/21] openbazaar: don't manually extract deb

---
 srcpkgs/openbazaar/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/openbazaar/template b/srcpkgs/openbazaar/template
index 00103d221bf6..f1f8d85de9fd 100644
--- a/srcpkgs/openbazaar/template
+++ b/srcpkgs/openbazaar/template
@@ -3,7 +3,7 @@ pkgname=openbazaar
 version=1.1.13
 revision=2
 archs="i686 x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="nodejs"
 short_desc="P2P Distributed marketplace"
 maintainer="ananteris <ananteris@protonmail.ch>"
@@ -22,11 +22,11 @@ case "${XBPS_TARGET_MACHINE}" in
 		;;
 esac
 
-distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/${pkgname}_${version}_${_debarch}.deb"
+distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/openbazaar_${version}_${_debarch}.deb"
 
 do_install() {
-	ar p ${pkgname}_${version}_${_debarch}.deb data.tar.xz | bsdtar xvf - -C ${DESTDIR}
-	vlicense ${DESTDIR}/usr/share/openbazaar/LICENSE
+	vcopy usr /
+	vlicense usr/share/openbazaar/LICENSE
 	vmkdir usr/lib/openbazaar/resources
 	mv -v ${DESTDIR}/usr/share/openbazaar/resources/OpenBazaar-Server \
 		${DESTDIR}/usr/lib/openbazaar/resources

From 9a58ffc894ba9a5f13f385750f98b100c684fae5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:12:21 -0500
Subject: [PATCH 14/21] parsec: don't manually extract deb

also appease xlint
---
 srcpkgs/parsec/template | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/parsec/template b/srcpkgs/parsec/template
index 0a40b877ac47..26018c05a779 100644
--- a/srcpkgs/parsec/template
+++ b/srcpkgs/parsec/template
@@ -3,24 +3,23 @@ pkgname=parsec
 version=150.28
 revision=2
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="libgcc virtual?libGL libSM libsndio libstdc++ libX11 libXxf86vm"
 short_desc="Low latency proprietary game streaming application"
 maintainer="Kozova1 <mug66kk@gmail.com>"
-license="Proprietary"
-homepage="https://parsecgaming.com"
+license="custom:Proprietary"
+homepage="https://parsec.app"
 distfiles="https://s3.amazonaws.com/parsec-build/package/parsec-linux.deb"
 checksum=0c7207f419377fc35e30448acd00d8701300ac5a44936ac6d87a468c9afccdc1
 nopie=yes
 restricted=yes
 
-do_extract() {
-	ar x "${XBPS_SRCDISTDIR}/${pkgname}-${version}/parsec-linux.deb"
-}
-
 do_install() {
-	bsdtar xf "data.tar.xz" -C ${DESTDIR}
+	vcopy usr /
 	vmkdir usr/lib/parsec
 	mv ${DESTDIR}/usr/share/parsec/skel/parsecd-150-28.so ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so
 	ln -rs ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so ${DESTDIR}/usr/share/parsec/skel/
+
+	echo 'see https://unity.com/legal/parsec-additional-terms' > EULA
+	vlicense EULA
 }

From 73a33d8cfc3d21428fc9dc6de1b991291eeb8d28 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:22:16 -0500
Subject: [PATCH 15/21] protonmail-bridge: don't manually extract deb

---
 srcpkgs/protonmail-bridge/template | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/protonmail-bridge/template b/srcpkgs/protonmail-bridge/template
index b690d2a7d6e8..e56e1faaced6 100644
--- a/srcpkgs/protonmail-bridge/template
+++ b/srcpkgs/protonmail-bridge/template
@@ -3,7 +3,7 @@ pkgname=protonmail-bridge
 version=2.1.3
 revision=1
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="desktop-file-utils"
 short_desc="ProtonMail Bridge for use with E-mail software"
 maintainer="Rich G <rich@richgannon.net>"
@@ -17,7 +17,5 @@ noverifyrdeps=yes
 nopie=yes
 
 do_install() {
-	ar x protonmail-bridge_${version}-1_amd64.deb data.tar.gz
-	bsdtar xpvf data.tar.gz
-	cp -r usr ${DESTDIR}
+	vcopy usr /
 }

From c513e4d90e901c38687e651d59340e1da4fa5482 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:28:04 -0500
Subject: [PATCH 16/21] slack-desktop: don't manually extract deb

---
 srcpkgs/slack-desktop/template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/srcpkgs/slack-desktop/template b/srcpkgs/slack-desktop/template
index 933224663f29..eda55b04868f 100644
--- a/srcpkgs/slack-desktop/template
+++ b/srcpkgs/slack-desktop/template
@@ -3,7 +3,6 @@ pkgname=slack-desktop
 version=4.29.144
 revision=1
 archs="x86_64"
-hostmakedepends="tar xz"
 depends="xdg-utils"
 short_desc="Messaging app for teams"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -15,11 +14,6 @@ restricted=yes
 repository="nonfree"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-${version}-amd64.deb
-	tar xf data.tar.xz
-}
-
 do_install() {
 	vlicense usr/share/doc/slack-desktop/OPEN_SOURCE_LICENSE_ATTRIBUTIONS
 	vinstall usr/share/applications/slack.desktop 644 usr/share/applications

From 635a2da14a893b930dd53afdeb10131b0c87116c Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:38:03 -0500
Subject: [PATCH 17/21] spotify: don't manually extract deb

---
 srcpkgs/spotify/template | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/srcpkgs/spotify/template b/srcpkgs/spotify/template
index faf00539da70..d6cd4480b73d 100644
--- a/srcpkgs/spotify/template
+++ b/srcpkgs/spotify/template
@@ -2,18 +2,15 @@
 pkgname=spotify
 version=1.1.84
 revision=2
-_ver="${version}.716.gc5f8b819_amd64"
-_filename="spotify-client_${_ver}.deb"
 archs="x86_64"
 create_wrksrc=yes
-build_style=fetch
 hostmakedepends="curl w3m libcurl"
 depends="libcurl"
 short_desc="Proprietary music streaming client"
 maintainer="Stefan Mühlinghaus <jazzman@alphabreed.com>"
 license="custom:Proprietary"
 homepage="https://www.spotify.com"
-distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/${_filename}"
+distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}.716.gc5f8b819_amd64.deb"
 checksum=08e6b2666dc2a39624890e553a3046d05ecebe17bcc2fe930d49314b2fb812c7
 _license_checksum=4465d0bba5deb87866184b04ba76604cd93561c0dc9cd21cacdf5b0295bdae3a
 repository=nonfree
@@ -31,11 +28,6 @@ post_extract() {
 	fi
 }
 
-do_build() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
 	vbin "${FILESDIR}/spotify"
 

From 5e11a97408c96439c96e8f29367d20f4e873767b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:39:42 -0500
Subject: [PATCH 18/21] teams-bin: don't manually extract deb

---
 srcpkgs/teams-bin/template | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/srcpkgs/teams-bin/template b/srcpkgs/teams-bin/template
index d5825ca74d89..ccb1db96ee8a 100644
--- a/srcpkgs/teams-bin/template
+++ b/srcpkgs/teams-bin/template
@@ -3,20 +3,16 @@ pkgname=teams-bin
 version=1.5.00.23861
 revision=1
 archs="x86_64"
+create_wrksrc=yes
 short_desc="Official Microsoft Teams client"
 maintainer="Piraty <piraty1@inbox.ru>"
 license="custom:Proprietary"
 homepage="https://teams.microsoft.com/downloads"
 distfiles="https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb"
 checksum=87462709e257fff9784de809559b5abd5dc7af18d8505d856b92a66989995bc1
-
 repository=nonfree
 restricted=yes
 
-do_extract() {
-	ar p "${XBPS_SRCDISTDIR}/${pkgname}-${version}/teams_${version}_amd64.deb" data.tar.xz | bsdtar --extract --xz -f - -C .
-}
-
 do_install() {
 	# use our simple wrapper instead of the provided one
 	vbin ${FILESDIR}/teams-wrapper.sh teams
@@ -32,9 +28,7 @@ do_install() {
 	vlicense usr/share/teams/resources/ThirdPartyNotice.txt
 	vlicense usr/share/teams/LICENSE
 	vlicense usr/share/teams/LICENSES.chromium.html
-}
 
-post_install() {
 	# purge bundled libraries, but keep those not provided by Void
 	mkdir libsave
 	for lib in libffmpeg.so; do

From 6e4ef9e70bb0158ce6d0c0b9a2294804eca972b2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:42:32 -0500
Subject: [PATCH 19/21] vivaldi: don't manually extract deb

---
 srcpkgs/vivaldi/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/vivaldi/template b/srcpkgs/vivaldi/template
index 097ede0edb31..3317adcbdbb9 100644
--- a/srcpkgs/vivaldi/template
+++ b/srcpkgs/vivaldi/template
@@ -19,9 +19,8 @@ repository=nonfree
 restricted=yes
 nostrip=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/vivaldi-stable_${version}-${_release}_amd64.deb
-	bsdtar xf data.tar.xz --exclude={./etc,./opt/vivaldi/cron}
+post_extract() {
+	rm -r etc opt/vivaldi/cron
 }
 
 do_install() {

From 0b17a52477d0e40132cd43a5ac34a1ce0ff2a0bd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:48:57 -0500
Subject: [PATCH 20/21] xkb-qwerty-fr: don't manually extract deb

---
 srcpkgs/xkb-qwerty-fr/template | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/xkb-qwerty-fr/template b/srcpkgs/xkb-qwerty-fr/template
index 18c2798cb3e5..d265dd828894 100644
--- a/srcpkgs/xkb-qwerty-fr/template
+++ b/srcpkgs/xkb-qwerty-fr/template
@@ -2,19 +2,16 @@
 pkgname=xkb-qwerty-fr
 version=0.5
 revision=2
+create_wrksrc=yes
 short_desc="French qwerty X11 keymap"
 maintainer="Franklin Delehelle <franklin.delehelle@odena.eu>"
 license="GPL-2.0-or-later"
 homepage="http://marin.jb.free.fr/qwerty-fr/"
-distfiles="http://marin.jb.free.fr/qwerty-fr/${pkgname}_${version}_all.deb"
+distfiles="http://marin.jb.free.fr/qwerty-fr/xkb-qwerty-fr_${version}_all.deb"
 checksum=03fc6b72b62fb6661e5671bc3e500934ed9aa457159141ef02d989616276ef64
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}_${version}_all.deb
-	bsdtar xvf data.tar.gz
-}
 do_install() {
 	rm usr/share/doc/xkb-qwerty-fr/copyright
 	rm usr/share/doc/xkb-qwerty-fr/changelog.gz
-	vcopy usr usr
+	vcopy usr /
 }

From 8dc024bd8530f4831d7a2c87b7fe439b15be3e34 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 03:01:14 -0500
Subject: [PATCH 21/21] yandex-disk: update to 0.1.6.1080

don't manually extract deb
---
 srcpkgs/yandex-disk/template | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/yandex-disk/template b/srcpkgs/yandex-disk/template
index 743502441ba5..920677ccbf7f 100644
--- a/srcpkgs/yandex-disk/template
+++ b/srcpkgs/yandex-disk/template
@@ -1,6 +1,6 @@
 # Template file for 'yandex-disk'
 pkgname=yandex-disk
-version=0.1.6.1074
+version=0.1.6.1080
 revision=1
 archs="i686 x86_64"
 short_desc="Console client for Yandex.Disk"
@@ -12,27 +12,21 @@ restricted=yes
 nostrip_files=yandex-disk
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
-	debpkgid="${pkgname}_${version}_amd64.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=dddc57d2dbb1a68d8aef67450d138a9b7c7975438c10b6bbf5a0214e7fd47ecd
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_amd64.deb"
+	checksum=47ba503b4dfccecc824386d67d686abe4b5356b8b546e48fce8811b5fa88a718
 else
-	debpkgid="${pkgname}_${version}_i386.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=b0b0d25a966c1c48aef87bb5bceeb41d2150859cb64896fe07c765ad73bdf242
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_i386.deb"
+	checksum=9d94d0036e22509950b2acceaa9520f36d1370256d2f9b56d7696f9ff09e249b
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${debpkgid}
-	bsdtar xzpvf data.tar.gz
-	gunzip usr/share/man/man1/yandex-disk.1.gz
+post_patch() {
+	vsed -e "s/^\(have.*\)/\#\1/" -i etc/bash_completion.d/yandex-disk-completion.bash
 }
 
 do_install() {
 	vbin usr/bin/yandex-disk
 	vlicense usr/share/doc/yandex-disk/copyright
-	vman usr/share/man/man1/yandex-disk.1
+	vcopy usr/share/man usr/share
 	vcopy usr/share/locale usr/share
-	install -m644 -D etc/bash_completion.d/yandex-disk-completion.bash \
-		${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
-	vsed -e "s/^\(have.*\)/\#\1/" -i ${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
+	vcompletion etc/bash_completion.d/yandex-disk-completion.bash bash
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Updated] common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (14 preceding siblings ...)
  2022-11-19  4:19 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-11-19  4:32 ` classabbyamp
  2022-11-19  4:47 ` [PR PATCH] [Merged]: " classabbyamp
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-19  4:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 673 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages deb-extract
https://github.com/void-linux/void-packages/pull/40405

common/hooks/do-extract/00-distfiles.sh: support deb files
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES** (tested extraction/installation works for all packages with debs, packages generated are sane and are the same as before, except where deliberately changed)


A patch file from https://github.com/void-linux/void-packages/pull/40405.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-deb-extract-40405.patch --]
[-- Type: text/x-diff, Size: 35232 bytes --]

From 111d6709c26073563f0b19a2f074d3cec2130560 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 8 Nov 2022 22:36:31 -0500
Subject: [PATCH 01/21] common/hooks/do-extract/00-distfiles.sh: support deb
 files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
 common/hooks/do-extract/00-distfiles.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/common/hooks/do-extract/00-distfiles.sh b/common/hooks/do-extract/00-distfiles.sh
index c173fe2af1ea..b3f3b90b7b80 100644
--- a/common/hooks/do-extract/00-distfiles.sh
+++ b/common/hooks/do-extract/00-distfiles.sh
@@ -3,7 +3,7 @@
 
 hook() {
 	local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
-	local f j curfile found extractdir innerdir num_dirs
+	local f j curfile found extractdir innerdir innerfile num_dirs
 	local TAR_CMD
 
 	if [ -z "$distfiles" -a -z "$checksum" ]; then
@@ -62,6 +62,7 @@ hook() {
 		*.tar)        cursufx="tar";;
 		*.zip)        cursufx="zip";;
 		*.rpm)        cursufx="rpm";;
+		*.deb)        cursufx="deb";;
 		*.patch)      cursufx="txt";;
 		*.diff)       cursufx="txt";;
 		*.txt)        cursufx="txt";;
@@ -84,7 +85,7 @@ hook() {
 			cd "$extractdir"
 			case ${cursufx} in
 			gz)
-				 gunzip -f $curfile
+				gunzip -f $curfile
 				;;
 			bz2)
 				bunzip2 -f $curfile
@@ -120,6 +121,17 @@ hook() {
 				msg_error "$pkgver: cannot find rpmextract for extraction.\n"
 			fi
 			;;
+		deb)
+			if command -v bsdtar &>/dev/null; then
+				bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
+				bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
+				if [ $? -ne 0 ]; then
+					msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
+				fi
+			else
+				msg_error "$pkgver: cannot find bsdtar for extraction.\n"
+			fi
+			;;
 		txt)
 			cp -f $srcdir/$curfile "$extractdir"
 			;;

From 01ffb9769c856734d54470a38d46cc30c9f23191 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:28:38 -0500
Subject: [PATCH 02/21] bitwig-studio: don't manually extract deb

---
 srcpkgs/bitwig-studio/template | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/bitwig-studio/template b/srcpkgs/bitwig-studio/template
index 894ac6e30207..feca298e7a08 100644
--- a/srcpkgs/bitwig-studio/template
+++ b/srcpkgs/bitwig-studio/template
@@ -8,22 +8,14 @@ short_desc="DAW for music production, remixing and live performance"
 maintainer="Alessandro Saglia <ale.saglia@gmail.com>"
 license="custom:bitwig"
 homepage="https://bitwig.com/"
-_file="bitwig-studio-${version}.deb"
-distfiles="https://downloads.bitwig.com/stable/${version}/${_file}"
+distfiles="https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"
 checksum=ca10802a56cb8f2072c244986356aa6d41859401c12d1f20f313c322aa142199
 nostrip=yes
 restricted=yes
 repository=nonfree
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/bitwig-studio-${version}/${_file}
-}
-
 do_install() {
-	bsdtar -xf data.tar.xz -C ${DESTDIR}
-}
-
-post_install() {
-	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.rtf
+	vcopy opt /
+	vcopy usr /
+	vlicense ${DESTDIR}/opt/bitwig-studio/EULA.txt
 }

From 4b23c3c3885a7383723b45efd0a2e2c08d5cfbcb Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:29:25 -0500
Subject: [PATCH 03/21] brother-brscan3: don't manually extract deb

---
 srcpkgs/brother-brscan3/template | 50 ++++++++++++++------------------
 1 file changed, 21 insertions(+), 29 deletions(-)

diff --git a/srcpkgs/brother-brscan3/template b/srcpkgs/brother-brscan3/template
index 3a0e1e9bd10a..e5aa0533b125 100644
--- a/srcpkgs/brother-brscan3/template
+++ b/srcpkgs/brother-brscan3/template
@@ -4,8 +4,8 @@ version=0.2.13
 revision=2
 archs="i686 x86_64"
 create_wrksrc=yes
-hostmakedepends="tar"
-makedepends="sane-devel curl"
+hostmakedepends="curl"
+makedepends="sane-devel"
 depends="sane"
 short_desc="SANE scanner driver for brscan3-compatible Brother scanners"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -16,38 +16,13 @@ nodebug=yes
 _license_checksum=4ab8b9269a74377ee85458cc4dfbacfbf6d26665426572fe16f7102af214bd3c
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
-	debpkgid="1.amd64"
-	distfiles="https://download.brother.com/welcome/dlf006642/brscan3-${version}-${debpkgid}.deb"
+	distfiles="https://download.brother.com/welcome/dlf006642/brscan3-${version}-1.amd64.deb"
 	checksum="446adf531bf39032892e9504ce34b7bf889e0f8628c0732cebb3b83fafb327b8"
-	mylibdir="lib64"
 elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
-	debpkgid="1.i386"
-	distfiles="https://download.brother.com/welcome/dlf006641/brscan3-${version}-${debpkgid}.deb"
+	distfiles="https://download.brother.com/welcome/dlf006641/brscan3-${version}-1.i386.deb"
 	checksum="ad06665cac32035893f614d9305dabf73145af454f1aeb6b8b7c7fa2700fe2e6"
-	mylibdir="lib"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brscan3-${version}-${debpkgid}.deb
-	cd ${wrksrc}
-	bsdtar xzpvf data.tar.gz
-}
-
-do_install() {
-	# dlls and symlink (correctly put in /usr/lib)
-	cd ${wrksrc}
-	vinstall ./usr/${mylibdir}/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
-	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
-	vinstall ./usr/${mylibdir}/libbrscandec3.so.1.0.0 755 usr/lib
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
-	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
-	vmkdir /opt/Brother
-	vcopy "./usr/local/Brother/*" /opt/Brother/
-	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
-	vlicense LICENSE
-}
-
 post_extract() {
 	curl -sk https://support.brother.com/g/s/agreement/English_lpr/agree.html | \
 		sed -n \
@@ -63,4 +38,21 @@ post_extract() {
 	if [ "$filesum" != "$_license_checksum" ]; then
 		msg_error "SHA256 mismatch for LICENSE:\n$filesum\n"
 	fi
+
+	if [ -d usr/lib64 ]; then
+		mv usr/lib64 usr/lib
+	fi
+}
+
+do_install() {
+	vinstall usr/lib/sane/libsane-brother3.so.1.0.7 755 usr/lib/sane
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so.1
+	ln -sf /usr/lib/sane/libsane-brother3.so.1.0.7 ${DESTDIR}/usr/lib/sane/libsane-brother3.so
+	vinstall usr/lib/libbrscandec3.so.1.0.0 755 usr/lib
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so.1
+	ln -sf /usr/lib/libbrscandec3.so.1.0.0 ${DESTDIR}/usr/lib/libbrscandec3.so
+	vmkdir /opt
+	vcopy usr/local/Brother /opt
+	chmod o-w ${DESTDIR}/opt/Brother/sane/brsanenetdevice3.cfg
+	vlicense LICENSE
 }

From cf632fe812e415e4b1980431d689cd870f02e247 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:33:40 -0500
Subject: [PATCH 04/21] brother-dcp197c-cupswrapper: don't manually extract deb

---
 srcpkgs/brother-dcp197c-cupswrapper/template | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-cupswrapper/template b/srcpkgs/brother-dcp197c-cupswrapper/template
index 0f71ea4ae0ad..f428a2ff2ff2 100644
--- a/srcpkgs/brother-dcp197c-cupswrapper/template
+++ b/srcpkgs/brother-dcp197c-cupswrapper/template
@@ -13,13 +13,8 @@ distfiles="https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-${v
 checksum="d3ebfad8231939900b8041022d6c35a0ee7a1a417f7ffdab2ae371b54a00bab8"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197ccupswrapper-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
 	rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
 	vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
 	vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/

From e360dd1112c57fa10f2e707909da4406bfd33af0 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:36:07 -0500
Subject: [PATCH 05/21] brother-dcp197c-lpr: don't manually extract deb

---
 srcpkgs/brother-dcp197c-lpr/template | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/brother-dcp197c-lpr/template b/srcpkgs/brother-dcp197c-lpr/template
index 3d4067d2c9a9..d72790ea9b82 100644
--- a/srcpkgs/brother-dcp197c-lpr/template
+++ b/srcpkgs/brother-dcp197c-lpr/template
@@ -3,7 +3,6 @@ pkgname=brother-dcp197c-lpr
 version=1.1.3
 revision=6
 archs="i686 x86_64"
-create_wrksrc=yes
 depends="a2ps ghostscript"
 short_desc="LPR driver for the brother DCP-197C printer/scanner"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,11 +17,7 @@ if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	depends+=" glibc-32bit"
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/dcp197clpr-${version}-1.i386.deb
-}
-
 do_install() {
-	mkdir -p ${DESTDIR}
-	bsdtar xzpvf data.tar.gz -C ${DESTDIR}
+	vcopy opt /
+	vcopy usr /
 }

From a4db98dccfa5bb63ab2c3efed061886309182596 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:42:12 -0500
Subject: [PATCH 06/21] clearlooks-phenix-darkpurpy-theme: don't manually
 extract deb

---
 srcpkgs/clearlooks-phenix-darkpurpy-theme/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
index bd641d81ca43..14fbe69751d2 100644
--- a/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
+++ b/srcpkgs/clearlooks-phenix-darkpurpy-theme/template
@@ -3,7 +3,6 @@ pkgname=clearlooks-phenix-darkpurpy-theme
 version=7.0.2
 revision=2
 _devuan_rel="1+devuan2.0"
-build_style=fetch
 depends="gnome-themes-standard gtk-engine-murrine gtk2-engines"
 short_desc="Dark-purpified GTK3 port of Clearlooks theme"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -13,8 +12,6 @@ distfiles="http://packages.devuan.org/devuan/pool/main/c/${pkgname}/${pkgname}_$
 checksum=6b3dd568cb1ee37c5758ef55338b2b8784e7409cb2239a5d4b53de7af2584970
 
 do_install() {
-	bsdtar xf ${pkgname}_${version}-${_devuan_rel}_all.deb
-	bsdtar xf data.tar.xz
-	vmkdir usr/share/themes
-	vcopy usr/share/themes/Clearlooks-Phenix-DarkPurpy usr/share/themes
+	vmkdir usr/share
+	vcopy usr/share/themes usr/share
 }

From 2c28295583db91c601358182a68a55ea159d6345 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:52:20 -0500
Subject: [PATCH 07/21] debootstrap: don't manually extract deb

---
 srcpkgs/debootstrap/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index ab7dac04cba9..e27c8b6c8662 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -2,13 +2,12 @@
 pkgname=debootstrap
 version=1.0.128+nmu2
 revision=1
-build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
 short_desc="Bootstrap a basic Debian system"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
-distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
+distfiles="${DEBIAN_SITE}/main/d/debootstrap/debootstrap_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
 checksum="284fd2a38bd3522bfaa475540d8c622dde29e465b3439223c950023c5a45df60
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
@@ -25,12 +24,19 @@ case "$XBPS_TARGET_MACHINE" in
 	*) broken="please add your architecture";;
 esac
 
+post_extract() {
+	for x in bullseye buster removed stretch; do
+		rm usr/share/keyrings/debian-archive-$x-*
+	done
+	rm -r usr/share/doc/debian-archive-keyring
+
+	mv usr/sbin usr/bin
+	echo ${_debarch} > usr/share/debootstrap/arch
+}
+
 do_install() {
-	bsdtar xOf ${pkgname}_${version}_all.deb data.tar.gz | bsdtar xvzf - -C ${DESTDIR}
-	bsdtar xOf debian-archive-keyring_2021.1.1_all.deb data.tar.xz | bsdtar xvJf - -C ${DESTDIR} ./usr/share/keyrings/debian-archive-keyring.gpg
-	mv ${DESTDIR}/usr/sbin ${DESTDIR}/usr/bin
+	vcopy usr /
 	sed -i 's|export PATH|export PATH="/usr/sbin:/sbin:/usr/bin:/bin"|' ${DESTDIR}/usr/bin/debootstrap
 	vlicense ${DESTDIR}/usr/share/doc/debootstrap/copyright LICENSE
 	rm ${DESTDIR}/usr/share/doc/debootstrap/copyright
-	echo ${_debarch} >${DESTDIR}/usr/share/debootstrap/arch
 }

From 7ddc20fb7227a742ad65df7642fc7465e4d7bdb1 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 03:55:39 -0500
Subject: [PATCH 08/21] fah: don't manually extract deb

---
 srcpkgs/fah/template | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/fah/template b/srcpkgs/fah/template
index 8fb277fef313..d25877761daf 100644
--- a/srcpkgs/fah/template
+++ b/srcpkgs/fah/template
@@ -22,22 +22,12 @@ system_accounts="_fah"
 _fah_homedir="/usr/libexec/_fah"
 _fah_descr="Folding@Home user"
 
-do_extract() {
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahclient_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahcontrol_${version}-1_all.deb \
-		data.tar.xz | bsdtar -x -f -
-	ar p ${XBPS_SRCDISTDIR}/${pkgname}-${version}/fahviewer_${version}_amd64.deb \
-		data.tar.xz | bsdtar -x -f -
-}
-
 do_install() {
-	vmkdir usr
-	vcopy ${wrksrc}/usr/* usr
+	vcopy usr /
 	vsv FAHClient
 	mv -v ${DESTDIR}/usr/lib/python2.7/{dist,site}-packages
 	vlicense ${DESTDIR}/usr/share/doc/fahclient/copyright LICENSE.FAHClient
 	vlicense ${DESTDIR}/usr/share/doc/fahviewer/LICENSE LICENSE.FAHViewer
-	# Example file to modfiy or cut+paste from for /etc/sv/FAHClient/config
+	# Example file to modify or cut+paste from for /etc/sv/FAHClient/config
 	vsconf ${FILESDIR}/config.example
 }

From 2ba5f908f81ba2b7b576f152c3fd16dcf098505e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:20:22 -0500
Subject: [PATCH 09/21] google-chrome: don't manually extract deb

also clean up the template a bit
---
 srcpkgs/google-chrome/template | 38 ++++++++++++++++------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 54988d2d7c9f..b11865fd0ad9 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -4,32 +4,34 @@ version=107.0.5304.110
 revision=1
 _channel=stable
 archs="x86_64"
-hostmakedepends="tar xz python3 python3-html2text python3-setuptools"
+hostmakedepends="python3-html2text python3-setuptools"
 depends="gtk+3"
 short_desc="Attempt at creating a safer, faster, and more stable browser"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="custom:chrome"
 homepage="https://www.google.com/chrome/"
-nostrip=yes
-restricted=yes
-repository=nonfree
-skiprdeps="/opt/google/chrome/libqt5_shim.so"
-
-_baseUrl="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable"
-_filename="google-chrome-${_channel}_${version}-1_amd64.deb"
-_chromeUrl="${_baseUrl}/${_filename}"
-_licenseUrl="https://www.google.com/intl/en/chrome/terms/"
-
-distfiles="$_chromeUrl"
+distfiles="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-${_channel}_${version}-1_amd64.deb"
 checksum=52e6d1be974c36cb40469f03b128cf21b36359a05fdadbb2e0379fbb17ef341b
+_license_checksum=8023b18fb5118ef65d586363e53909861bd1a9676e5eb83c20fd3ac6e33ea0be
 
-do_extract() {
-	mkdir -p ${DESTDIR}
-	ar x ${XBPS_SRCDISTDIR}/google-chrome-${version}/${_filename}
+skiprdeps="/opt/google/chrome/libqt5_shim.so"
+repository=nonfree
+restricted=yes
+nostrip=yes
+
+post_extract() {
+	$XBPS_FETCH_CMD 'https://www.google.com/intl/en/chrome/terms/' -o google-chrome-eula.html
+	html2text google-chrome-eula.html | sed -n '/^#/,/^SEE/p' > google-chrome-eula.md
+	filesum="$(xbps-digest google-chrome-eula.md)"
+	if [ "$filesum" != "$_license_checksum" ]; then
+		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
+	fi
 }
 
 do_install() {
-	tar xf data.tar.xz -C ${DESTDIR}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
 	# Install the icons
 	for size in 16 24 32 48 64 128 256; do
@@ -47,10 +49,6 @@ do_install() {
 	# Remove the Debian/Ubuntu crontab
 	rm -rf ${DESTDIR}/etc
 	rm -rf ${DESTDIR}/opt/google/chrome/cron
-}
 
-post_install() {
-	xbps-fetch ${_licenseUrl} -o google-chrome-eula.html
-	cat google-chrome-eula.html | html2text >> google-chrome-eula.md
 	vlicense google-chrome-eula.md
 }

From 7269e4410d151e28546699e90818a7b362e8f195 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 04:33:49 -0500
Subject: [PATCH 10/21] google-earth-pro: don't manually extract deb

---
 srcpkgs/google-earth-pro/template | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/google-earth-pro/template b/srcpkgs/google-earth-pro/template
index 6bb98082cb63..17cb77f7562f 100644
--- a/srcpkgs/google-earth-pro/template
+++ b/srcpkgs/google-earth-pro/template
@@ -4,40 +4,32 @@ version=7.3.4.8738
 revision=1
 archs="x86_64"
 depends="alsa-lib desktop-file-utils fontconfig glu gst-plugins-base1
- hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script qt5-sensors qt5-webkit"
+ hicolor-icon-theme libSM libXi libXrender libcups libproxy nss qt5-script
+ qt5-sensors qt5-webkit"
 short_desc="Explore the far reaches of the world"
 maintainer="Jason Manley <jason@jasondavid.tv>"
 license="custom:Google"
 homepage="https://www.google.com/earth/index.html"
-distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/${pkgname}-stable/${pkgname}-stable_${version}-r0_amd64.deb"
+distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_amd64.deb"
 checksum=86a4f43c493a872224c76dea7cf107e0b22a1da109b4d1a43e5c82e05437790b
 repository=nonfree
 restricted=yes
 nostrip=yes
 
-post_fetch() {
-	mkdir -p "$wrksrc"
-	cd "$wrksrc"
+post_extract() {
 	$XBPS_FETCH_CMD https://www.google.com/intl/ALL/policies/terms/index.html>Google-Terms-of-Service.html \
 		https://www.google.com/help/terms_maps.html>Google-Earth-Additional-Terms-of-Service.html \
 		https://www.google.com/help/legalnotices_maps.html>Legal-Notices-for-Google-Earth-and-Google-Earth-APIs.html \
 		https://www.google.com/intl/ALL/policies/privacy/index.html>Google-Privacy-Policy.html
-	rm {index.html,legalnotices_maps.html,terms_maps.html}
-}
-
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-stable_${version}-r0_amd64.deb
-	bsdtar xf data.tar.xz
+	rm index.html legalnotices_maps.html terms_maps.html
 }
 
 do_install() {
-	vmkdir opt/google
-	vcopy opt/google/earth opt/google
-
-	vmkdir usr/bin
-	ln -s /opt/google/earth/pro/googleearth ${DESTDIR}/usr/bin/${pkgname}
+	vcopy etc /
+	vcopy opt /
+	vcopy usr /
 
-	vinstall opt/google/earth/pro/${pkgname}.desktop 644 usr/share/applications
+	vinstall opt/google/earth/pro/google-earth-pro.desktop 644 usr/share/applications
 
 	for i in 16 22 24 32 48 64 128 256; do
 		vinstall opt/google/earth/pro/product_logo_${i}.png 644 \
@@ -51,6 +43,6 @@ do_install() {
 			vlicense ${i}
 	done
 
-	sed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
+	vsed -i '/googleearth-bin/s/^/LC_NUMERIC=en_US.UTF-8 /' \
 		${DESTDIR}/opt/google/earth/pro/googleearth
 }

From de6d67787180af07850e108f89edb8fb8cddfecc Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 13:51:42 -0500
Subject: [PATCH 11/21] helden-software: don't manually extract deb

---
 srcpkgs/helden-software/template | 23 +++++------------------
 1 file changed, 5 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/helden-software/template b/srcpkgs/helden-software/template
index 77850de45887..75ede4498f93 100644
--- a/srcpkgs/helden-software/template
+++ b/srcpkgs/helden-software/template
@@ -2,37 +2,24 @@
 pkgname=helden-software
 version=5.5.3
 revision=1
-_ver="${version}-0_all"
-_filename="${pkgname}_${_ver}.deb"
-create_wrksrc=yes
-build_style=fetch
 depends="openjdk-jre"
 short_desc="Character generator for the Pen&Paper RPG DSA"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="custom:Proprietary"
 homepage="https://www.helden-software.de/"
-distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/${_filename}"
+distfiles="https://online.helden-software.de/rep/pool/main/h/helden-software/helden-software_${version}-0_all.deb"
 checksum=4bc08118ae1e78942bea543338de1ada17c21ebdb4b7f9e108910df0ba815a04
 repository="nonfree"
 restricted="yes"
 
-post_extract() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
-	vmkdir usr/lib/helden-software
-	vmkdir usr/share/applications
-	vmkdir usr/share/icons
-	vmkdir etc/default
+	vcopy etc /
 
 	vlicense usr/share/doc/helden-software/copyright
 
 	vbin usr/bin/helden-software
 
-	vcopy usr/share/icons/* usr/share/icons
-	vcopy usr/lib/heldensoftware/helden5.jar usr/lib/helden-software/helden5.jar
-	vcopy etc/default/helden-software etc/default/helden-software
-	vcopy usr/share/applications/HeldenSoftware.desktop usr/share/applications/HeldenSoftware.desktop
+	vcopy usr/lib usr
+	vcopy usr/share/icons usr/share
+	vcopy usr/share/applications usr/share
 }

From cbfc487028ccd01baccdaec8c54a8e3ef2ff6e87 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 10 Nov 2022 15:14:39 -0500
Subject: [PATCH 12/21] msbuild-bin: don't manually extract deb

---
 srcpkgs/msbuild-bin/template | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/srcpkgs/msbuild-bin/template b/srcpkgs/msbuild-bin/template
index e5332b295954..772259438b1e 100644
--- a/srcpkgs/msbuild-bin/template
+++ b/srcpkgs/msbuild-bin/template
@@ -3,7 +3,7 @@ _xamarin_rel="xamarinxplat.2021.05.26.14.00-0xamarin2+ubuntu2004b1"
 pkgname=msbuild-bin
 version=16.10.1
 revision=1
-build_style=fetch
+create_wrksrc=yes
 depends="mono"
 short_desc="Xamarin/Mono fork of the Microsoft Build system"
 maintainer="Aloz1 <kno0001@gmail.com>"
@@ -12,11 +12,6 @@ homepage="https://github.com/mono/msbuild"
 distfiles="http://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_${version}+${_xamarin_rel}_all.deb"
 checksum=32f1eba1c2df67bc55920cd45ce3689c32a5c705ae01fd7ead52ca180221b469
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/msbuild-bin-${version}/msbuild_${version}+${_xamarin_rel}_all.deb
-	bsdtar xf data.tar.xz
-}
-
 do_install() {
 	vbin usr/bin/msbuild
 	vcopy usr/lib usr

From f32c89815c697691f1502e0f24a38d601ac5c98a Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 01:58:19 -0500
Subject: [PATCH 13/21] openbazaar: don't manually extract deb

---
 srcpkgs/openbazaar/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/openbazaar/template b/srcpkgs/openbazaar/template
index 00103d221bf6..f1f8d85de9fd 100644
--- a/srcpkgs/openbazaar/template
+++ b/srcpkgs/openbazaar/template
@@ -3,7 +3,7 @@ pkgname=openbazaar
 version=1.1.13
 revision=2
 archs="i686 x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="nodejs"
 short_desc="P2P Distributed marketplace"
 maintainer="ananteris <ananteris@protonmail.ch>"
@@ -22,11 +22,11 @@ case "${XBPS_TARGET_MACHINE}" in
 		;;
 esac
 
-distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/${pkgname}_${version}_${_debarch}.deb"
+distfiles="https://github.com/OpenBazaar/OpenBazaar-Installer/releases/download/v${version}/openbazaar_${version}_${_debarch}.deb"
 
 do_install() {
-	ar p ${pkgname}_${version}_${_debarch}.deb data.tar.xz | bsdtar xvf - -C ${DESTDIR}
-	vlicense ${DESTDIR}/usr/share/openbazaar/LICENSE
+	vcopy usr /
+	vlicense usr/share/openbazaar/LICENSE
 	vmkdir usr/lib/openbazaar/resources
 	mv -v ${DESTDIR}/usr/share/openbazaar/resources/OpenBazaar-Server \
 		${DESTDIR}/usr/lib/openbazaar/resources

From 609fd1d90fe451bcd0cdaaf8d590f842bc2fcac8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:12:21 -0500
Subject: [PATCH 14/21] parsec: don't manually extract deb

also appease xlint
---
 srcpkgs/parsec/template | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/parsec/template b/srcpkgs/parsec/template
index 0a40b877ac47..26018c05a779 100644
--- a/srcpkgs/parsec/template
+++ b/srcpkgs/parsec/template
@@ -3,24 +3,23 @@ pkgname=parsec
 version=150.28
 revision=2
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="libgcc virtual?libGL libSM libsndio libstdc++ libX11 libXxf86vm"
 short_desc="Low latency proprietary game streaming application"
 maintainer="Kozova1 <mug66kk@gmail.com>"
-license="Proprietary"
-homepage="https://parsecgaming.com"
+license="custom:Proprietary"
+homepage="https://parsec.app"
 distfiles="https://s3.amazonaws.com/parsec-build/package/parsec-linux.deb"
 checksum=0c7207f419377fc35e30448acd00d8701300ac5a44936ac6d87a468c9afccdc1
 nopie=yes
 restricted=yes
 
-do_extract() {
-	ar x "${XBPS_SRCDISTDIR}/${pkgname}-${version}/parsec-linux.deb"
-}
-
 do_install() {
-	bsdtar xf "data.tar.xz" -C ${DESTDIR}
+	vcopy usr /
 	vmkdir usr/lib/parsec
 	mv ${DESTDIR}/usr/share/parsec/skel/parsecd-150-28.so ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so
 	ln -rs ${DESTDIR}/usr/lib/parsec/parsecd-150-28.so ${DESTDIR}/usr/share/parsec/skel/
+
+	echo 'see https://unity.com/legal/parsec-additional-terms' > EULA
+	vlicense EULA
 }

From 7a948ff77e0eb6efb0cea0fbe02ec602aa6df750 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:22:16 -0500
Subject: [PATCH 15/21] protonmail-bridge: don't manually extract deb

---
 srcpkgs/protonmail-bridge/template | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/protonmail-bridge/template b/srcpkgs/protonmail-bridge/template
index b690d2a7d6e8..e56e1faaced6 100644
--- a/srcpkgs/protonmail-bridge/template
+++ b/srcpkgs/protonmail-bridge/template
@@ -3,7 +3,7 @@ pkgname=protonmail-bridge
 version=2.1.3
 revision=1
 archs="x86_64"
-build_style=fetch
+create_wrksrc=yes
 depends="desktop-file-utils"
 short_desc="ProtonMail Bridge for use with E-mail software"
 maintainer="Rich G <rich@richgannon.net>"
@@ -17,7 +17,5 @@ noverifyrdeps=yes
 nopie=yes
 
 do_install() {
-	ar x protonmail-bridge_${version}-1_amd64.deb data.tar.gz
-	bsdtar xpvf data.tar.gz
-	cp -r usr ${DESTDIR}
+	vcopy usr /
 }

From ec2cd03bbb4d2ed7735c26ae30b9461448e3903b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:28:04 -0500
Subject: [PATCH 16/21] slack-desktop: don't manually extract deb

---
 srcpkgs/slack-desktop/template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/srcpkgs/slack-desktop/template b/srcpkgs/slack-desktop/template
index 933224663f29..eda55b04868f 100644
--- a/srcpkgs/slack-desktop/template
+++ b/srcpkgs/slack-desktop/template
@@ -3,7 +3,6 @@ pkgname=slack-desktop
 version=4.29.144
 revision=1
 archs="x86_64"
-hostmakedepends="tar xz"
 depends="xdg-utils"
 short_desc="Messaging app for teams"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -15,11 +14,6 @@ restricted=yes
 repository="nonfree"
 nopie=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}-${version}-amd64.deb
-	tar xf data.tar.xz
-}
-
 do_install() {
 	vlicense usr/share/doc/slack-desktop/OPEN_SOURCE_LICENSE_ATTRIBUTIONS
 	vinstall usr/share/applications/slack.desktop 644 usr/share/applications

From baf058dde43721f135d0b612892e2e52bae9694a Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:38:03 -0500
Subject: [PATCH 17/21] spotify: don't manually extract deb

---
 srcpkgs/spotify/template | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/srcpkgs/spotify/template b/srcpkgs/spotify/template
index faf00539da70..d6cd4480b73d 100644
--- a/srcpkgs/spotify/template
+++ b/srcpkgs/spotify/template
@@ -2,18 +2,15 @@
 pkgname=spotify
 version=1.1.84
 revision=2
-_ver="${version}.716.gc5f8b819_amd64"
-_filename="spotify-client_${_ver}.deb"
 archs="x86_64"
 create_wrksrc=yes
-build_style=fetch
 hostmakedepends="curl w3m libcurl"
 depends="libcurl"
 short_desc="Proprietary music streaming client"
 maintainer="Stefan Mühlinghaus <jazzman@alphabreed.com>"
 license="custom:Proprietary"
 homepage="https://www.spotify.com"
-distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/${_filename}"
+distfiles="http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}.716.gc5f8b819_amd64.deb"
 checksum=08e6b2666dc2a39624890e553a3046d05ecebe17bcc2fe930d49314b2fb812c7
 _license_checksum=4465d0bba5deb87866184b04ba76604cd93561c0dc9cd21cacdf5b0295bdae3a
 repository=nonfree
@@ -31,11 +28,6 @@ post_extract() {
 	fi
 }
 
-do_build() {
-	ar x "${_filename}"
-	bsdtar -xf data.tar.gz
-}
-
 do_install() {
 	vbin "${FILESDIR}/spotify"
 

From f73fe5edaa0827ef8c99be301d8836c8a9a4ab2e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:39:42 -0500
Subject: [PATCH 18/21] teams-bin: don't manually extract deb

---
 srcpkgs/teams-bin/template | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/srcpkgs/teams-bin/template b/srcpkgs/teams-bin/template
index d5825ca74d89..ccb1db96ee8a 100644
--- a/srcpkgs/teams-bin/template
+++ b/srcpkgs/teams-bin/template
@@ -3,20 +3,16 @@ pkgname=teams-bin
 version=1.5.00.23861
 revision=1
 archs="x86_64"
+create_wrksrc=yes
 short_desc="Official Microsoft Teams client"
 maintainer="Piraty <piraty1@inbox.ru>"
 license="custom:Proprietary"
 homepage="https://teams.microsoft.com/downloads"
 distfiles="https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb"
 checksum=87462709e257fff9784de809559b5abd5dc7af18d8505d856b92a66989995bc1
-
 repository=nonfree
 restricted=yes
 
-do_extract() {
-	ar p "${XBPS_SRCDISTDIR}/${pkgname}-${version}/teams_${version}_amd64.deb" data.tar.xz | bsdtar --extract --xz -f - -C .
-}
-
 do_install() {
 	# use our simple wrapper instead of the provided one
 	vbin ${FILESDIR}/teams-wrapper.sh teams
@@ -32,9 +28,7 @@ do_install() {
 	vlicense usr/share/teams/resources/ThirdPartyNotice.txt
 	vlicense usr/share/teams/LICENSE
 	vlicense usr/share/teams/LICENSES.chromium.html
-}
 
-post_install() {
 	# purge bundled libraries, but keep those not provided by Void
 	mkdir libsave
 	for lib in libffmpeg.so; do

From cbe8c5a060461cbc49ba8492e6003132058250c6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:42:32 -0500
Subject: [PATCH 19/21] vivaldi: don't manually extract deb

---
 srcpkgs/vivaldi/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/vivaldi/template b/srcpkgs/vivaldi/template
index 097ede0edb31..3317adcbdbb9 100644
--- a/srcpkgs/vivaldi/template
+++ b/srcpkgs/vivaldi/template
@@ -19,9 +19,8 @@ repository=nonfree
 restricted=yes
 nostrip=yes
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/vivaldi-stable_${version}-${_release}_amd64.deb
-	bsdtar xf data.tar.xz --exclude={./etc,./opt/vivaldi/cron}
+post_extract() {
+	rm -r etc opt/vivaldi/cron
 }
 
 do_install() {

From 8fd242b9f2891d137aee34f27a1eb037c5a524ce Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 02:48:57 -0500
Subject: [PATCH 20/21] xkb-qwerty-fr: don't manually extract deb

---
 srcpkgs/xkb-qwerty-fr/template | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/xkb-qwerty-fr/template b/srcpkgs/xkb-qwerty-fr/template
index 18c2798cb3e5..d265dd828894 100644
--- a/srcpkgs/xkb-qwerty-fr/template
+++ b/srcpkgs/xkb-qwerty-fr/template
@@ -2,19 +2,16 @@
 pkgname=xkb-qwerty-fr
 version=0.5
 revision=2
+create_wrksrc=yes
 short_desc="French qwerty X11 keymap"
 maintainer="Franklin Delehelle <franklin.delehelle@odena.eu>"
 license="GPL-2.0-or-later"
 homepage="http://marin.jb.free.fr/qwerty-fr/"
-distfiles="http://marin.jb.free.fr/qwerty-fr/${pkgname}_${version}_all.deb"
+distfiles="http://marin.jb.free.fr/qwerty-fr/xkb-qwerty-fr_${version}_all.deb"
 checksum=03fc6b72b62fb6661e5671bc3e500934ed9aa457159141ef02d989616276ef64
 
-do_extract() {
-	bsdtar xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}_${version}_all.deb
-	bsdtar xvf data.tar.gz
-}
 do_install() {
 	rm usr/share/doc/xkb-qwerty-fr/copyright
 	rm usr/share/doc/xkb-qwerty-fr/changelog.gz
-	vcopy usr usr
+	vcopy usr /
 }

From 355cbcdd814ac63fb40e1bee34a506f144382ac0 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 11 Nov 2022 03:01:14 -0500
Subject: [PATCH 21/21] yandex-disk: update to 0.1.6.1080

don't manually extract deb
---
 srcpkgs/yandex-disk/template | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/yandex-disk/template b/srcpkgs/yandex-disk/template
index 743502441ba5..920677ccbf7f 100644
--- a/srcpkgs/yandex-disk/template
+++ b/srcpkgs/yandex-disk/template
@@ -1,6 +1,6 @@
 # Template file for 'yandex-disk'
 pkgname=yandex-disk
-version=0.1.6.1074
+version=0.1.6.1080
 revision=1
 archs="i686 x86_64"
 short_desc="Console client for Yandex.Disk"
@@ -12,27 +12,21 @@ restricted=yes
 nostrip_files=yandex-disk
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
-	debpkgid="${pkgname}_${version}_amd64.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=dddc57d2dbb1a68d8aef67450d138a9b7c7975438c10b6bbf5a0214e7fd47ecd
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_amd64.deb"
+	checksum=47ba503b4dfccecc824386d67d686abe4b5356b8b546e48fce8811b5fa88a718
 else
-	debpkgid="${pkgname}_${version}_i386.deb"
-	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/${pkgname}/${debpkgid}"
-	checksum=b0b0d25a966c1c48aef87bb5bceeb41d2150859cb64896fe07c765ad73bdf242
+	distfiles="http://repo.yandex.ru/yandex-disk/deb/pool/main/y/yandex-disk/yandex-disk_${version}_i386.deb"
+	checksum=9d94d0036e22509950b2acceaa9520f36d1370256d2f9b56d7696f9ff09e249b
 fi
 
-do_extract() {
-	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${debpkgid}
-	bsdtar xzpvf data.tar.gz
-	gunzip usr/share/man/man1/yandex-disk.1.gz
+post_patch() {
+	vsed -e "s/^\(have.*\)/\#\1/" -i etc/bash_completion.d/yandex-disk-completion.bash
 }
 
 do_install() {
 	vbin usr/bin/yandex-disk
 	vlicense usr/share/doc/yandex-disk/copyright
-	vman usr/share/man/man1/yandex-disk.1
+	vcopy usr/share/man usr/share
 	vcopy usr/share/locale usr/share
-	install -m644 -D etc/bash_completion.d/yandex-disk-completion.bash \
-		${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
-	vsed -e "s/^\(have.*\)/\#\1/" -i ${DESTDIR}/usr/share/bash-completion/completions/yandex-disk
+	vcompletion etc/bash_completion.d/yandex-disk-completion.bash bash
 }

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PR PATCH] [Merged]: common/hooks/do-extract/00-distfiles.sh: support deb files
  2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
                   ` (15 preceding siblings ...)
  2022-11-19  4:32 ` classabbyamp
@ 2022-11-19  4:47 ` classabbyamp
  16 siblings, 0 replies; 18+ messages in thread
From: classabbyamp @ 2022-11-19  4:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 503 bytes --]

There's a merged pull request on the void-packages repository

common/hooks/do-extract/00-distfiles.sh: support deb files
https://github.com/void-linux/void-packages/pull/40405

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES** (tested extraction/installation works for all packages with debs, packages generated are sane and are the same as before, except where deliberately changed)


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-11-19  4:47 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-09  6:08 [PR PATCH] common/hooks/do-extract/00-distfiles.sh: support deb files classabbyamp
2022-11-09 11:12 ` [PR PATCH] [Updated] " sgn
2022-11-10  8:14 ` classabbyamp
2022-11-10  8:37 ` classabbyamp
2022-11-10  9:21 ` classabbyamp
2022-11-10  9:23 ` classabbyamp
2022-11-10  9:34 ` classabbyamp
2022-11-11  8:03 ` classabbyamp
2022-11-11  8:04 ` classabbyamp
2022-11-11  8:16 ` [PR PATCH] [Updated] " classabbyamp
2022-11-11  9:03 ` [PR REVIEW] " sgn
2022-11-11  9:03 ` sgn
2022-11-11 11:21 ` classabbyamp
2022-11-11 11:25 ` [PR PATCH] [Updated] " classabbyamp
2022-11-17  2:42 ` classabbyamp
2022-11-19  4:19 ` [PR PATCH] [Updated] " classabbyamp
2022-11-19  4:32 ` classabbyamp
2022-11-19  4:47 ` [PR PATCH] [Merged]: " classabbyamp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).