Seems there are more places where ecm_find_qmlmodule is used
To fix the build from failing on armv7 we should disable them all
[ci:skip-build]: don't try to build all depends, takes too long
[ci:skip-vercheck]: unblocking armv7 build, no need to bump pkgrel
The build is still failing, probably because ecm_find_qmlmodule is not
only present in the main CMakeLists.txt, but also in others.
$ git grep ecm_find_qmlmodule
CMakeLists.txt:ecm_find_qmlmodule(QtQuick 2.3)
CMakeLists.txt:ecm_find_qmlmodule(QtQuick.Controls 1.2)
CMakeLists.txt:ecm_find_qmlmodule(QtQuick.Layouts 1.3)
CMakeLists.txt:ecm_find_qmlmodule(QtQuick.Window 2.1)
CMakeLists.txt:ecm_find_qmlmodule(QtMultimedia 5.0)
CMakeLists.txt:ecm_find_qmlmodule(org.kde.kquickcontrolsaddons 2.0)
CMakeLists.txt:ecm_find_qmlmodule(org.kde.plasma.core 2.0)
CMakeLists.txt:ecm_find_qmlmodule(org.kde.plasma.components 2.0)
kcmkwin/kwindesktop/CMakeLists.txt:ecm_find_qmlmodule(org.kde.plasma.core 2.0)
kcmkwin/kwineffects/CMakeLists.txt:ecm_find_qmlmodule(org.kde.plasma.core 2.0)
[ci:skip-build]: don't try to build all depends, takes too long
[ci:skip-vercheck]: unblocking arm build, no need to bump pkgrel
Seems we missed these when forking Plasma and now the armv7 builders are
failing on it
[ci:skip-build] Won't succeed anyway as the packages haven't been
uploaded to the repos yet, so pmbootstrap will try to build the entirety
of Plasma and fail because it takes too long
[ci:skip-vercheck] No need to bump pkgrel
2.0.15 is a development 'version' (it'll never be released), and will be
replaced by 2.0.16 when that is released. The reason for forking this
is because there are some issues that are resolved here that prevent
SDL2 from working on the Librem 5. The fixes cannot be easily
backported to 2.0.14, hence the fork and upgrade.
fixes#950
[ci:skip-build] Never succeeds in time
[ci:skip-vercheck] We need our Mauikit to be a rel newer than in Alpine
repos, but the CI doesn't like it
This includes a big rewrite in kwin which should increase the
performance a whole lot, and some awesome other stuff
Fix about dialogs not being adaptive and all other changes by Purism,
which are the reason why we use the fork in the first place. The patches
didn't get applied in the previous version we had packaged in
postmarketOS, because the patches are in debian/patches now.
Remove check-version.py, it's in the source tree now.
bpo is currently failing to build images with the on-device installer,
because calamares needs to be rebuilt against libboost_python38.so. Fork
it until that's resolved. [ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Related: https://builds.sr.ht/~postmarketos/job/398948#task-img_installer-307
This syncs u-boot with the upstream branch, and includes the following
new features:
- support for board rev in u-boot
- fix uart4
[ci:skip-build]: already built successfully in CI
This packages the libhandy work in dino's feature/handy branch, which
makes the UI quite usable on mobile displays. A couple of windows don't
work well yet (e.g., the setting window), but chatting/omemo/file
transfer all work pretty well.
Currently phosh is broken in postmarketOS edge. Fork wlroots from Alpine
and revert the new consistency check that results in the breakage. I've
submitted the same to Alpine, but let's get it in pmOS now so it is
fixed ASAP.
Alpine MR: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/14522
[ci:skip-vercheck]: new package added with -r1 on purpose
plasma-nano (albeit saying it is 5.20.1) is pointing to the master branch
and kept as-is (there is no updates in master and I don't see a reason to
downgrade it to the actual 5.20.2 tag which is a few small commits behind
the master).
Remove patches:
'0001-gtk-meson.build-add-new-hdy-files.patch' and
'10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch'
appear in the code downloaded from Purism at precisely the
location of the patches.
[ci:skip-build]: already built successfully in CI
For some reason, the ModemManager build tends to freeze when built
with QEMU user emulation for arm*. Changing the build to use a single
thread only (-j1) avoids that, although the build is slower of course.
Also limit building to "armhf armv7 aarch64" since the forks are not
needed on any other architectures, to reduce build times a bit. The
other architectures can just use the upstream packages from Alpine.
This allows to connect the modem to the Internet with oFono.
I have verified that this does not break anything if the "rmnet0"
network interface is missing. Plus, all mainline devices currently
covered by the package should also be able to use the new "BAM DMUX"
network driver that is used as network interface to the modem.
(Note: This works differently on newer SoCs, but they also need
something different in oFono...)
Most older Qualcomm SoCs (e.g. MSM8916, MSM8974, ...) communicate
with the modem through shared memory. On mainline kernels these
shared memory channels are exposed through the RPMSG subsystem.
This is different from communication through USB or serial interfaces
that are currently supported by ModemManager.
This commit forks the "modemmanager" package from Alpine and adds
a patch that allows ModemManager to talk to modems through the RPMSG
subsystem.
Working functionality: Calls, SMS, Mobile Data
The same patch has also been submitted upstream:
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/363
For some reason, the ModemManager build tends to freeze when built
with QEMU user emulation for arm*. Changing the build to use a single
thread only (-j1) avoids that, although the build is slower of course.
The same thing seems to happen fo oFono as well, so set that to -j1 too.
Also limit building to "armhf armv7 aarch64" since the forks are not
needed on any other architectures, to reduce build times a bit. The
other architectures can just use the upstream packages from Alpine.
* add install_if to pull in w/ gnome-software
90b924a334
* use abuild-meson & meson compile/test/install
47360782ab
* use apk-polkit-rs instead of apk-polkit
0f6c2d95f1
* upgrade to 0.8.1
ce795a4d27
* don't pull in alpinelinux-apppstream-data
c35a1b4ba7
NOTE: alpinelinux-apppstream-data was removed in
946967b01f
This patch is from upstream gnome-contacts:
22ac2c6fec
Purism doesn't have it in their fork:
https://source.puri.sm/Librem5/gnome-contacts/-/issues/43
[ci:skip-vercheck]: some of these have pkgrel>0 - let's keep that in
order to have less differences with v20.05.
[ci:skip-build]: generated log is too long, CI fails
This upgrades u-boot to the latest upstream Purism version, and uses the
latest DDR training firmware.
APKBUILD was reformatted to replace indentation with tabs.
We were using a frequency of 624 which froze my device and in the past
other units too. Set it back to 552 as before so this doesn't happen
anymore
This is being upstreamed, https://gitlab.com/pine64-org/u-boot/-/merge_requests/3
(cherry picked from commit 88b48dee152686a887809ddb296cfd96e0c89f55)
Alpine's aarch64 builder is stuck and did not build 20.04.3-r1 yet. This
causes kde/itinerary from pmaports.git to fail:
https://builds.sr.ht/~postmarketos/job/282427#task-pmbootstrap_build-415
I've verified that this package builds for aarch64 with pmbootstrap, and
disabled other architectures.
The "shellprocesstest" is failing when building for armv7 on sr.ht. I
was not able to reproduce it locally. Just disable all tests for now.
It would be better to just disable the failing test, but since I can't
reproduce it locally I can't say that the build will go through then.
This package is in temp/, so let's not waste much time here. !check can
be removed when upstreaming it to Alpine.
[ci:skip-vercheck] [ci:skip-build]
Taken from upstream. Our mesa-git is pretty outdated, we should update
it soon. But we need to unblock the repository first, so this is the
fastest way for now.
"plasma" and some related packages are currently missing in Alpine edge
armv7 due to a cyclic dependency. Let's disable all packages depending
on plasma for armv7 temporarily, to get the pmOS edge armv7 repo up
again.
[ci:skip-build], [ci:skip-vercheck]: only arch line changed
Related: build.postmarketos.org#72
Add patch to fix build for armv7, armhf. That patched version is being
upstreamed to Alpine. Fork it now, so our builds are not blocked.
Related: builds.postmarketos.org#72
gitlab.com had a service disruption, so it was not possible to "git
clone" from gitlab.com from some regions, like where the sourcehut
infrastructure is located. Since we are building our packages on
builds.sr.ht, this caused all packages that should be built at that time
to fail. It is working again, so bump the pkgrels to restart the builds.
This switch has happened in the Alpine repos quite a while ago and most
of the pmOS packages were using it already too, so let's switch over the
last ones as well.
This also cleans up the APKBUILDs where necessary
Put virtual keyboard style into a subpackage, and let the main package
depend on it. That way, it can be used in postmarketos-ondev, without
pulling in all of plasma-phone-components.
Fails to build, because extra-cmake-modules from Alpine is not available
for armhf. Its APKBUILD says "Blocked by qt5-qtdeclarative".
[ci:skip-vercheck]
At the moment we have Contributor: lines on some packages (but not all of them),
but often they don't represent the actual contributors to the package very well.
E.g. when we added them retroactively to the device packages we only added
the initial contributor (which isn't necessarily the person
who made most of the work for a device...)
The Git history is the most representative source for figuring out
who contributed to a package, so there is no reason to duplicate that
into the APKBUILD.
[skip ci]: way too many packages
Follow-up to cbc6b9fcd7
Build locally for both armv7 and aarch64 fine.
[ci:skip-build] x86_64 build is disabled anyway
Signed-off-by: Alexey Min <alexey.min@gmail.com>
* Upgrade to the released stable version of upstream u-boot.
* Added patch to make the led on the Pinebook Pro light up earlier
* Added the update-u-boot script from Alpine with updates for the rk3399
devices
This adds a package that builds u-boot from the pine64/u-boot repository
which includes patches for enableing less hardware while booting so
there's quicker feedback that the power button has been pressed.
It also has a seperate patch file that modifies the clockspeed for the
memory which is one of the main performance bottlenecks of the A64 SoC.
It's a patch file so it's quick and easy to test out other clock speeds
when building. 600Mhz is stable but it should be able to run up to
624Mhz.
This fixes 1943ead268, which accidentally
removed the dev() function that generates the mesa-git-dev package..
causing mesa-dev to be pulled in in cases where mesa-dev is required
(and failing because mesa-dev is older)
[ci:skip-build]: already built successfully in CI
This was only needed to load the ALSA PulseAudio plugin outside
the chroot when running QEMU. Now that we allow configuring the
QEMU PulseAudio backend directly this is no longer needed.
At the moment, installing the rootfs for ouya-ouya fails with:
ERROR: unsatisfiable constraints:
libdrm-grate-2.4.100_git20191221-r0:
conflicts: libdrm-2.4.100-r0[libdrm]
libdrm-2.4.100-r0[so:libdrm.so.2=2.4.0]
libdrm-2.4.100-r0[so:libdrm_tegra.so.0=0.0.0]
libdrm-2.4.100-r0[so:libkms.so.1=1.0.0]
satisfies: device-ouya-ouya-1-r12[libdrm-grate]
libvdpau-tegra-0_git20190315-r0[libdrm-grate]
.pmbootstrap-20200110.144341[libdrm-grate]
.pmbootstrap-20200110.144341[libdrm]
mesa-gl-19.3.2-r0[so:libdrm.so.2]
directfb-1.7.7-r1[so:libdrm.so.2]
directfb-1.7.7-r1[so:libkms.so.1]
mesa-dri-swrast-19.3.2-r0[so:libdrm.so.2]
mesa-19.3.2-r0[so:libdrm.so.2]
libdrm-2.4.100-r0:
conflicts: libdrm-grate-2.4.100_git20191221-r0
libdrm-grate-2.4.100_git20191221-r0[so:libdrm.so.2=2.4.0]
libdrm-grate-2.4.100_git20191221-r0[so:libdrm_tegra.so.0=0.0.0]
libdrm-grate-2.4.100_git20191221-r0[so:libkms.so.1=1.0.0]
satisfies: .pmbootstrap-20200110.144341[libdrm]
mesa-gl-19.3.2-r0[so:libdrm.so.2]
directfb-1.7.7-r1[so:libdrm.so.2]
directfb-1.7.7-r1[so:libkms.so.1]
mesa-dri-swrast-19.3.2-r0[so:libdrm.so.2]
mesa-dri-swrast-19.3.2-r0[so:libdrm_amdgpu.so.1]
mesa-dri-swrast-19.3.2-r0[so:libdrm_nouveau.so.2]
mesa-dri-swrast-19.3.2-r0[so:libdrm_radeon.so.1]
mesa-19.3.2-r0[so:libdrm.so.2]
mesa-19.3.2-r0[so:libdrm_amdgpu.so.1]
mesa-19.3.2-r0[so:libdrm_nouveau.so.2]
mesa-19.3.2-r0[so:libdrm_radeon.so.1]
Looking closer at the error we see that:
1. We want to explicitly install libdrm-grate for device-ouya-ouya.
2. libdrm-grate provides
- so:libdrm.so.2=2.4.0
- so:libdrm_tegra.so.0=0.0.0
- so:libkms.so.1=1.0.0
3. But the mesa package also builds AMD and Nouveau drivers and
therefore requires:
- so:libdrm_amdgpu.so.1
- so:libdrm_nouveau.so.2
- so:libdrm_radeon.so.1
These libraries are not provided by libdrm-grate, therefore it is impossible
to install mesa and libdrm-grate at the same time.
A simple solution to fix this problem is to let libdrm-grate provide
these additional libraries as well - the package size overhead is negligible
and the additional drivers build just fine.
[ci:skip-build]: already built successfully in CI
At the moment, every device that wants to make use of mesa-git needs
to depend on all relevant mesa-git subpackages.
We can simplify this by adding these directly as depends for the
-dri- package that most devices will be depending on. That way,
the fact that you need to depend on all relevant subpackages is
mostly hidden away as "implementation detail" in the mesa-git
package, and no special care is required when using mesa-git.
This renamed the u-boot package for Purism librem5 devices, since the
phone and devkit share the same u-boot version. It also updates the
various components to the latest versions
This updates ATF, DDR/HDMI firmmware, and u-boot versions, and generates
a unified image that can be flashed at an offset of 2KiB.
mkimage is also no longer used to generate the final image.
Some old unused functions copied when this APKBUILD was forked were also
removed.
Some of the DRI drivers are not moved to the correct subpackage
and therefore installed everywhere through the main package.
This wastes about 8 MB of disk space, so lets move them to the
correct subpackage.
Build src/git_sha1.h early to avoid build failure:
../src/vulkan/overlay-layer/overlay.cpp:31:10: fatal error: git_sha1.h: No such file or directory
31 | #include "git_sha1.h"
| ^~~~~~~~~~~~
Default dbus policy of ofono allows only root user and users who are
logged into tty using at_console policy. However since our dbus is not
built with elogind, at_console is never set.
This allows user in wheel group to access ofono
[ci:skip-build]: already built successfully in CI
Fix build with current abuild version by removing the "-devel" suffix
in /usr/lib/pkgconfig/*.pc. Set "pcprefix" instead, so abuild doesn't
confuse these packages with the regular mesa.
[ci:skip-build]: already built successfully in CI
Fixes: #386
Turns out, that the pkgrel was bumped in Alpine. I had looked at an
outdated error message from the postmarketos-ui-* related MR and
assumed that this issue is still present (somwhat confused by the other
upstream-compat issues).
This reverts commit 07653d60a8.
Needs a pkgrel bump because dependency libboost was upgraded. This is
currently breaking everything depending on libphonenumber, for example
plasma mobile.
>>> postmarketos-ui-plasma-mobile: Analyzing dependencies...
ERROR: unsatisfiable constraints:
so:libprotobuf.so.20 (missing):
required by: libphonenumber-8.10.21-r0[so:libprotobuf.so.20]
>>> ERROR: postmarketos-ui-plasma-mobile: builddeps failed
It was forked to build the 5.17 pre-release, which is not needed
anymore. Remove now to unclutter pmaports, and to get pretty much all
remaining packages for x86_64 out of the queue on
build.postmarketos.org.
For llvm8-dev llvm-config executable is no longer in PATH
(it is in PATH now for llvm9-dev) and now it is in
/usr/lib/llvm8/bin/llvm-config, so it is more reliable
to adjust $PATH before calling meson build.
It will work for all past, current and future llvm versions.
Fixes 90d3deb7b4
[ci:skip-build]: already built successfully in CI
This commit:
- Updates u-boot
- Updates arm trusted firmware
- Builds the m4 firmware using cross compilation (no more dependency on
downloading the binary from purism \o/)
postmarketos-ui-plasma-mobile has !armhf in its arches list, so it does
not make sense to build these packages for armhf either. Let's save some
building time.
[ci:skip-vercheck], [ci:skip-build]
- Remove the outdated patch, it has been fixed differently upstream
- Update patch for use-elf-tls slots
[ci:skip-build]: already built successfully in CI
I did not check if patches still applied yesterday, and it turns out
that almost all of them don't apply anymore (probably because the
changes are in the upstream source now?).
Note that I did not test if plasma mobile is working correctly again
with this version, I'm just making the build errors go away (which I
did not notice right away yesterday, as qt5-qtbase was still building
and we had to upgrade that anyway, so there was no point in waiting).
Build tested and working for x86_64.
Fixes: 86a0ecc04a ("temp/qt5-qt*: upgrade to 5.12.5")
The package was originally added with jemalloc to work around a deadlock
while compiling mesa. I've tested compiling the mesa-git package on
x86_64 for armhf and armv7 and it worked fine. Looking at the original
issue report, the problem only happened with the autotools build system
and not with meson - and as all our mesa or networkmanager aports are
using meson now, I think we can delete this.
[ci skip] Package output does not change except for meta
information (licenses), so don't build or verify checksums
of the packages to prevent outdated source URL's breaking it.
This will have to be looked at later
Increase pkgrels, so the resulting versions are higher than the aports
in Alpine. Seems like this was done in the upstream PR initially, but
then got lost during rebase.
Fork from Alpine to apply Martijn's patch:
https://github.com/alpinelinux/aports/pull/9894
"This makes wpa_supplicant run in dbus mode if no config file has been
created for it, fixing the networkmanager integration. This config has
been used for a long time in postmarketOS and works fine.
It also removes the iwd dependency from networkmanager again so
wpa_supplicant is used because iwd doesn't support as many chipsets as
wpa_supplicant and it doesn't run on older kernels."
[ci:skip-build]: already built successfully in CI for x86_64, I've
tested that it builds for armhf and aarch64 too.
Avoid build failure for x86:
>>> mesa-git-glapi*: Running postcheck for mesa-git-glapi
>>> ERROR: mesa-git-glapi*: Found textrels:
TEXTREL /home/pmos/build/pkg/mesa-git-glapi/usr/lib/libglapi.so.0.0.0
The package is only used for armhf, armv7, aarch64 devices currently, so
change the arch line in the APKBUILD accordingly.
$ cd device
$ for i in $(git grep mesa-git | cut -d/ -f1); do grep -H arch $i/deviceinfo; done
device-asus-flo/deviceinfo:deviceinfo_arch="armhf"
device-lg-hammerhead/deviceinfo:deviceinfo_arch="armv7"
device-pine-a64lts/deviceinfo:deviceinfo_arch="aarch64"
device-pine-dontbeevil/deviceinfo:deviceinfo_arch="aarch64"
device-sony-castor-windy/deviceinfo:deviceinfo_arch="armhf"
device-sony-sirius/deviceinfo:deviceinfo_arch="armv7"
[ci:skip-vercheck]: only changed arch line
Fixes: ce7e4d79e1 ("temp/mesa-git: new aport (!524)")
Freedreno is broken in latest mesa stable, but it is fixed in current
master. Let's use master for now.
Based on Brian Masney's patch, but with a hardcoded commit and a
separate package.
The description below is a quote from Brian Masney in #296.
The pmOS mesa packages need to have -Db_ndebug=true passed to the meson
build so that debug assertions and extra validations are disabled to
improve overall system performance. See [1] for more details. Fedora
also recently made this change: [2]
This change, along with using the master branch of mesa, gets the
Freedreno driver working properly with X11 on the Nexus 5 and presumably
other A3XX-based systems.
--buildtype=release should also be passed to meson for extra
optimizations. See the thread [3] for more details.
[1] https://gitlab.freedesktop.org/mesa/mesa/blob/master/docs/meson.html#L321
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1692426.
[3] https://lists.freedesktop.org/archives/mesa-dev/2019-June/219960.html
[ci:skip-build]: already built successfully in CI
Alpine's build bot is stuck on another package, but this needs to be
rebuilt against the recently updated libhunspell. Otherwise Plasma
Mobile cannot be installed, as pmbootstrap fails with:
ERROR: Could not find dependency 'so:libhunspell-1.6.so.0' in any aports folder or APKINDEX.
I've tested that this builds properly.
Disable for arm arches, because there it fails with:
[89/300] Compiling C object 'xcursor/c7765ab@@wlr_xcursor@sta/xcursor.c.o'.
FAILED: xcursor/c7765ab@@wlr_xcursor@sta/xcursor.c.o
gcc -Ixcursor/c7765ab@@wlr_xcursor@sta -Ixcursor ...
cc1: error: /home/pmos/build/pkg/mesa/usr/include: No such file or directory [-Werror=missing-include-dirs]
I suspect, that this relates to our custom mesa packaging, which is only
built for arm architectures currently. Phosh isn't running on anything
other than x86_64 so far in postmarketOS, so let's just disable wlroots
arm too until this is figured out.
[ci:skip-vercheck]: only modified the arch line
Remove Alpine's maintainers and contributors from the APKBUILDs in temp
where we still had them. In general, we don't keep them there, because
we don't want them to get e-mailed about questions from the postmarketOS
aports. It is obvious that they were copy pasted from Alpine, with minor
adjustments.
Remove "Remember to increase pkgrel after changing _pkgver!" from
temp/mesa, because we have a CI check for that now.
[ci:skip-build]: cosmetic changes only
We need our build of qtdeclarative, otherwise building plasma/kde
components fails on arm with:
ld: /usr/lib/libQt5Quick.so.5.12.3: undefined reference to `QOpenGLFunctions_1_0::versionProfile()@Qt_5'
ld: /usr/lib/libQt5Quick.so.5.12.3: undefined reference to `QOpenGLFunctions_3_2_Core::versionProfile()@Qt_5'
That is, because Alpine's qt5-qtdeclarative is built against a
qt5-qtbase version, where the opengl version is not changed to
opengl es2, like it is done in pmaports.
Related: #270
Move Wayland meta packages to LightDM and replace ConsoleKit2 for
elogind for Plasma.
Now we don't need the hacky scripts in /etc/profile.d anymore!
This change requires elogind for both Weston and Plasma Mobile. Using
elogind allows us to use one patch less in kwin. Weston has logind
(which elogind provides) support disabled in Alpine Linux, so I put the
package in temp/ with it enabled for now, but will upstream this change
to Alpine.
Remove consolekit2 dependency in postmarketos-ui-xfce4.
[ci:skip-build]: already built successfully.
Fix the regression from the mesa refactoring and from switching to armv7
in hammerhead.
[ci:skip-build]: already built successfully in CI for x86_64; I've
tested manually that it builds for armv7.
- main: postmarketos-mkinitfs: Add /run
Create the /run directory in the initramfs so that cryptsetup doesn't
crash on not being able to create /run/cryptsetup for lockfiles
- device: pine-dontbeevil: Remove workaround for touchscreen
- main: linux-postmarketos-allwinner: Implemented supplies for touchscreen
This uses a slightly newer commit from the kernel repo that implements
requesting a regulator in the touchscreen driver
- device: pine-dontbeevil: Remove ethernet from initramfs
This actually makes debugging more complicated since networkmanager wont
touch the ethernet adapter afterwards and the initramfs can be debugged
over uart
- temp/u-boot: sync APKBUILD with upstream and update to 2019.04
- main: linux-postmarketos-allwinner: Use 20190521 git version
Fix missing symlink for the first driver in mv_dri() (caused by "shift"
at the wrong position). Build freedreno for arm only, not for all
arches.
Lima is for rendering and sun4i-drm (part of kmsro) for the display, so
split it into its own subpackage and use it in device-pine-*.
[ci:skip-build]: ollieparanoid made sure, that this builds. This won't
finish in time in CI.
Fix up for !359: the pkgrel was not bumped, and because the real mesa
version was stored in _pkgver instead of pkgver (which is set to 9999),
this means that the APKBUILD has exactly the same version as before. So
pmbootstrap will not try to build it, resulting in a missing
mesa-dri-lima package and general confusion.
See also:
https://gitlab.com/postmarketOS/pmaports/merge_requests/359#note_170054969
temp/mesa: enable mesa-dri-lima subpackage
temp/mesa: add a fix for Wayland on Lima
temp/mesa-purism-gc7000: update to latest Git and try to resolve conflicts with mesa
temp/mesa: switch version to 19.1.0-rc1
device/device-pine-a64lts: add mesa and mesa-dri-lima to depends
device/device-pine-dontbeevil: add mesa to depends
device/device-purism-librem5dev: remove now defunct mesa-purism-gc7000-dri-imx from depends
temp/mesa*: re-add X11 support
temp/mesa-purism-gc7000: fix build error which for some reason didn't cause problems earlier
temp/mesa*: fix X11 DRI symlinks
They are available in Alpine again for armhf and armv7.
Networkmanager is still missing, so we keep it it temp for now. Upstream
patch submitted: https://github.com/alpinelinux/aports/pull/7626
Related: #244
Due to the following dependency chain, it is currently not available
in Alpine for armhf and armv7. This breaks postmarketos-base.
postmarketos-base -> networkmanager -> polkit -> mozjs60
This can be reverted, when networkmanager is back for arm{hf,v7} in
Alpine. The mozjs60 arm fix is from here:
https://github.com/alpinelinux/aports/pull/7561
Related: #244
Rebuild to fix missing dependencies:
so:libicui18n.so.63, so:libicuuc.so.63
Currently we are facing another upstream compatibility issue with
Alpine, which is why CI will fail: polkit and therefore
networkmanager don't exist for armhf, armv7. See #244 for details.
Work around for issue #1715
Link qemu static binaries to jemalloc. This malloc implementation does not
appear to be susceptible to the deadlock after fork issue.
This is package is meant to work around the qemu static deadlock while
cross-compiling.
- pmbootstrap binfmt_misc chroots on arm hosts are untested
- upstream jemalloc package has armv7 disabled. It is uncertain what is
wrong with jemalloc for armv7.
For these reasons, disable the arm packages.
This updates the PKGBUILD to build tags instead of the release branch
(which will see commits until the specific release is EOL),
This commit also adds building the mesa-xatracker package.
[ci:skip-build]: already built successfully in CI
This adds a Mesa package overriding Mesa in Alpine, and:
1) builds a much newer version of Mesa than what is found in Alpine (by
*not* building amd/radeonsi support, so no dependency on llvm).
2) builds Mesa with tegra and etnaviv drivers (note, as of now, the
librem5 devkit gpu is not supported in the etnaviv driver here)
This breaks "pmbootstrap qemu" for some people, use --host-qemu as
workaround for now (a fix will be available soon):
https://wiki.postmarketos.org/wiki/Troubleshooting:QEMU#Using_QEMU_from_the_host_system
Since this also fixes the blackscreen bug on lg-hammerhead, the
trade-off with the qemu bug is worth it.
[ci:skip-build]: already built successfully in CI
This adds a package overriding the libdrm in Alpine with a newer
version, and also building libdrm with support for experimental devices
(etnaviv and tegra).
Fork the package from Alpine and undefine IFA_F_NOPREFIXROUTE during
compilation, so it works with the old downstream kernels that do not
have this feature yet.
Plasma-framework 5.55.0 isn't building for aarch64 without this patch.
Aleix Pol ran into the same problem with flatpak builds, and created the
patch: https://codereview.qt-project.org/#/c/253276/
* Mir starts up and is able to display system settings
* x86_64 only for now, because at least ubuntu-app-test did not build
on aarch64
Based on PureTryOut's work. Getting it to this stage was a huge effort
(as it shows in the package count: 111(!)). See the merge request for
details.
[skip ci]: this won't finish in CI; ollieparanoid made sure that
everything builds for x86_64.
Alpine Linux has updated their main/icu to 63.1, which means we have to
rebuild some of our packages too.
[skip ci]: simple pkgrel bumps, building won't finish in CI
Turns out we do need to fork this aport, as it builds qgpgme, which
Alpine's aport does not build as of now. Updated to 1.12.0 and changed
the pkgver to 9999, so it does not conflict with Alpine's aport.
We had probably added this, because no binary package was present in
Alpine at the time. Now it is present, and the package has been updated
in Alpine. No need to keep this outdated version around.
Workaround for a build error on aarch64, where the binary package
repository is currently stuck. Compiling it for aarch64 like this:
$ pmbootstrap build --strict --arch=aarch64 qemu
Resulted in:
>>> qemu: Analyzing dependencies...
ERROR: unsatisfiable constraints:
openssl-dev-1.1.1a-r0:
conflicts: libressl-dev-2.7.4-r2[pc:libcrypto=1.1.1a]
libressl-dev-2.7.4-r2[pc:libssl=1.1.1a]
libressl-dev-2.7.4-r2[pc:openssl=1.1.1a]
satisfies: curl-dev-7.62.0-r2[openssl-dev]
libssh2-dev-1.8.0-r4[pc:libcrypto]
libssh2-dev-1.8.0-r4[pc:libssl]
spice-dev-0.14.1-r3[pc:openssl]
libressl-dev-2.7.4-r2:
conflicts: openssl-dev-1.1.1a-r0[pc:libcrypto=2.7.4]
openssl-dev-1.1.1a-r0[pc:libssl=2.7.4]
openssl-dev-1.1.1a-r0[pc:openssl=2.7.4]
satisfies: world[libressl-dev]
libssh2-dev-1.8.0-r4[pc:libcrypto]
libssh2-dev-1.8.0-r4[pc:libssl]
spice-dev-0.14.1-r3[pc:openssl]
>>> ERROR: qemu: builddeps failed
Note that the only package not mentioned in both "satisfies" outputs is
curl-dev. The real questions are: why is libressl-dev getting pulled in
at all? (Alpine switched back from libressl to openssl, so this should
not happen). And why does this only happen for aarch64, but not for
x86_64 and armhf? But at least this patch unblocks the package builder.
The purpose of this package was to fill in until it is built in Alpine.
However, it takes forever to build the foreign arch versions. That's
due to the fact that GCC is compiling it self, and then the distcc
cross compiler magic does not work. Not worth it. [skip ci].
Further adjustments. It would have been better if I tried to build
it first, sorry for that. Another patch is coming in the pmbootstrap
repo, which makes it work even without the gcc6 pmaport.
Copy Alpine's gcc6 aport to temp. They don't have it built for aarch64
and armhf at the moment. Due to dependency checks, this means we can't
build the kernels that need gcc6, even when cross compiling with
gcc6-armhf etc. See #138 for details.
* Added linux-postmarketos-allwinner kernel
* Added copy of alpines u-boot package with pine-a64lts support
* Changed postmarketos-mkinitfs to add the plain .dtb file to the boot partition
Alpine's firmware packages have been updated to include the latest
raspberry pi firmware. This commit adjusts our aports.
Details:
* remove obsolete `aports/temp/linux-firmware`
* `firmware/firmware-pi-bluetooth`: rename to `device/bluetooth-raspberry-pi`
and remove firmware files (they are part of Alpine's `linux-firmware` now)
* `device-raspberry-pi`: depend on `bluetooth-raspberry-pi`
* `device-raspberry-pi`: note that Alpine's kernels depend non free firmware
* `device-raspberry-pi`: remove non free firmware subpackage
The package starts with "linux-", which means the "native" cross
compilation type is used:
https://wiki.postmarketos.org/wiki/Build_internals#Cross-compile_types
When using that, !tracedeps needs to be in the options, otherwise the
dependency tracing step fails the build. I've tested that this commit
fixes the build.
Fixes#1546