diff options
43 files changed, 534 insertions, 471 deletions
diff --git a/experimental/firefox-esr/APKBUILD b/experimental/firefox-esr/APKBUILD index 8a518d222..2a2e54066 100644 --- a/experimental/firefox-esr/APKBUILD +++ b/experimental/firefox-esr/APKBUILD @@ -1,9 +1,6 @@ -# Contributor: William Pitcock <nenolod@dereferenced.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=firefox-esr -pkgver=60.3.0 -_pkgver=$pkgver -_xulver=$pkgver +pkgver=60.5.0 pkgrel=0 pkgdesc="Firefox web browser" url="https://www.mozilla.org/en-US/firefox/organizations/faq/" @@ -29,7 +26,6 @@ source="https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox mallinfo.patch musl-pthread-setname.patch - fix-arm-atomics-grsec.patch fix-arm-version-detect.patch mozilla-build-arm.patch missing-header-s390x.patch @@ -42,6 +38,7 @@ source="https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox fix-mutex-build.patch proper-system-hunspell.patch rust-config.patch + shut-up-warning.patch skia.patch stackwalk-x86-ppc.patch webrtc-broken.patch @@ -50,9 +47,6 @@ source="https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox firefox-safe.desktop" builddir="$srcdir"/firefox-$pkgver -_mozappdir=/usr/lib/firefox - -# help our shared-object scanner to find the libs ldpath="$_mozappdir" unpack() { @@ -149,27 +143,27 @@ package() { EOF } -sha512sums="7ded25a38835fbd73a58085e24ad83308afee1784a3bf853d75093c1500ad46988f5865c106abdae938cfbd1fb10746cc1795ece7994fd7eba8a002158cf1bcd firefox-60.3.0esr.source.tar.xz +sha512sums="dd47e38a87a1339b733c06ea3f235576bf8dce414194ab308d0dda07bf15290afbbad92b8484732daa53cf6a48b57412f7f41e30ae0ac21144c8657b86047aec firefox-60.5.0esr.source.tar.xz 76e3e6f64f4dd1206106b2b73cca3ccd312a8d907010c382ab9e2f0a497fed297abf0654d4dd90c563e6dde6403e3f9084ce927bb275fec95be87bed8adf9257 mozconfig 0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h 09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5 fix-fortify-inline.patch 70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29 mallinfo.patch 3f535b1e4e9a5a0506ef6f6d9427a84fae1efa3c8e8d6b25b21046d2d04c132bde1a7a98e415067e5c542f699d89249b8cc3d925e0be4e96db498037429691ef musl-pthread-setname.patch -ed0d344c66fc8e1cc83a11e9858b32c42e841cbeedd9eb9438811e9fcc3593dc824a8336d00058d55836cedc970aeadd6a82c6dcd7bc0fb746e564d8b478cc6c fix-arm-atomics-grsec.patch 015e1ff6dbf920033982b5df95d869a0b7bf56c6964e45e50649ddf46d1ce09563458e45240c3ecb92808662b1300b67507f7af272ba184835d91068a9e7d5b0 fix-arm-version-detect.patch e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch 6beba471b6a7fc229a9c105d58137f80cec07219e52bb9a666c787b37ca88635d6ec2eba651eccb5096429c2965709c9475c89839c255c3545f8c96c5d40f403 missing-header-s390x.patch ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch 61c7117345b4bcb045ce0287aa368d90dffd7331347021ff345d5a7c46097ffd2575f38711309ce7bdbbbec15561e03fdabcb16235ed8a325ccc8c9d5bba35a6 cmsghdr.patch -83b233e279846474bfb662d066e31f80be9055a022b126c638453ced46f70d3904dc114dbabd44800221a1bf3164350ea8c557c25d5e770e8871b7f2932c2427 endian-gfx.patch -31f0cf9663443410a996002ed0357c2ea21692ce965a30d8bfb65d0f1827173da8d8b5c831ccbc199ecbe7a577613be0dd54a09db08e620fe37e1ce977a7afb0 endianness-js.patch +11361b009d708e80afcf2eca8b02381be0c8314421eb439200c674cfa4e4bca15127f2d0dd11bf36f48d0e309d4424f949caf588f08458f8e9ba6812b83023ab endian-gfx.patch +363f1df1a78799783b4e9f887dc85d83ec83c6ec392aeacbd98dc89e543d0cd3b9d1964ce274142b44847a03c47f845cbf6fa7fa17a04b25bbaa37fc5d714730 endianness-js.patch a50b412edf9573a0bd04a43578b1c927967a616b73a5995eefb15bfa78fd2bd14e36ec05315a0703f6370ecd524e6bcb012e7285beb1245e9add9b8553acb79e fix-bug-1261392.patch d5d3ec190b1916d5c06f466a72124a3d438d90ea40d54e894105a9faf2aa2a6ce9cc21a0a80bd4408f7be867e5a660ee3d8aed40c8d1fb511cfb947739f45240 fix-mutex-build.patch 1a88c21c39d5878e2018463fe08dd3a960cdf10e650e06ef3e4f089a431800b50267d8749a7acde196bb47c45aa66058a6ed4fb4d60de2ab69e8a48cd5a109bc proper-system-hunspell.patch fd3b165e26ab931dd7eaf220d578c30b8772eab0a870710d59403c9823c2233ef941cd7eb25d1625d705de9e8a7138d0e8c4e227a185e9b687553132da96d81a rust-config.patch +21100340ff03f4257fa6a4b59e206d4d1b71c074ebae392ba616f9e6e6d4988a22eec69b40534221f9453ec3a58397fa4ab99b87abdcb7d22fabb13f9cc577d2 shut-up-warning.patch 8ef2bc4404601f66c7505f3e0a2f6d1d11e8f11e5a888dce4942cf27c86fbdbcdd66cb3d98738b7d9e25538793986140e75d51a893d22c70714ed98ef50a9894 skia.patch -d12ce112b97cbdba0748c5734a024b13032c5e0696efbd499764246e031d477b0f0a966aedc7b3bedd166bcdc2cc24d45bb9da5f678de9cff547bc6aa231cd16 stackwalk-x86-ppc.patch +e196c998a4029e4fc134fbe4b7455abb4b93644f7f07b88faef4eda900de225e72b124b5a9ab3492cbe398e17f8390d29b769a2544744a106bba6a5def540973 stackwalk-x86-ppc.patch 76409619464259e3ba52e38d640c5b6210a7fecdc75cf124c185ef356507d4d266a845e9fcdeb7766dcd547f70748123c4fa1670f6e52aadd001a3c866dc2d51 webrtc-broken.patch f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop 5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop" diff --git a/experimental/firefox-esr/endian-gfx.patch b/experimental/firefox-esr/endian-gfx.patch index ec81a9cee..ca92bf830 100644 --- a/experimental/firefox-esr/endian-gfx.patch +++ b/experimental/firefox-esr/endian-gfx.patch @@ -10,12 +10,10 @@ CLOSED TREE diff --git a/gfx/2d/Swizzle.cpp b/gfx/2d/Swizzle.cpp --- a/gfx/2d/Swizzle.cpp +++ b/gfx/2d/Swizzle.cpp -@@ -82,17 +82,17 @@ AlphaByteIndex(SurfaceFormat aFormat) +@@ -75,13 +75,13 @@ AlphaByteIndex(SurfaceFormat aFormat) // The endian-dependent bit shift to access RGB of a UINT32 pixel. - static constexpr uint32_t - RGBBitShift(SurfaceFormat aFormat) - { + static constexpr uint32_t RGBBitShift(SurfaceFormat aFormat) { #if MOZ_LITTLE_ENDIAN return 8 * RGBByteIndex(aFormat); #else @@ -25,8 +23,5 @@ diff --git a/gfx/2d/Swizzle.cpp b/gfx/2d/Swizzle.cpp } // The endian-dependent bit shift to access alpha of a UINT32 pixel. - static constexpr uint32_t - AlphaBitShift(SurfaceFormat aFormat) - { + static constexpr uint32_t AlphaBitShift(SurfaceFormat aFormat) { return (RGBBitShift(aFormat) + 24) % 32; - diff --git a/experimental/firefox-esr/endianness-js.patch b/experimental/firefox-esr/endianness-js.patch index 98e1bd092..1a04573ea 100644 --- a/experimental/firefox-esr/endianness-js.patch +++ b/experimental/firefox-esr/endianness-js.patch @@ -1,52 +1,44 @@ -# HG changeset patch -# User Steve Fink <sfink@mozilla.com> -# Date 1536603384 25200 -# Mon Sep 10 11:16:24 2018 -0700 -# Node ID f598dceb588d1adf503d30acf4e0915d07d34006 -# Parent b7dd3969261896020d7a9449d22f350a97e3517a -# EXP-Topic b1488552.enD -Bug 1488552 - JSString flags bit must alias the low 32 bits of JSObject.group_, not the high 32. r=tcampbell +Bug 1488552 - Ensure proper running on 64-bit and 32-bit BE platforms. diff --git a/js/src/gc/RelocationOverlay.h b/js/src/gc/RelocationOverlay.h --- a/js/src/gc/RelocationOverlay.h +++ b/js/src/gc/RelocationOverlay.h -@@ -29,24 +29,35 @@ struct Cell; +@@ -29,23 +29,34 @@ struct Cell; * This structure overlays a Cell that has been moved and provides a way to find * its new location. It's used during generational and compacting GC. */ - class RelocationOverlay - { - /* See comment in js/public/HeapAPI.h. */ - static const uint32_t Relocated = js::gc::Relocated; + class RelocationOverlay { + /* See comment in js/public/HeapAPI.h. */ + static const uint32_t Relocated = js::gc::Relocated; -+#if MOZ_LITTLE_ENDIAN - /* -- * Keep the low 32 bits untouched. Use them to distinguish strings from -+ * Keep the first 32 bits untouched. Use them to distinguish strings from - * objects in the nursery. - */ - uint32_t preserve_; ++#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 + /* +- * Keep the low 32 bits untouched. Use them to distinguish strings from ++ * Keep the first 32 bits untouched. Use them to distinguish strings from + * objects in the nursery. + */ + uint32_t preserve_; - /* Set to Relocated when moved. */ - uint32_t magic_; + /* Set to Relocated when moved. */ + uint32_t magic_; +#elif JS_BITS_PER_WORD == 64 -+ /* -+ * On big-endian, we need to reorder to keep preserve_ lined up with the -+ * low 32 bits of the aligned group_ pointer in JSObject. -+ */ -+ uint32_t magic_; -+ uint32_t preserve_; ++ /* ++ * On big-endian, we need to reorder to keep preserve_ lined up with the ++ * low 32 bits of the aligned group_ pointer in JSObject. ++ */ ++ uint32_t magic_; ++ uint32_t preserve_; +#else -+# error "Support for 32-bit big-endian architectures is untested. See bug 1488552." ++# error "Unknown endianness or word size" +#endif - /* The location |this| was moved to. */ - Cell* newLocation_; + /* The location |this| was moved to. */ + Cell* newLocation_; - /* A list entry to track all relocated things. */ - RelocationOverlay* next_; + /* A list entry to track all relocated things. */ + RelocationOverlay* next_; - public: + public: diff --git a/js/src/vm/StringType.h b/js/src/vm/StringType.h --- a/js/src/vm/StringType.h +++ b/js/src/vm/StringType.h @@ -68,54 +60,59 @@ diff --git a/js/src/vm/StringType.h b/js/src/vm/StringType.h #include "jsfriendapi.h" #include "builtin/String.h" -@@ -161,18 +162,30 @@ class JSString : public js::gc::Cell - static const size_t NUM_INLINE_CHARS_LATIN1 = 2 * sizeof(void*) / sizeof(JS::Latin1Char); - static const size_t NUM_INLINE_CHARS_TWO_BYTE = 2 * sizeof(void*) / sizeof(char16_t); - - /* Fields only apply to string types commented on the right. */ - struct Data - { - union { - struct { -+#if MOZ_LITTLE_ENDIAN - uint32_t flags; /* JSString */ - uint32_t length; /* JSString */ +@@ -168,8 +168,20 @@ class JSString : public js::gc::Cell + struct Data { + union { + struct { ++#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 + uint32_t flags; /* JSString */ + uint32_t length; /* JSString */ +#elif JS_BITS_PER_WORD == 64 -+ /* -+ * On big-endian, we need to reorder to keep flags lined up -+ * with the low 32 bits of the aligned group_ pointer in -+ * JSObject. -+ */ -+ uint32_t length; /* JSString */ -+ uint32_t flags; /* JSString */ ++ /* ++ * On big-endian, we need to reorder to keep flags lined up ++ * with the low 32 bits of the aligned group_ pointer in ++ * JSObject. ++ */ ++ uint32_t length; /* JSString */ ++ uint32_t flags; /* JSString */ +#else -+# error "Support for 32-bit big-endian architectures is untested. See bug 1488552." ++# error "Unknown endianness or word size" +#endif - }; - uintptr_t flattenData; /* JSRope (temporary while flattening) */ - } u1; - union { - union { - /* JS(Fat)InlineString */ - JS::Latin1Char inlineStorageLatin1[NUM_INLINE_CHARS_LATIN1]; - char16_t inlineStorageTwoByte[NUM_INLINE_CHARS_TWO_BYTE]; + }; + uintptr_t flattenData; /* JSRope (temporary while flattening) */ + } u1; --- thunderbird-60.2.1/js/src/gc/Marking-inl.h.old 2018-10-01 14:51:12.000000000 +0000 +++ thunderbird-60.2.1/js/src/gc/Marking-inl.h 2018-10-12 19:08:28.260000000 +0000 -@@ -92,10 +92,10 @@ - MOZ_ASSERT(!isForwarded()); - // The location of magic_ is important because it must never be valid to see - // the value Relocated there in a GC thing that has not been moved. -- static_assert(offsetof(RelocationOverlay, magic_) == offsetof(JSObject, group_) + sizeof(uint32_t), -- "RelocationOverlay::magic_ is in the wrong location"); -- static_assert(offsetof(RelocationOverlay, magic_) == offsetof(js::Shape, base_) + sizeof(uint32_t), -- "RelocationOverlay::magic_ is in the wrong location"); -+ //static_assert(offsetof(RelocationOverlay, magic_) == offsetof(JSObject, group_) + sizeof(uint32_t), -+ // "RelocationOverlay::magic_ is in the wrong location"); -+ //static_assert(offsetof(RelocationOverlay, magic_) == offsetof(js::Shape, base_) + sizeof(uint32_t), -+ // "RelocationOverlay::magic_ is in the wrong location"); - static_assert(offsetof(RelocationOverlay, magic_) == offsetof(JSString, d.u1.length), - "RelocationOverlay::magic_ is in the wrong location"); - magic_ = Relocated; +@@ -92,13 +92,29 @@ + MOZ_ASSERT(!isForwarded()); + // The location of magic_ is important because it must never be valid to see + // the value Relocated there in a GC thing that has not been moved. ++#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 ++ // On 32-bit, the magic_ aliases with whatever comes after the first ++ // pointer; on little-endian 64-bit, the magic_ aliases with the ++ // 32 most significant bits of the pointer, which are the second half. + static_assert(offsetof(RelocationOverlay, magic_) == + offsetof(JSObject, group_) + sizeof(uint32_t), + "RelocationOverlay::magic_ is in the wrong location"); + static_assert(offsetof(RelocationOverlay, magic_) == + offsetof(js::Shape, base_) + sizeof(uint32_t), + "RelocationOverlay::magic_ is in the wrong location"); ++#elif JS_BITS_PER_WORD == 64 ++ // On big-endian 64-bit, the magic_ aliases with the 32 most ++ // significant bits of the pointer, but now that's the first half. ++ static_assert(offsetof(RelocationOverlay, magic_) == ++ offsetof(JSObject, group_), ++ "RelocationOverlay::magic_ is in the wrong location"); ++ static_assert(offsetof(RelocationOverlay, magic_) == ++ offsetof(js::Shape, base_), ++ "RelocationOverlay::magic_ is in the wrong location"); ++#else ++# error "Unknown endianness or word size" ++#endif + static_assert( + offsetof(RelocationOverlay, magic_) == offsetof(JSString, d.u1.length), + "RelocationOverlay::magic_ is in the wrong location"); + magic_ = Relocated; --- thunderbird-60.2.1/js/src/jsfriendapi.h.old 2018-10-01 14:51:13.000000000 +0000 +++ thunderbird-60.2.1/js/src/jsfriendapi.h 2018-10-12 19:12:06.190000000 +0000 @@ -9,6 +9,7 @@ @@ -127,18 +124,18 @@ diff --git a/js/src/vm/StringType.h b/js/src/vm/StringType.h #include "mozilla/MemoryReporting.h" #include "mozilla/UniquePtr.h" @@ -640,8 +641,15 @@ - static const uint32_t LATIN1_CHARS_BIT = JS_BIT(6); - static const uint32_t EXTERNAL_FLAGS = LINEAR_BIT | NON_ATOM_BIT | JS_BIT(5); - static const uint32_t TYPE_FLAGS_MASK = JS_BIT(6) - 1; -+#if MOZ_LITTLE_ENDIAN - uint32_t flags; - uint32_t length; + static const uint32_t LATIN1_CHARS_BIT = JS_BIT(6); + static const uint32_t EXTERNAL_FLAGS = LINEAR_BIT | NON_ATOM_BIT | JS_BIT(5); + static const uint32_t TYPE_FLAGS_MASK = JS_BIT(6) - 1; ++#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 + uint32_t flags; + uint32_t length; +#elif JS_BITS_PER_WORD == 64 -+ uint32_t length; -+ uint32_t flags; ++ uint32_t length; ++ uint32_t flags; +#else -+# error "Support for 32-bit big-endian architectures is untested. See bug 1488552." ++# error "Unknown endianness or word size" +#endif - union { - const JS::Latin1Char* nonInlineCharsLatin1; - const char16_t* nonInlineCharsTwoByte; + union { + const JS::Latin1Char* nonInlineCharsLatin1; + const char16_t* nonInlineCharsTwoByte; diff --git a/experimental/firefox-esr/fix-arm-atomics-grsec.patch b/experimental/firefox-esr/fix-arm-atomics-grsec.patch deleted file mode 100644 index 0eb58f093..000000000 --- a/experimental/firefox-esr/fix-arm-atomics-grsec.patch +++ /dev/null @@ -1,306 +0,0 @@ ---- mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h.orig -+++ mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h -@@ -12,43 +35,194 @@ - namespace base { - namespace subtle { - --// 0xffff0fc0 is the hard coded address of a function provided by --// the kernel which implements an atomic compare-exchange. On older --// ARM architecture revisions (pre-v6) this may be implemented using --// a syscall. This address is stable, and in active use (hard coded) --// by at least glibc-2.7 and the Android C library. --typedef Atomic32 (*LinuxKernelCmpxchgFunc)(Atomic32 old_value, -- Atomic32 new_value, -- volatile Atomic32* ptr); --LinuxKernelCmpxchgFunc pLinuxKernelCmpxchg __attribute__((weak)) = -- (LinuxKernelCmpxchgFunc) 0xffff0fc0; -+// Memory barriers on ARM are funky, but the kernel is here to help: -+// -+// * ARMv5 didn't support SMP, there is no memory barrier instruction at -+// all on this architecture, or when targeting its machine code. -+// -+// * Some ARMv6 CPUs support SMP. A full memory barrier can be produced by -+// writing a random value to a very specific coprocessor register. -+// -+// * On ARMv7, the "dmb" instruction is used to perform a full memory -+// barrier (though writing to the co-processor will still work). -+// However, on single core devices (e.g. Nexus One, or Nexus S), -+// this instruction will take up to 200 ns, which is huge, even though -+// it's completely un-needed on these devices. -+// -+// * There is no easy way to determine at runtime if the device is -+// single or multi-core. However, the kernel provides a useful helper -+// function at a fixed memory address (0xffff0fa0), which will always -+// perform a memory barrier in the most efficient way. I.e. on single -+// core devices, this is an empty function that exits immediately. -+// On multi-core devices, it implements a full memory barrier. -+// -+// * This source could be compiled to ARMv5 machine code that runs on a -+// multi-core ARMv6 or ARMv7 device. In this case, memory barriers -+// are needed for correct execution. Always call the kernel helper, even -+// when targeting ARMv5TE. -+// - --typedef void (*LinuxKernelMemoryBarrierFunc)(void); --LinuxKernelMemoryBarrierFunc pLinuxKernelMemoryBarrier __attribute__((weak)) = -- (LinuxKernelMemoryBarrierFunc) 0xffff0fa0; -+inline void MemoryBarrier() { -+#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ -+ defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) -+ __asm__ __volatile__("dmb ish" ::: "memory"); -+#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ -+ defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \ -+ defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) -+ __asm__ __volatile__("mcr p15,0,r0,c7,c10,5" ::: "memory"); -+#elif defined(__linux__) || defined(__ANDROID__) -+ // Note: This is a function call, which is also an implicit compiler barrier. -+ typedef void (*KernelMemoryBarrierFunc)(); -+ ((KernelMemoryBarrierFunc)0xffff0fa0)(); -+#error MemoryBarrier() is not implemented on this platform. -+#endif -+} - -+// An ARM toolchain would only define one of these depending on which -+// variant of the target architecture is being used. This tests against -+// any known ARMv6 or ARMv7 variant, where it is possible to directly -+// use ldrex/strex instructions to implement fast atomic operations. -+#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ -+ defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \ -+ defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ -+ defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \ -+ defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) - - inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, - Atomic32 old_value, - Atomic32 new_value) { -- Atomic32 prev_value = *ptr; -+ Atomic32 prev_value; -+ int reloop; - do { -- if (!pLinuxKernelCmpxchg(old_value, new_value, -- const_cast<Atomic32*>(ptr))) { -- return old_value; -- } -- prev_value = *ptr; -- } while (prev_value == old_value); -+ // The following is equivalent to: -+ // -+ // prev_value = LDREX(ptr) -+ // reloop = 0 -+ // if (prev_value != old_value) -+ // reloop = STREX(ptr, new_value) -+ __asm__ __volatile__(" ldrex %0, [%3]\n" -+ " mov %1, #0\n" -+ " cmp %0, %4\n" -+#ifdef __thumb2__ -+ " it eq\n" -+#endif -+ " strexeq %1, %5, [%3]\n" -+ : "=&r"(prev_value), "=&r"(reloop), "+m"(*ptr) -+ : "r"(ptr), "r"(old_value), "r"(new_value) -+ : "cc", "memory"); -+ } while (reloop != 0); - return prev_value; - } - -+inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ Atomic32 result = NoBarrier_CompareAndSwap(ptr, old_value, new_value); -+ MemoryBarrier(); -+ return result; -+} -+ -+inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ MemoryBarrier(); -+ return NoBarrier_CompareAndSwap(ptr, old_value, new_value); -+} -+ -+inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, -+ Atomic32 increment) { -+ Atomic32 value; -+ int reloop; -+ do { -+ // Equivalent to: -+ // -+ // value = LDREX(ptr) -+ // value += increment -+ // reloop = STREX(ptr, value) -+ // -+ __asm__ __volatile__(" ldrex %0, [%3]\n" -+ " add %0, %0, %4\n" -+ " strex %1, %0, [%3]\n" -+ : "=&r"(value), "=&r"(reloop), "+m"(*ptr) -+ : "r"(ptr), "r"(increment) -+ : "cc", "memory"); -+ } while (reloop); -+ return value; -+} -+ -+inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, -+ Atomic32 increment) { -+ // TODO(digit): Investigate if it's possible to implement this with -+ // a single MemoryBarrier() operation between the LDREX and STREX. -+ // See http://crbug.com/246514 -+ MemoryBarrier(); -+ Atomic32 result = NoBarrier_AtomicIncrement(ptr, increment); -+ MemoryBarrier(); -+ return result; -+} -+ - inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, - Atomic32 new_value) { - Atomic32 old_value; -+ int reloop; - do { -+ // old_value = LDREX(ptr) -+ // reloop = STREX(ptr, new_value) -+ __asm__ __volatile__(" ldrex %0, [%3]\n" -+ " strex %1, %4, [%3]\n" -+ : "=&r"(old_value), "=&r"(reloop), "+m"(*ptr) -+ : "r"(ptr), "r"(new_value) -+ : "cc", "memory"); -+ } while (reloop != 0); -+ return old_value; -+} -+ -+// This tests against any known ARMv5 variant. -+#elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \ -+ defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) -+ -+// The kernel also provides a helper function to perform an atomic -+// compare-and-swap operation at the hard-wired address 0xffff0fc0. -+// On ARMv5, this is implemented by a special code path that the kernel -+// detects and treats specially when thread pre-emption happens. -+// On ARMv6 and higher, it uses LDREX/STREX instructions instead. -+// -+// Note that this always perform a full memory barrier, there is no -+// need to add calls MemoryBarrier() before or after it. It also -+// returns 0 on success, and 1 on exit. -+// -+// Available and reliable since Linux 2.6.24. Both Android and ChromeOS -+// use newer kernel revisions, so this should not be a concern. -+namespace { -+ -+inline int LinuxKernelCmpxchg(Atomic32 old_value, -+ Atomic32 new_value, -+ volatile Atomic32* ptr) { -+ typedef int (*KernelCmpxchgFunc)(Atomic32, Atomic32, volatile Atomic32*); -+ return ((KernelCmpxchgFunc)0xffff0fc0)(old_value, new_value, ptr); -+} -+ -+} // namespace -+ -+inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ Atomic32 prev_value; -+ for (;;) { -+ prev_value = *ptr; -+ if (prev_value != old_value) -+ return prev_value; -+ if (!LinuxKernelCmpxchg(old_value, new_value, ptr)) -+ return old_value; -+ } -+} -+ -+inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, -+ Atomic32 new_value) { -+ Atomic32 old_value; -+ do { - old_value = *ptr; -- } while (pLinuxKernelCmpxchg(old_value, new_value, -- const_cast<Atomic32*>(ptr))); -+ } while (LinuxKernelCmpxchg(old_value, new_value, ptr)); - return old_value; - } - -@@ -63,36 +237,57 @@ - // Atomic exchange the old value with an incremented one. - Atomic32 old_value = *ptr; - Atomic32 new_value = old_value + increment; -- if (pLinuxKernelCmpxchg(old_value, new_value, -- const_cast<Atomic32*>(ptr)) == 0) { -+ if (!LinuxKernelCmpxchg(old_value, new_value, ptr)) { - // The exchange took place as expected. - return new_value; - } - // Otherwise, *ptr changed mid-loop and we need to retry. - } -- - } - - inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, - Atomic32 old_value, - Atomic32 new_value) { -- return NoBarrier_CompareAndSwap(ptr, old_value, new_value); -+ Atomic32 prev_value; -+ for (;;) { -+ prev_value = *ptr; -+ if (prev_value != old_value) { -+ // Always ensure acquire semantics. -+ MemoryBarrier(); -+ return prev_value; -+ } -+ if (!LinuxKernelCmpxchg(old_value, new_value, ptr)) -+ return old_value; -+ } - } - - inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, - Atomic32 old_value, - Atomic32 new_value) { -- return NoBarrier_CompareAndSwap(ptr, old_value, new_value); -+ // This could be implemented as: -+ // MemoryBarrier(); -+ // return NoBarrier_CompareAndSwap(); -+ // -+ // But would use 3 barriers per succesful CAS. To save performance, -+ // use Acquire_CompareAndSwap(). Its implementation guarantees that: -+ // - A succesful swap uses only 2 barriers (in the kernel helper). -+ // - An early return due to (prev_value != old_value) performs -+ // a memory barrier with no store, which is equivalent to the -+ // generic implementation above. -+ return Acquire_CompareAndSwap(ptr, old_value, new_value); - } - -+#else -+# error "Your CPU's ARM architecture is not supported yet" -+#endif -+ -+// NOTE: Atomicity of the following load and store operations is only -+// guaranteed in case of 32-bit alignement of |ptr| values. -+ - inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { - *ptr = value; - } - --inline void MemoryBarrier() { -- pLinuxKernelMemoryBarrier(); --} -- - inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { - *ptr = value; - MemoryBarrier(); -@@ -103,9 +298,7 @@ - *ptr = value; - } - --inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { -- return *ptr; --} -+inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { return *ptr; } - - inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { - Atomic32 value = *ptr; -@@ -118,7 +311,6 @@ - return *ptr; - } - --} // namespace base::subtle --} // namespace base -+} } // namespace base::subtle - - #endif // BASE_ATOMICOPS_INTERNALS_ARM_GCC_H_ diff --git a/experimental/firefox-esr/shut-up-warning.patch b/experimental/firefox-esr/shut-up-warning.patch new file mode 100644 index 000000000..ffba50436 --- /dev/null +++ b/experimental/firefox-esr/shut-up-warning.patch @@ -0,0 +1,11 @@ +--- firefox-52.9.0esr/gfx/2d/HelpersCairo.h.old 2017-04-11 02:13:04.000000000 +0000 ++++ firefox-52.9.0esr/gfx/2d/HelpersCairo.h 2018-12-08 18:45:01.880000000 +0000 +@@ -160,7 +160,7 @@ + case SurfaceFormat::R5G6B5_UINT16: + return CAIRO_FORMAT_RGB16_565; + default: +- gfxCriticalError() << "Unknown image format " << (int)format; ++ //gfxCriticalError() << "Unknown image format " << (int)format; + return CAIRO_FORMAT_ARGB32; + } + } diff --git a/experimental/firefox-esr/stackwalk-x86-ppc.patch b/experimental/firefox-esr/stackwalk-x86-ppc.patch index 5a4189847..3659ef8d2 100644 --- a/experimental/firefox-esr/stackwalk-x86-ppc.patch +++ b/experimental/firefox-esr/stackwalk-x86-ppc.patch @@ -4,13 +4,13 @@ #define MOZ_STACKWALK_SUPPORTS_MACOSX 0 #endif --#if (defined(linux) && \ +-#if (defined(linux) && \ - ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ - defined(HAVE__UNWIND_BACKTRACE))) -#define MOZ_STACKWALK_SUPPORTS_LINUX 1 -#else #define MOZ_STACKWALK_SUPPORTS_LINUX 0 -#endif - + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) #define HAVE___LIBC_STACK_END 1 diff --git a/system/fortify-headers/APKBUILD b/legacy/fortify-headers/APKBUILD index 33ee4e317..33ee4e317 100644 --- a/system/fortify-headers/APKBUILD +++ b/legacy/fortify-headers/APKBUILD diff --git a/system/fortify-headers/extension-cpp-fix.patch b/legacy/fortify-headers/extension-cpp-fix.patch index fc7bbb5f8..fc7bbb5f8 100644 --- a/system/fortify-headers/extension-cpp-fix.patch +++ b/legacy/fortify-headers/extension-cpp-fix.patch diff --git a/system/build-tools/APKBUILD b/system/build-tools/APKBUILD index 39495ec5b..e5ff48c72 100644 --- a/system/build-tools/APKBUILD +++ b/system/build-tools/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=build-tools pkgver=1.0 -pkgrel=7 +pkgrel=8 pkgdesc="Meta-package for user development utilities" url="https://adelielinux.org/" arch="noarch" @@ -11,7 +11,7 @@ depends="bash gettext-tiny gettext-tiny-dev binutils gcc g++ make diffutils patch - fortify-headers linux-headers + linux-headers mawk sed bzip2 gzip unzip xz abuild" diff --git a/system/perl-test-simple/APKBUILD b/system/perl-test-simple/APKBUILD index 1462197f8..ac80247c5 100644 --- a/system/perl-test-simple/APKBUILD +++ b/system/perl-test-simple/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-test-simple _pkgreal=Test-Simple -pkgver=1.302160 +pkgver=1.302162 pkgrel=0 pkgdesc="Basic utilities for writing Perl tests" url="https://metacpan.org/release/Test-Simple" @@ -47,4 +47,4 @@ doc() { replaces="perl-doc" } -sha512sums="3df744efbf5e2bf1b03849f35bec32f0b0546efbe968e38ed55a472d92f2b2f5a7cf63e82d6fda7ec2406c403c053a32285d29dcf21d28030a924bc751e16548 Test-Simple-1.302160.tar.gz" +sha512sums="1e8ac18986f4e8ae44f385a4db025adc714dd355b8590472392468a8865a2a21d0a30484c196f4cb31fcb1fcff85e7e06f8402931d8f9b04fea4139399aad116 Test-Simple-1.302162.tar.gz" diff --git a/system/vim/APKBUILD b/system/vim/APKBUILD index 13dff8ef9..ef3026655 100644 --- a/system/vim/APKBUILD +++ b/system/vim/APKBUILD @@ -4,7 +4,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=vim -pkgver=8.1.0829 +pkgver=8.1.0885 pkgrel=0 pkgdesc="advanced text editor" url="http://www.vim.org" @@ -81,6 +81,6 @@ vimdiff() { mv "$pkgdir"/usr/bin/vimdiff "$subpkgdir"/usr/bin } -sha512sums="c5ae44a6ad45092abc1079b0543af3c34d49823a95f96bbb8dbe3f5426556ee9dbf78d2bda747286527977dafef7e6051a670d0095456263e853d424ddb2466c vim-8.1.0829.tar.gz +sha512sums="c36737899eaf3e369a60d41cf909d421a3fc3cc13a77e63a5a5e12fae65652cd94d2b12368f2d1bbf785d3249ffb78107a8d09d77153632c77a276e3ee056339 vim-8.1.0885.tar.gz 12ee3f96c94d74215159fba379ed61907ec5982a9f1643575dcb7c3d5e30824665d683de95f97b5067718b3f2a1238fb7534a70803bc170614498ad026f352d8 vimrc 16026a3ed3e080b3f8281948579ab678e9acd724ad594463279712fbf1024bcd923155a133bd08118848d2c6cdf11c69489d85b1c7438f60b4c279094714d181 no-default-mouse.patch" diff --git a/user/autoconf2.13/APKBUILD b/user/autoconf2.13/APKBUILD index d3b3ca73b..bd5b533a9 100644 --- a/user/autoconf2.13/APKBUILD +++ b/user/autoconf2.13/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: pkgname=autoconf2.13 pkgver=2.13 -pkgrel=1 +pkgrel=2 pkgdesc="A GNU tool for automatically configuring source code" arch="noarch" license="GPL-2.0" @@ -38,5 +38,10 @@ package() { rm -f "$pkgdir"/usr/share/info/standards.info } +doc() { + default_doc + mv "$subpkgdir/usr/share/info/autoconf.info" "$subpkgdir/usr/share/info/autoconf-2.13.info" +} + sha512sums="602584f4c77b7a554aaa068eda5409b68eb0b3229e9c224bffb91c83c4314d25de15bd560a323626ff78f6df339c79e1ef8938c54b78ecadf4dc75c5241290ad autoconf-2.13.tar.gz 483d0ba23c90e41c746868ea57436033930906f306b86de5e23284a60da069f4203d478615d653b8acee7226d9b02427be42a9764ff82710019de485e5f26d1b getloadavg.patch" diff --git a/user/catfish/APKBUILD b/user/catfish/APKBUILD index 2dfb80c66..efcbacd72 100644 --- a/user/catfish/APKBUILD +++ b/user/catfish/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=catfish -pkgver=1.4.6 +pkgver=1.4.7 pkgrel=0 pkgdesc="File-searching application for the XFCE desktop environment" url="https://xfce.org" @@ -11,7 +11,6 @@ depends="python3 py3-pygobject py3-pexpect" makedepends="py3-distutils-extra intltool" subpackages="$pkgname-doc $pkgname-lang" source="http://archive.xfce.org/src/apps/catfish/1.4/catfish-$pkgver.tar.bz2" -sha512sums="1c50375a9b36554123327a138c50de47abbbfd2fb334b91773312e9001e4bbc936550c2b23ad658b29fe9f1537d59997513b01bf4e2c31ce0286f5650776f8f7 catfish-1.4.6.tar.bz2" build() { cd "$builddir" @@ -28,3 +27,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } +sha512sums="cafa8eaaa40522f50111b3bb9c09a116ebad827532b0cfc88bc643fb2e2d89edee53057fbbed23719f4091ca384d7ea025633e571e160d7dfced008f788a3ffd catfish-1.4.7.tar.bz2" diff --git a/user/certbot/APKBUILD b/user/certbot/APKBUILD index 8e9489e01..cbe6853f5 100644 --- a/user/certbot/APKBUILD +++ b/user/certbot/APKBUILD @@ -1,7 +1,7 @@ # Contributor: zlg <zlg+adelie@zlg.space> # Maintainer: zlg <zlg+adelie@zlg.space> pkgname=certbot -pkgver=0.30.0 +pkgver=0.30.2 pkgrel=0 pkgdesc="The EFF's reference ACME client" url="https://certbot.eff.org/" @@ -41,4 +41,4 @@ acme() { python3 setup.py install --prefix=/usr --root="$subpkgdir" } -sha512sums="85095dd75ce639fcf93d748e2d32a686aecfa9002ccb2c23bdd4e33f1c47268386a86befbcca8180acf48881888fad484f485ad03fc7acef21a308c4d5432ac5 certbot-0.30.0.tar.gz" +sha512sums="94c26be7c04de74acf650b4d243675e92c6807eb6bb82fcffd867b22aa5b5527e6f637155fafcb121dfeff77e8a236301c080ad42284b3bf777d2cfc7f4d0de6 certbot-0.30.2.tar.gz" diff --git a/user/confuse/APKBUILD b/user/confuse/APKBUILD new file mode 100644 index 000000000..3fe8f33b4 --- /dev/null +++ b/user/confuse/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Luis Ressel <aranea@aixah.de> +# Maintainer: Luis Ressel <aranea@aixah.de> +pkgname=confuse +pkgver=3.2.2 +pkgrel=0 +pkgdesc="Small configuration file parser library for C" +url="https://github.com/martinh/libconfuse" +arch="all" +options="!checkroot" +license="ISC" +depends="" +makedepends="" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" +source="$url/releases/download/v$pkgver/$pkgname-$pkgver.tar.xz" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-rpath \ + --disable-examples \ + --enable-nls + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="c6baea65e064fe7f2d1bde187c6dcbb7f03c31f5d777cb04576f9cc2d94e9c96b7ee202e030e9a2c7eb619deb240d9e76fb12b3528ae5aa0d3abe231354d12c9 confuse-3.2.2.tar.xz" diff --git a/user/exo/APKBUILD b/user/exo/APKBUILD index 0137b543d..1752b8bbf 100644 --- a/user/exo/APKBUILD +++ b/user/exo/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=exo -pkgver=0.12.3 +pkgver=0.12.4 pkgrel=0 pkgdesc="Support library for the XFCE desktop environment" url="https://xfce.org" @@ -35,4 +35,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1a727050b822aa4bdfbce22c1668372b10ddfd9c3988f6949ee32a5c5213d90e20ebafc923193c70dea373d217994fb42101fe2aad7bf55c8e81f983c5a2106f exo-0.12.3.tar.bz2" +sha512sums="8f84258aeb5c1fcfe91e775af1e5fed02f36b3d18aa72d497cd05294d54f050d679628cdb4339219c67b203a8cc663704a240fc18e6a918cef363cf4d9b94783 exo-0.12.4.tar.bz2" diff --git a/user/gtk+3.0/APKBUILD b/user/gtk+3.0/APKBUILD index 6882da69c..ea1c05d69 100644 --- a/user/gtk+3.0/APKBUILD +++ b/user/gtk+3.0/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=gtk+3.0 -pkgver=3.24.4 +pkgver=3.24.5 pkgrel=0 pkgdesc="The GTK+ Toolkit (v3)" url="https://www.gtk.org/" @@ -53,4 +53,4 @@ package() { rm -f "$pkgdir"/usr/share/man/man1/gtk-update-icon-cache.1 } -sha512sums="d1cce6d0d7f1c5ef0f4e8988b88372a32b9d8a2924da4cfc46a80ede91cf8a2aacdcd87eec122dfab1369b36fc849d875832ac11d79426cf6884e1730e5d4dd1 gtk+-3.24.4.tar.xz" +sha512sums="344988c9e2a2d7fd2fd1e367a113be7c4a32c28c9cf395aeab923e25256b99856091d1583d3f8557aac6919a930a4d0af69b966486caab559c7d9d22585cc1a1 gtk+-3.24.5.tar.xz" diff --git a/user/gvim/APKBUILD b/user/gvim/APKBUILD index 80bed9d03..44b1d2337 100644 --- a/user/gvim/APKBUILD +++ b/user/gvim/APKBUILD @@ -5,7 +5,7 @@ # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=gvim _pkgreal=vim -pkgver=8.1.0829 +pkgver=8.1.0885 pkgrel=0 pkgdesc="advanced text editor" url="http://www.vim.org" @@ -74,4 +74,4 @@ package() { ln -s gvim rgvim } -sha512sums="c5ae44a6ad45092abc1079b0543af3c34d49823a95f96bbb8dbe3f5426556ee9dbf78d2bda747286527977dafef7e6051a670d0095456263e853d424ddb2466c vim-8.1.0829.tar.gz" +sha512sums="c36737899eaf3e369a60d41cf909d421a3fc3cc13a77e63a5a5e12fae65652cd94d2b12368f2d1bbf785d3249ffb78107a8d09d77153632c77a276e3ee056339 vim-8.1.0885.tar.gz" diff --git a/user/i3status/APKBUILD b/user/i3status/APKBUILD new file mode 100644 index 000000000..554916af7 --- /dev/null +++ b/user/i3status/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Luis Ressel <aranea@aixah.de> +# Maintainer: Luis Ressel <aranea@aixah.de> +pkgname=i3status +pkgver=2.12 +pkgrel=0 +pkgdesc="Status bar generator for dzen2, xmobar or similar" +url="https://i3wm.org/i3status/" +arch="all" +options="!check" # No test suite +license="MIT" +depends="" +makedepends="alsa-lib-dev confuse-dev libnl3-dev pkgconf pulseaudio-dev yajl-dev" +subpackages="$pkgname-doc" +source="$url/$pkgname-$pkgver.tar.bz2 + glob_tilde.patch" + +prepare() { + cd "$builddir" + default_prepare + # TODO: The setcap part can be dropped after the 2.13 release + sed -i -e '/^CFLAGS+=-g$/d' -e '/setcap/d' Makefile +} + +build() { + cd "$builddir" + make i3status +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="687a880a65cb8df46f5e9d2256b59724ba3424c502e9a0fb3ca71b070875df5f4008ee501c554bc716f2d728a5cf813a36d22d7377d42c3c46b14381d385bab3 i3status-2.12.tar.bz2 +2a0a85dba02b9e9962f13d4bc151fd1672f215292800d9eeff5a10bd363b74f422d3b320851f31b73062ceeded974f5b105aec914c84f78ba418312bed189aa4 glob_tilde.patch" diff --git a/user/i3status/glob_tilde.patch b/user/i3status/glob_tilde.patch new file mode 100644 index 000000000..b1f2ba667 --- /dev/null +++ b/user/i3status/glob_tilde.patch @@ -0,0 +1,59 @@ +diff --git i/i3status.c w/i3status.c +index 5088c96..3c18214 100644 +--- i/i3status.c ++++ w/i3status.c +@@ -210,29 +210,19 @@ static int valid_color(const char *value) { + * + */ + static char *resolve_tilde(const char *path) { +- static glob_t globbuf; +- char *head, *tail, *result = NULL; +- +- tail = strchr(path, '/'); +- head = strndup(path, tail ? (size_t)(tail - path) : strlen(path)); +- +- int res = glob(head, GLOB_TILDE, NULL, &globbuf); +- free(head); +- /* no match, or many wildcard matches are bad */ +- if (res == GLOB_NOMATCH || globbuf.gl_pathc != 1) +- result = sstrdup(path); +- else if (res != 0) { +- die("glob() failed"); +- } else { +- head = globbuf.gl_pathv[0]; +- result = scalloc(strlen(head) + (tail ? strlen(tail) : 0) + 1); +- strncpy(result, head, strlen(head)); +- if (tail) +- strncat(result, tail, strlen(tail)); ++ char *home, *result = NULL; ++ ++ if (strncmp(path, "~/", 2) == 0) { ++ home = getenv("HOME"); ++ if (home != NULL) { ++ result = scalloc(strlen(home) + strlen(path)); ++ strcpy(result, home); ++ strcat(result, path+1); ++ return result; ++ } + } +- globfree(&globbuf); + +- return result; ++ return sstrdup(path); + } + + static char *get_config_path(void) { +diff --git i/include/i3status.h w/include/i3status.h +index 9ac471d..27ecae4 100644 +--- i/include/i3status.h ++++ w/include/i3status.h +@@ -236,4 +236,9 @@ extern cfg_t *cfg, *cfg_general, *cfg_section; + extern void **cur_instance; + + extern pthread_t main_thread; ++ ++#ifndef GLOB_TILDE ++#define GLOB_TILDE 0 ++#endif ++ + #endif diff --git a/user/icewm/APKBUILD b/user/icewm/APKBUILD index b4675904a..c74eaf649 100644 --- a/user/icewm/APKBUILD +++ b/user/icewm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=icewm -pkgver=1.5.1 +pkgver=1.5.2 pkgrel=0 pkgdesc="A window manager designed for speed, usability, and consistency" url="https://github.com/bbidulock/icewm" @@ -44,4 +44,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e7329ccf87da5ad12402c70a3946303f58c76563d25319b9e8f6d153b34a67df0e17612874f8af3bea701b52d15168557842e8ffce0a5a255c59e67bd2022a01 icewm-1.5.1.tar.xz" +sha512sums="f2a542d162e984dcc6f7b8e3fc2dbd7df46510f961431b4c3b6651351f7b236ef4724a07ce01dfa163b08c9a130e7ee3ed62e1c5b1f364340998d31290323614 icewm-1.5.2.tar.xz" diff --git a/user/imagemagick/APKBUILD b/user/imagemagick/APKBUILD index b1d1531a3..5af0e15e6 100644 --- a/user/imagemagick/APKBUILD +++ b/user/imagemagick/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: pkgname=imagemagick -pkgver=7.0.8.24 +pkgver=7.0.8.27 _abiver=7 _pkgver=${pkgver%.*}-${pkgver##*.} pkgrel=0 @@ -81,4 +81,4 @@ _cxx() { mv "$pkgdir"/usr/lib/libMagick++*.so.* "$subpkgdir"/usr/lib/ } -sha512sums="b217e4a118d2dcf075e72b84138e6f984219356b0d19be576f02a9c8835f6ba4a70e9d40bb87bc5376d6c355a98389af37a1110e47595edd5fe093a2752fbd3b ImageMagick-7.0.8-24.tar.xz" +sha512sums="84dea016884306ae8b1939064020f78628faaa1bb26433e277cef0c668558ac9588df9b6c89b2db2cac9e0691a9b5d87db64315785befd982bffd9754f532f41 ImageMagick-7.0.8-27.tar.xz" diff --git a/user/libdvdread/APKBUILD b/user/libdvdread/APKBUILD index e6263d32a..c88455a7a 100644 --- a/user/libdvdread/APKBUILD +++ b/user/libdvdread/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Timo Teräs <timo.teras@iki.fi> # Maintainer: pkgname=libdvdread -pkgver=6.0.0 +pkgver=6.0.1 pkgrel=0 pkgdesc="Library for reading DVD video discs" url="http://dvdnav.mplayerhq.hu/" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="b07179f2f665adf6ddd7bf8b7c48cd279f3f413c5719b8ca8467e53c7cd0cac02a40101f3717186dc0e4e69e5d9c7ac6bf98a76901412d74150b9fc7bfdd2479 libdvdread-6.0.0.tar.bz2" +sha512sums="550c01f6afcaca217d8852fdd9f4a54790239b674a45bb7c1c23a58fb5dec009e3028049a54f0904c08f15f5ad994e66bd6bea9cc8d5a8808e8b638ff8e27c4b libdvdread-6.0.1.tar.bz2" diff --git a/user/libfm-qt/APKBUILD b/user/libfm-qt/APKBUILD index 2035a8679..518fb3c64 100644 --- a/user/libfm-qt/APKBUILD +++ b/user/libfm-qt/APKBUILD @@ -25,8 +25,8 @@ build() { -DCMAKE_INSTALL_LIBDIR=lib \ -DBUILD_SHARED_LIBS=True \ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_C_FLAGS="$CFLAGS" \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -O0" \ + -DCMAKE_C_FLAGS="$CFLAGS -O0" \ -DPULL_TRANSLATIONS=False \ ${CMAKE_CROSSOPTS} .. make diff --git a/user/libgsf/APKBUILD b/user/libgsf/APKBUILD index 8fc1adab3..086da1e6c 100644 --- a/user/libgsf/APKBUILD +++ b/user/libgsf/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=libgsf -pkgver=1.14.44 +pkgver=1.14.45 pkgrel=0 pkgdesc="Library for manipulating structured files" url="https://www.gnome.org/" @@ -45,4 +45,4 @@ package() { rm -f "$pkgdir"/usr/share/man/man1/gsf-office-thumbnailer.1 } -sha512sums="17be4898e800d653d97af1afc780b14eb596ea03443d7dd8f2687152ca1c9cbdfe5fad0686742e2c9e2dac4a40f65fa260b7b5dc3b2d79a4738e552ad7e6310f libgsf-1.14.44.tar.xz" +sha512sums="2e993150b6fec336a14fd85d5c631e4a3b43187039dab0cba3b8badf62873f39814392db92bb737b92aa9a6d8b4ba41f1fb248c1fe07b88cddd28ded5e4d9ebd libgsf-1.14.45.tar.xz" diff --git a/user/perl-inline/APKBUILD b/user/perl-inline/APKBUILD index 032805c28..0c2dcd8d7 100644 --- a/user/perl-inline/APKBUILD +++ b/user/perl-inline/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Dan Theisen <djt@hxx.in> # Maintainer: Adélie Perl Team <adelie-perl@lists.adelielinux.org> pkgname=perl-inline -pkgver=0.80 +pkgver=0.81 pkgrel=0 pkgdesc="Write Perl Subroutines in Other Programming Languages" url="https://metacpan.org/pod/Inline" @@ -12,7 +12,7 @@ makedepends="perl-dev" checkdepends="perl-test-warn" install="" subpackages="$pkgname-doc" -source="https://cpan.metacpan.org/authors/id/I/IN/INGY/Inline-$pkgver.tar.gz" +source="https://cpan.metacpan.org/authors/id/T/TI/TINITA/Inline-$pkgver.tar.gz" builddir="$srcdir/Inline-$pkgver" build() { @@ -32,4 +32,4 @@ package() { find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete } -sha512sums="e64f7752f32fd07c7c7a975429e04730f2987c9588f99b95502d4e5c87d458736a606c03943a68660940c3987cd632ad2f75ec3862342956c1754b1aca86e0bb Inline-0.80.tar.gz" +sha512sums="ea52647af6a51e6902d78c448e53814f1f3de225d3cf5530764d880f604ddea6dc6e6272619a918c213ce611bf3643f602e779d56e503245987b86363cb0501a Inline-0.81.tar.gz" diff --git a/user/py3-configargparse/APKBUILD b/user/py3-configargparse/APKBUILD index 2cb311647..4641df6e8 100644 --- a/user/py3-configargparse/APKBUILD +++ b/user/py3-configargparse/APKBUILD @@ -4,7 +4,7 @@ # Maintainer: zlg <zlg+adelie@zlg.space> pkgname=py3-configargparse _pkgname=ConfigArgParse -pkgver=0.13.0 +pkgver=0.14.0 pkgrel=0 pkgdesc="A drop-in replacement for argparse" url="https://github.com/bw2/ConfigArgParse" @@ -33,5 +33,5 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="797c5edbc51353797204152b5c908ddb4e883a98f247430448d774957fd841286ea1a3cb87db3186e683a65f566cfce0a815e4bd558b9c823d9226d856341ca9 py3-configargparse-0.13.0.tar.gz +sha512sums="e48ca61027abf0e0acb8414b6d89b276b186b4f714368b8c33975537c2264bb2d81f18cf3013b99d9ce752014361afa973f704b3f6957ca4b98319bb0ca5ca8c py3-configargparse-0.14.0.tar.gz df324cbc12d0d5cf3cf8bfe494e358d366d8a7891183e9a7922d5331f86e30cbe5810b709ad93dfd41f33cd08c1d87371b9aa13c92d7637d4459d83db41be33f python3.patch" diff --git a/user/py3-cryptography/APKBUILD b/user/py3-cryptography/APKBUILD index 9232dd69d..587199c0e 100644 --- a/user/py3-cryptography/APKBUILD +++ b/user/py3-cryptography/APKBUILD @@ -2,14 +2,14 @@ # Maintainer: zlg <zlg+adelie@zlg.space> pkgname=py3-cryptography _pkgname=${pkgname#py3-} -pkgver=2.4.2 +pkgver=2.5 pkgrel=0 pkgdesc="A package which provides cryptographic recipes and primitives" url="https://pypi.org/project/cryptography" arch="all" options="!check" # tests want hypothesis; deep rabbit hole license="Apache-2.0 OR BSD-3-Clause" -depends="python3 py3-cffi py3-idna py3-asn1crypto py3-six" +depends="python3 py3-cffi py3-asn1crypto py3-six" makedepends="python3-dev libffi-dev openssl-dev" subpackages="" source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz" @@ -26,4 +26,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="800735fa86e9ad0f8517328d47e55dc79a2b86d8c7539ee2921c526085782d8dad5559bbee84f7effb42275503fa9a984b099a688c530c92f5672c423c0f1a28 cryptography-2.4.2.tar.gz" +sha512sums="5e8f8818fcaa8143526006b027107b8afbdc925d40c846701e65b2c7ee02235b7e0918246515520ef2030b1c87bb157d0d403c28ad68c31459d677af7e2d0b3f cryptography-2.5.tar.gz" diff --git a/user/py3-future/APKBUILD b/user/py3-future/APKBUILD index e34369279..d98fc65c2 100644 --- a/user/py3-future/APKBUILD +++ b/user/py3-future/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: zlg <zlg+adelie@zlg.space> pkgname=py3-future _pkgname=python-future -pkgver=0.16.0 +pkgver=0.17.0 pkgrel=0 pkgdesc="Easy, clean, reliable Python 2/3 compatibility" url="http://python-future.org/" @@ -26,4 +26,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="8422e132921d7c0da1f1025ce672ddb301d604bf4629c73634b709a12d77465e941f7365f9e85e870d98718a37988bd928cda7325eb0cc27b1351d23d31a365e py3-future-0.16.0.tar.gz" +sha512sums="0b914ba062dd2b3c6837d8d8d274d27faadc587b264e887266527940fa7b4b98ce1b0076f1e589f943406d24b9e17f3ae8c2060c4ffa2207f620040988c176a3 py3-future-0.17.0.tar.gz" diff --git a/user/py3-openssl/APKBUILD b/user/py3-openssl/APKBUILD index ecab996e1..b19a1d09d 100644 --- a/user/py3-openssl/APKBUILD +++ b/user/py3-openssl/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: zlg <zlg+adelie@zlg.space> pkgname=py3-openssl _pkgname=pyOpenSSL -pkgver=18.0.0 +pkgver=19.0.0 pkgrel=0 pkgdesc="Python wrapper module around the OpenSSL library" url="https://github.com/pyca/pyopenssl" @@ -26,4 +26,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="7106d4116243a164c1f458ad495564c2cf3a46b4b0fbb1d452b4174ead4409bc9c783c3a4674231ed3c26ecf588077b01dadbdefe033d5e7251a61531c6f6c15 pyOpenSSL-18.0.0.tar.gz" +sha512sums="a7e12bf5be725ccebd1223d567a9b9e8bd35f79cbf3a0409108fa6f00e10ab137dd6876369e9dede02b2abc7d700786cc905532ca5c31b6e246f6df8b24e2818 pyOpenSSL-19.0.0.tar.gz" diff --git a/user/py3-tz/APKBUILD b/user/py3-tz/APKBUILD index 1222f1f53..d8182670c 100644 --- a/user/py3-tz/APKBUILD +++ b/user/py3-tz/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: zlg <zlg+adelie@zlg.space> pkgname=py3-tz _pkgname=pytz -pkgver=2018.7 +pkgver=2018.9 pkgrel=0 pkgdesc="Timezone definitions for Python" url="http://pytz.sourceforge.net/" @@ -28,7 +28,6 @@ package() { cd "$builddir" python3 setup.py install --prefix=/usr --root="$pkgdir" } - -sha512sums="49cd9ed0b4b0959bab59c91ac1ced36b28ab0fa097002ab1d45daa0e7f962c43de2e0b9228344d9b1f8aa4dc2f3b02d51f41a3ed7e6af8c51fc2eec7aace5b48 pytz-2018.7.tar.gz +sha512sums="c3dabe61d04539245761a5c4e3bfb614df1c3b8ccc2ffa1cf320c5ad642242c29b3321fe7855d32a2ae55c739acbbe8c0e1813df5b3c757b8f56fff910fee159 pytz-2018.9.tar.gz be61b829014be0d0d7db0c544481d378a95324c1f5968cbbcd7887c6ee8ce52a0b47ae734e16fc5fb2429d8d49c8ef199b6b3b7194f9e654699bb73ab8f3a10d zoneinfo-noinstall.patch a09467dbb00c1ab9f7e7527d9b020a6d913b8da2380a5359e782f27ccf9ec4dd4f50bfc92c95dc2e793904242c8139793c15e78e651d2777fb3b3abc48fcd640 zoneinfo-fix.patch" diff --git a/user/rrdtool/APKBUILD b/user/rrdtool/APKBUILD index d80d885df..f61223adc 100644 --- a/user/rrdtool/APKBUILD +++ b/user/rrdtool/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Valery Kartel <valery.kartel@gmail.com> # Maintainer: pkgname=rrdtool -pkgver=1.7.0 +pkgver=1.7.1 pkgrel=0 pkgdesc="Data logging and graphing application" url="https://oss.oetiker.ch/rrdtool/" @@ -86,5 +86,5 @@ utils() { "$subpkgdir"/usr/bin } -sha512sums="36d979561601135d74622eaf183701de15cba5e25118f7a308926a695ba84ecb33c3d16511bf4bc80cff055853e2eb85065bc4ed8aef19fc0277c6430ecd319f rrdtool-1.7.0.tar.gz +sha512sums="ee5c9ff234493442ccd9bfc7031700483011de3e05c01e026509b699cb0d7d3e286e2046357c5fff5807f3e709043c8f218b48b43f8b126a23e228a3927d7b14 rrdtool-1.7.1.tar.gz c0c27b2c2dfa8e7ec1cb1160d2bda8d7996bbea67f4ce7779da029f583c35e5e415cf46e2a1e5cb8ed2e63d2c58a68fd7471ee6bd820db4c0f4eeeb5c252f8a3 rrdcached.initd" diff --git a/user/thunar/APKBUILD b/user/thunar/APKBUILD index 7dce46d99..2cc4590c0 100644 --- a/user/thunar/APKBUILD +++ b/user/thunar/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> # Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com> pkgname=thunar -pkgver=1.8.3 +pkgver=1.8.4 pkgrel=0 pkgdesc="File manager for the XFCE desktop environment" url="https://xfce.org" @@ -37,4 +37,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f584d4f8a474797bf422101c2eb21fe08e10c3ba0b842ac157b1016c49e164069181db9393c2c46c376e012bf0fd6ef693fd203175392368b5e30d5f44ee986f Thunar-1.8.3.tar.bz2" +sha512sums="886c0789aa19c2ab2ef34892c4afd09c857585b4796140ea3c84ccb9e1e1ca2935cf7e3a760a6ca8d8c68a5866663412500b4779878c7f48c9365c3ac7bf0eec Thunar-1.8.4.tar.bz2" diff --git a/user/unbound/APKBUILD b/user/unbound/APKBUILD new file mode 100644 index 000000000..3c6810ec3 --- /dev/null +++ b/user/unbound/APKBUILD @@ -0,0 +1,76 @@ +# Contributor: Luis Ressel <aranea@aixah.de> +# Maintainer: Luis Ressel <aranea@aixah.de> +pkgname=unbound +pkgver=1.9.0 +pkgrel=0 +pkgdesc="A validating, recursive and caching DNS resolver" +url="https://unbound.net/" +arch="all" +options="!checkroot" +license="BSD-3-Clause" +depends="" +makedepends="expat-dev libevent-dev openssl-dev python3-dev swig" +subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc $pkgname-python" +install="$pkgname.pre-install" +pkgusers="unbound" +pkggroups="unbound" +source="https://nlnetlabs.nl/downloads/$pkgname/$pkgname-$pkgver.tar.gz + unbound.confd + unbound.initd" + +build() { + cd "$builddir" + + # cachedb, dnscrypt and dnstap have yet unpackaged dependencies + PYTHON_VERSION=3 ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-rpath \ + --with-rootkey-file=/etc/unbound/var/root.key \ + --with-pidfile=/run/unbound.pid \ + --enable-tfo-client \ + --enable-tfo-server \ + --disable-cachedb \ + --disable-dnscrypt \ + --disable-dnstap \ + --enable-ipsecmod \ + --enable-subnet \ + --with-pthreads \ + --with-pyunbound \ + --without-pythonmodule \ + --with-ssl=/usr \ + --with-libevent=/usr \ + --with-libexpat=/usr + make +} + +check() { + cd "$builddir" + sed -i -e 's/ELAPSED/ELAPSE/' testdata/auth_xfr_notify.rpl # Bug in unbound-1.8.3 test suite + make test +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + install -do unbound "$pkgdir/etc/unbound/var" +} + +openrc() { + default_openrc + install -Dm755 "$srcdir/unbound.initd" "$subpkgdir/etc/init.d/unbound" + install -Dm644 "$srcdir/unbound.confd" "$subpkgdir/etc/conf.d/unbound" +} + +python() { + pkgdesc="$pkgdesc (Python bindings)" + + install -d "$subpkgdir/usr/lib" + mv "$pkgdir/usr/lib/python"* "$subpkgdir" +} + +sha512sums="7dfa8e078507fc24a2d0938eea590389453bacfcac023f1a41af19350ea1f7b87d0c82d7eead121a11068921292a96865e177274ff27ed8b8868445f80f7baf6 unbound-1.9.0.tar.gz +de9dc269553f5449c1757690c2a8a3b9f228964f5672d721cfdbc29e6fab8954907fa4fa3761dd6f705b3ccd2f729cc6e2fe870107feb68cca611589f8306b94 unbound.confd +6627cbcbcb4e04f596e7e0ffdbf80ceb54cdb59144cb89896e53503dfb41b99fd77d8b85d05e6670f77023b6eafec8885b00c0c8e4e34e3e638c52c037a7985e unbound.initd" diff --git a/user/unbound/unbound.confd b/user/unbound/unbound.confd new file mode 100644 index 000000000..ce468e95c --- /dev/null +++ b/user/unbound/unbound.confd @@ -0,0 +1,5 @@ +# +# Specify daemon options here. +# + +unbound_opts="" diff --git a/user/unbound/unbound.initd b/user/unbound/unbound.initd new file mode 100644 index 000000000..0ffc19aba --- /dev/null +++ b/user/unbound/unbound.initd @@ -0,0 +1,16 @@ +#!/sbin/openrc-run + +name="unbound" +command="/usr/sbin/unbound" +command_args="${unbound_opts}" +pidfile="/run/unbound.pid" +extra_started_commands="reload" + +depend() { + use logger net + provide dns +} + +reload() { + start-stop-daemon --signal HUP --pidfile "${pidfile}" +} diff --git a/user/unbound/unbound.pre-install b/user/unbound/unbound.pre-install new file mode 100755 index 000000000..9f203cb08 --- /dev/null +++ b/user/unbound/unbound.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh + +groupadd -r unbound 2>/dev/null +useradd -M -N -g unbound -r -s /sbin/nologin -d /etc/unbound unbound 2>/dev/null +exit 0 diff --git a/user/wireguard-tools/APKBUILD b/user/wireguard-tools/APKBUILD new file mode 100644 index 000000000..95a0dd067 --- /dev/null +++ b/user/wireguard-tools/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Luis Ressel <aranea@aixah.de> +# Maintainer: Luis Ressel <aranea@aixah.de> +pkgname=wireguard-tools +_pkgreal=WireGuard +pkgver=0.0.20190123 +pkgrel=0 +pkgdesc="Userland tools for the WireGuard VPN" +url="https://www.wireguard.com/" +arch="all" +options="!check" # no test suite +license="GPL-2.0-only" +depends="bash iproute2" +makedepends="libmnl-dev" +subpackages="$pkgname-bash-completion:bashcomp:noarch $pkgname-doc wireguard-patch:_patch:noarch" +source="https://git.zx2c4.com/WireGuard/snapshot/$_pkgreal-$pkgver.tar.xz" +builddir="$srcdir/$_pkgreal-$pkgver" + +build() { + cd "$builddir" + make RUNSTATEDIR=/run -C src/tools +} + +package() { + cd "$builddir" + make WITH_BASHCOMPLETION=yes WITH_WGQUICK=yes DESTDIR="$pkgdir" -C src/tools install +} + +bashcomp() { + depends="$pkgname" + pkgdesc="$pkgdesc (Bash completion)" + + mkdir -p "$subpkgdir/usr/share" + mv "$pkgdir/usr/share/bash-completion" "$subpkgdir/usr/share/" +} + +_patch() { + depends="" + pkgdesc="Kernel patch for the WireGuard VPN" + + cd "$builddir" + mkdir -p "$subpkgdir/usr/share/wireguard" + contrib/kernel-tree/create-patch.sh > "$subpkgdir/usr/share/wireguard/wireguard-$pkgver.patch" + +} + +sha512sums="8be40cebabca2a40f98ee10d6fa93708b12b17c6b0eab9aa8b7fab353d78fbd5b280b7b90cb2973cf74a1b9d47c3d250bf3ede6d1318129a45d57e21329b7f59 WireGuard-0.0.20190123.tar.xz" diff --git a/user/xf86-video-geode/APKBUILD b/user/xf86-video-geode/APKBUILD index d8dccbb1e..0ba4f2954 100644 --- a/user/xf86-video-geode/APKBUILD +++ b/user/xf86-video-geode/APKBUILD @@ -5,12 +5,15 @@ pkgver=2.11.19 pkgrel=0 pkgdesc="AMD Geode video driver for X11" url="https://www.X.Org/" -arch="pmmx x86_64" +arch="pmmx" license="X11" depends="" makedepends="util-macros xorgproto-dev xorg-server-dev" -subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/driver/xf86-video-geode-$pkgver.tar.bz2" +subpackages="" +source="https://www.x.org/releases/individual/driver/xf86-video-geode-$pkgver.tar.bz2 + loader.patch + randr.patch + " build() { cd "$builddir" @@ -34,4 +37,6 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f0b1c5edf1c226a4379aa9a4983e69cbaced0618868a7902de41a7754c148324c2a4ea73704aefd96f48d36f035fb2c8063604c26e21e986e4f90c3716578d41 xf86-video-geode-2.11.19.tar.bz2" +sha512sums="f0b1c5edf1c226a4379aa9a4983e69cbaced0618868a7902de41a7754c148324c2a4ea73704aefd96f48d36f035fb2c8063604c26e21e986e4f90c3716578d41 xf86-video-geode-2.11.19.tar.bz2 +a6703c78f2790ff67eb812de3afcdff0a86b6dee8469318ed21e8a50af0a286a087739917e7559d920085563b62eaf9874d54397e88bc810e65bd6ffa7d0830f loader.patch +c4b1d09b17e84a3aa842e37f6710fcfe420c2cd9a3efeac5ea50c0d3eb7ebbdb370536a86e1741c89fe50ae38b22d9aecf1d6919077a1579209f2f70c2e0b099 randr.patch" diff --git a/user/xf86-video-geode/loader.patch b/user/xf86-video-geode/loader.patch new file mode 100644 index 000000000..f318fbb17 --- /dev/null +++ b/user/xf86-video-geode/loader.patch @@ -0,0 +1,48 @@ +From 09aaa3d1fae4aeb099b16e7a046151761bcdea95 Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Tue, 24 Jan 2017 09:53:06 -0500 +Subject: Remove call to LoaderGetOS + +On OSes that don't have a /dev/videox we'll just fail the open() and not +initialize the Xv adaptor. + +Signed-off-by: Adam Jackson <ajax@redhat.com> +--- + src/z4l.c | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/src/z4l.c b/src/z4l.c +index eccefe8..be0d345 100644 +--- a/src/z4l.c ++++ b/src/z4l.c +@@ -1709,7 +1709,6 @@ _X_EXPORT XF86ModuleData ztvModuleData = { &z4lVersionRec, z4lSetup, NULL }; + static pointer + z4lSetup(pointer module, pointer opts, int *errmaj, int *errmin) + { +- const char *osname; + static Bool setupDone = FALSE; + + if (setupDone != FALSE) { +@@ -1719,19 +1718,7 @@ z4lSetup(pointer module, pointer opts, int *errmaj, int *errmin) + } + + setupDone = TRUE; +- LoaderGetOS(&osname, NULL, NULL, NULL); +- +- if (osname == NULL || strcmp(osname, "linux") != 0) { +- if (errmaj) +- *errmaj = LDR_BADOS; +- if (errmin) +- *errmin = 0; +- +- return NULL; +- } +- + xf86AddDriver(&Z4l, module, 0); +- + return (pointer) 1; + } + +-- +cgit v1.1 + diff --git a/user/xf86-video-geode/randr.patch b/user/xf86-video-geode/randr.patch new file mode 100644 index 000000000..9c2b34ac9 --- /dev/null +++ b/user/xf86-video-geode/randr.patch @@ -0,0 +1,30 @@ +From 8382e6bb0c76a8029493eae3f2d7a3dbfd0cfc12 Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Mon, 5 Mar 2018 10:28:15 -0500 +Subject: gx: Fix RANDR initialization for xserver 1.20 + +xf86DisableRandR() doesn't exist anymore, and we don't need it anyway, +the core code will notice that we set up RANDR ourselves. + +Signed-off-by: Adam Jackson <ajax@redhat.com> +--- + src/gx_driver.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/gx_driver.c b/src/gx_driver.c +index ab57df1..4de336e 100644 +--- a/src/gx_driver.c ++++ b/src/gx_driver.c +@@ -1426,7 +1426,9 @@ GXScreenInit(SCREEN_INIT_ARGS_DECL) + + /* Set up RandR */ + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 24 + xf86DisableRandR(); /* We provide our own RandR goodness */ ++#endif + + /* Try to set up the shadow FB for rotation */ + +-- +cgit v1.1 + diff --git a/user/xf86-video-openchrome/APKBUILD b/user/xf86-video-openchrome/APKBUILD index a73468bca..10832e4ae 100644 --- a/user/xf86-video-openchrome/APKBUILD +++ b/user/xf86-video-openchrome/APKBUILD @@ -2,13 +2,13 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-openchrome pkgver=0.6.0 -pkgrel=0 +pkgrel=1 pkgdesc="S3/VIA Chrome video driver for X11" url="https://www.X.Org/" arch="all" license="X11" depends="" -makedepends="xorgproto-dev xorg-server-dev" +makedepends="libxvmc-dev xorgproto-dev xorg-server-dev" subpackages="$pkgname-doc" source="https://www.x.org/releases/individual/driver/xf86-video-openchrome-$pkgver.tar.bz2" diff --git a/user/xorg-drivers/APKBUILD b/user/xorg-drivers/APKBUILD index f50653136..c6442655d 100644 --- a/user/xorg-drivers/APKBUILD +++ b/user/xorg-drivers/APKBUILD @@ -17,8 +17,10 @@ depends="xf86-input-evdev xf86-input-joystick xf86-input-keyboard xf86-video-nouveau xf86-video-openchrome xf86-video-qxl xf86-video-r128 xf86-video-tdfx" case $CTARGET_ARCH in - x86_64 | pmmx) + pmmx) depends="$depends xf86-video-geode xf86-video-intel" ;; + x86_64) + depends="$depends xf86-video-intel" ;; esac source="" |