summaryrefslogtreecommitdiff
path: root/libre/pacman
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2018-11-28 15:59:20 +0100
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2018-11-30 13:10:45 +0100
commit1fa502f26b13d5872e4c24771cda692d05ccfe48 (patch)
tree8820fb39e415ede6f43e5cd12fabc5c92becf96e /libre/pacman
parent103f12b9f24b410b50aa75993814c88dc20f8243 (diff)
libre/pacman: Add preliminary ppc64le support.
This has not been built or tested on ppc64le, however it enables to create a ppc64le chroot with librechroot. While creating the chroot, it does install the packages: $ sudo librechroot -A ppc64le -n parabola-ppc64le make [...] ( 1/134) installing linux-libre-api-headers [################################################] 100% ( 2/134) installing tzdata [################################################] 100% [...] and the packages binaries are indeed for ppc64le: $ file /var/lib/archbuild/parabola-ppc64le/root/usr/bin/bash /var/lib/archbuild/parabola-ppc64le/root/usr/bin/bash: ELF 64-bit [...], 64-bit PowerPC [...] However, qemu(through qemu-user-static-binfmt) currently fails at running any of theses binaries with: "error: command terminated by signal 4: Illegal instruction". This also affects the packages post-installation and hooks. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'libre/pacman')
-rw-r--r--libre/pacman/PKGBUILD10
-rw-r--r--libre/pacman/pacman.conf.ppc64le122
2 files changed, 130 insertions, 2 deletions
diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD
index 9c19b4c82..4e9b31394 100644
--- a/libre/pacman/PKGBUILD
+++ b/libre/pacman/PKGBUILD
@@ -12,10 +12,10 @@
pkgname=pacman
pkgver=5.1.1
pkgrel=1
-pkgrel+=.parabola7
+pkgrel+=.parabola8
pkgdesc="A library-based package manager with dependency support"
arch=('x86_64')
-arch+=('i686' 'armv7h')
+arch+=('i686' 'armv7h' 'ppc64le')
url="http://www.archlinux.org/pacman/"
license=('GPL')
groups=('base' 'base-devel')
@@ -53,6 +53,7 @@ sha256sums=('be04b9162d62d2567e21402dcbabb5bedfdb03909fa5ec6e8568e02ab325bd8d'
'53c3d28314fd8fc6f92a0720c41fc5bd4c7b24793f84158d07988b294c5480a2'
'6baddd5a4651f147b9412d86dc8c5b4763e4f34deaf140a7fb986fb4d4a05949'
'435f4e93355048f83697317b35aad7788162bab5f58f1b9268bc83ad03ed41d8'
+ '88359b6a39c8c1d43b1d1ead05425b0199f8783c330f1b5ec84edcdba5ffb06e'
'c0cbdc0df96f13a73d241c1eb85a969098bd414f12ecd7c045922b154537e00a'
'220f1b25a64727041dc6fa3fd486b0a043f735a3f6cecedc4e2f7c47ec6ce66d'
'2a857061f032ff5485f5c75ab74e6f6532621e08963ef48640a792cca16cacd6'
@@ -124,6 +125,11 @@ build() {
mychost="armv7l-unknown-linux-gnueabihf"
myflags="-march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector-strong -fno-plt"
;;
+ ppc64le)
+ mycarch="ppc64le"
+ mychost="powerpc64le-unknown-linux-gnu"
+ myflags="-mcpu=native -O2 -pipe -fstack-protector-strong -fno-plt"
+ ;;
esac
myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
diff --git a/libre/pacman/pacman.conf.ppc64le b/libre/pacman/pacman.conf.ppc64le
new file mode 100644
index 000000000..df1b8c75e
--- /dev/null
+++ b/libre/pacman/pacman.conf.ppc64le
@@ -0,0 +1,122 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+#GPGDir = /etc/pacman.d/gnupg/
+#HookDir = /etc/pacman.d/hooks/
+HoldPkg = pacman glibc
+#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+#UseDelta = 0.7
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options
+#UseSyslog
+#Color
+#TotalDownload
+CheckSpace
+#VerbosePkgLists
+
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
+SigLevel = Required DatabaseOptional
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all Arch/Parabola packagers
+# with `pacman-key --populate archlinux` and `pacman-key --populate parabola`.
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+# NOTE: Nonprism is a particular repository that aims to provide software built
+# and patched without services under global data surveillance programs like PRISM,
+# XKeyscore and Tempora. For more info see: https://wiki.parabola.nu/Nonprism
+
+#[nonprism-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[nonprism]
+#Include = /etc/pacman.d/mirrorlist
+
+[libre-testing]
+Include = /etc/pacman.d/mirrorlist
+
+[libre]
+Include = /etc/pacman.d/mirrorlist
+
+#[testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+Include = /etc/pacman.d/mirrorlist
+
+# The PCR (Parabola Community Repository) contains packages maintained by trusted
+# members of the Parabola community. It also contains packages maintained by
+# Parabola developers, but that the developer decided didn't belong in core/libre.
+
+#[pcr-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[pcr]
+Include = /etc/pacman.d/mirrorlist
+
+# Parabola also supports another community projects and personal repositories, to
+# find them check out this wiki page: https://wiki.parabola.nu/Repositories
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
+
+Include = /etc/pacman.d/*.conf