Age | Commit message (Collapse) | Author |
|
This is based on the PKGBUILD available on aur here:
https://aur.archlinux.org/asterisk.git
Before this package was built with -march=native, so if you build
it on a machine with a processor that supports avx (Advanced Vector
Extensions), libpjsip.so.2 ended up with vpxor instructions that
were also executed on machines with a processor that did not have
such extension, which resulted in an illegal instruction at asterisk
startup.
Though for some reason, with this patch, building asterisk on a
machine with avx still results in res_pjsip_send_to_voicemail.so
having one vpxor instruction.
Hopefully even with that, asterisk can still start.
Changes from the aur PKGBUILD:
- Parabola's change to always depend on pjproject was kept
- Native builds were disabled by using the ChangeLog documentation:
"Those who need different -march= values, please, go for
./configure
make menuselect.makeopts or make menuselect
./menuselect/menuselect --disable BUILD_NATIVE"
Without that the build machine processor
- Parabola's minimum system requirements states that:
"Parabola GNU/Linux-libre should run on any i686 compatible machine
[...]"
- Wikipedia states that i686 has MMX and SSE[2]
The package build was tested on x86_64, i686 and armv7h.
On x86_64 I verified that most asterisk ELF files did not
have vpxor instructions anymore with:
$ pacman -Q -l asterisk | \
awk '{print $2}' | xargs file | grep ELF | \
sed 's#:.*##' | xargs objdump -D | grep vpxor
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
This is based on the PKGBUILD available on aur here:
https://aur.archlinux.org/pjproject.git
Before this package was built with -march=native, so if you build
it on a machine with a processor that supports avx (Advanced Vector
Extensions), libpjsip.so.2 ended up with vpxor instructions that
were also executed on machines with a processor that did not have
such extension, which resulted in an illegal instruction at asterisk
startup.
libwebrtc is disabled in order not to require sse2 on i686:
- Parabola's minimum system requirements states that:
"Parabola GNU/Linux-libre should run on any i686 compatible machine
[...]"
- Wikipedia states that i686 has MMX and SSE[2]
- The Asterisk Changelog has the following:
"pjproject_bundled: Add --disable-libwebrtc to configure
Without the disable, pjproject tries to build it's internal
webrtc implementation which requires sse2. This fails on
platforms without sse2."
- In package(), a trailing '*' was added to
pjsip-apps/bin/pjsua-*gnu in order to catch binaries like
pjsip-apps/bin/pjsua-armv7l-unknown-linux-gnueabihf on ARM.
The package build was tested on x86_64, i686 and armv7h.
On x86_64 I verified that libpjsip.so.2 did not have vpxor
instructions anymore with objdump -D libpjsip.so.2 | grep vpxor
References:
-----------
[1]https://wiki.parabola.nu/Beginners%27_Guide
[2]https://en.wikipedia.org/wiki/P6_(microarchitecture)
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
The pakcages have been tested and work on x86_64.
I successfully received commercial FM radio stations
with it with the following settings:
I/O devices configuration:
--------------------------
Device: other
Device String: xtrx
Input Rate: 5000000
Decimation: None
Sample rate: 5Msps
Banwith: 1.000000 MHz
LNO LB: 0.000000 Mhz
Input control:
--------------
LNA gain: 22 db
TIA gain: 9 db
PGA gain: 12 db
LB gain: 0 db
Swap I/Q []
DC Remove []
No limits []
IQ balance []
Freq. correction: 0.0 ppm
Antenna: RXL
Reset frequency controller digits []
Note that the chosen Antenna is specific to my setup.
TODO:
- Make the package install in /usr/ instead of /usr/local
- Validate the packages on i686 and armv7h
- Package the kernel module
- Package the other libraries required for the USB3 support.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The previous PKGBUILD was build and tested.
However I removed the following files after testing
and forgott to regenrate the sha512sum:
'kernel.its', 'kernel.keyblock', 'kernel_data_key.vbprivk'
I didn't re-test after that since it already took hours to
build it my build machine and that this PKGBUILD is based
on a well tested PKGBUILD.
I didn't bump the package revision in this commit because the
package cound't build before.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
With this kernel, on machines with an x86_64 compatible CPU, you
can run an i686 userspace with an x86_64 kernel.
This for instance enables to use the same i686 rootfs on computers
with 32bit and 64bit CPUs, while still being able to take advantage
of a 64bit kernel on the machines that supports it.
The users will then need to force i686 in pacman.conf like that:
[options]
Architecture = i686
They will also need to select the right kernel at boot.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
This will enable users to build code for x86_64 on
i686 and armv7h.
The PKGBUILDS are based on the arm-linux-gnueabi-
binutils and gcc.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hasnt landed yet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This will hopefully enable Parabola users to migrate to
Hyperbola without having to disable the signatures verification.
Hyperbola automatically adds hyperbola-keyring to pacman keyring
in the postinstall script.
This functionality was disabled as it doesn't make sense to
automatically trust packages comming from another distribution.
Because of that, users migrating to Hyperbola or using pacstrap
to install Hyperbola will then need to run the following command:
# pacman-key --populate hyperbola
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|