diff options
author | Mike Sullivan <mksully22@gmail.com> | 2019-04-05 13:56:49 +0000 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2019-04-08 09:41:28 +0000 |
commit | 24047c7f5bc3ca5ee8c1f3d00bc516f48d580a65 (patch) | |
tree | cbebd9a7a8acc62a5f0a2b6bd6d630758ee1fb9a /non-free/mongodb-tools | |
parent | 7c60dff865044cdaefa1596d7e64872a3dc111fa (diff) | |
download | aports-24047c7f5bc3ca5ee8c1f3d00bc516f48d580a65.tar.bz2 aports-24047c7f5bc3ca5ee8c1f3d00bc516f48d580a65.tar.xz |
non-free/mongodb-tools: fix build error in pcap.go use C.struct, not _Ctype_struct
Diffstat (limited to 'non-free/mongodb-tools')
-rw-r--r-- | non-free/mongodb-tools/APKBUILD | 4 | ||||
-rw-r--r-- | non-free/mongodb-tools/fix-cstruct-decls.patch | 78 |
2 files changed, 81 insertions, 1 deletions
diff --git a/non-free/mongodb-tools/APKBUILD b/non-free/mongodb-tools/APKBUILD index a9b93677b7..fb5fd2d17a 100644 --- a/non-free/mongodb-tools/APKBUILD +++ b/non-free/mongodb-tools/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Marc Vertes <mvertes@free.fr> pkgname=mongodb-tools pkgver=4.0.6 -pkgrel=0 +pkgrel=1 pkgdesc="The MongoDB tools provide import, export, and diagnostic capabilities." url="https://github.com/mongodb/mongo-tools" arch="all !s390x !aarch64" @@ -10,6 +10,7 @@ license="Apache" makedepends="$depends_dev go cyrus-sasl-dev openssl-dev libpcap-dev bash perl" options="!check" source="$pkgname-$pkgver.tar.gz::https://github.com/mongodb/mongo-tools/archive/r$pkgver.tar.gz + fix-cstruct-decls.patch fix-build.patch " builddir="$srcdir/src/github.com/mongodb/mongo-tools" @@ -35,4 +36,5 @@ package() { } sha512sums="d6185d7442a593d29db78889c55aba53e070bedd522d78d8c0bf52bb27f26c5fee6d010457f65774ea36a2e6d5280f38c95433ff76ed53ed9d74b1c811198cb7 mongodb-tools-4.0.6.tar.gz +e95ff1c3583ad8c3c4b8f14c6743fe8a5029c91e83b78bc33eae762d1d3aa48a6536c5b27183fca81b93034f4f3d91d23fef857a1f85f725d57f3a45a599fedf fix-cstruct-decls.patch 74e432b354fd75209b87461e54f79a173ba0d647a2e45a48d520ee9342236b6a50ef1c634312f4804402578b8534d59ebf10973ce90cae2bbe76407102f2b404 fix-build.patch" diff --git a/non-free/mongodb-tools/fix-cstruct-decls.patch b/non-free/mongodb-tools/fix-cstruct-decls.patch new file mode 100644 index 0000000000..87d332c5b5 --- /dev/null +++ b/non-free/mongodb-tools/fix-cstruct-decls.patch @@ -0,0 +1,78 @@ +--- a/vendor/github.com/google/gopacket/pcap/pcap.go ++++ b/vendor/github.com/google/gopacket/pcap/pcap.go +@@ -170,7 +170,7 @@ + // BPF is a compiled filter program, useful for offline packet matching. + type BPF struct { + orig string +- bpf _Ctype_struct_bpf_program // takes a finalizer, not overriden by outsiders ++ bpf C.struct_bpf_program // takes a finalizer, not overriden by outsiders + } + + // BPFInstruction is a byte encoded structure holding a BPF instruction +@@ -381,7 +381,7 @@ + + // Stats returns statistics on the underlying pcap handle. + func (p *Handle) Stats() (stat *Stats, err error) { +- var cstats _Ctype_struct_pcap_stat ++ var cstats C.struct_pcap_stat + if -1 == C.pcap_stats(p.cptr, &cstats) { + return nil, p.Error() + } +@@ -418,7 +418,7 @@ + return datalinks, nil + } + +-func (p *Handle) compileBPFFilter(expr string) (_Ctype_struct_bpf_program, error) { ++func (p *Handle) compileBPFFilter(expr string) (C.struct_bpf_program, error) { + errorBuf := (*C.char)(C.calloc(errorBufferSize, 1)) + defer C.free(unsafe.Pointer(errorBuf)) + +@@ -441,7 +441,7 @@ + } + } + +- var bpf _Ctype_struct_bpf_program ++ var bpf C.struct_bpf_program + cexpr := C.CString(expr) + defer C.free(unsafe.Pointer(cexpr)) + +@@ -459,7 +459,7 @@ + return nil, err + } + +- bpfInsn := (*[bpfInstructionBufferSize]_Ctype_struct_bpf_insn)(unsafe.Pointer(bpf.bf_insns))[0:bpf.bf_len:bpf.bf_len] ++ bpfInsn := (*[bpfInstructionBufferSize]C.struct_bpf_insn)(unsafe.Pointer(bpf.bf_insns))[0:bpf.bf_len:bpf.bf_len] + bpfInstruction := make([]BPFInstruction, len(bpfInsn), len(bpfInsn)) + + for i, v := range bpfInsn { +@@ -535,7 +535,7 @@ + + return nil + } +-func bpfInstructionFilter(bpfInstructions []BPFInstruction) (bpf _Ctype_struct_bpf_program, err error) { ++func bpfInstructionFilter(bpfInstructions []BPFInstruction) (bpf C.struct_bpf_program, err error) { + if len(bpfInstructions) < 1 { + return bpf, errors.New("bpfInstructions must not be empty") + } +@@ -548,7 +548,7 @@ + cbpfInsns := C.calloc(C.size_t(len(bpfInstructions)), C.size_t(unsafe.Sizeof(bpfInstructions[0]))) + + copy((*[bpfInstructionBufferSize]BPFInstruction)(cbpfInsns)[0:len(bpfInstructions)], bpfInstructions) +- bpf.bf_insns = (*_Ctype_struct_bpf_insn)(cbpfInsns) ++ bpf.bf_insns = (*C.struct_bpf_insn)(cbpfInsns) + + return + } +@@ -656,10 +656,10 @@ + return + } + +-func findalladdresses(addresses *_Ctype_struct_pcap_addr) (retval []InterfaceAddress) { ++func findalladdresses(addresses *C.struct_pcap_addr) (retval []InterfaceAddress) { + // TODO - make it support more than IPv4 and IPv6? + retval = make([]InterfaceAddress, 0, 1) +- for curaddr := addresses; curaddr != nil; curaddr = (*_Ctype_struct_pcap_addr)(curaddr.next) { ++ for curaddr := addresses; curaddr != nil; curaddr = (*C.struct_pcap_addr)(curaddr.next) { + // Strangely, it appears that in some cases, we get a pcap address back from + // pcap_findalldevs with a nil .addr. It appears that we can skip over + // these. |