summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/fpc/Manifest1
-rw-r--r--dev-lang/fpc/files/fpc-3.2.2-sparc-find-libs.patch16
-rw-r--r--dev-lang/fpc/fpc-3.2.2.ebuild17
3 files changed, 32 insertions, 2 deletions
diff --git a/dev-lang/fpc/Manifest b/dev-lang/fpc/Manifest
index 99b024355fed..94f8c15f47f4 100644
--- a/dev-lang/fpc/Manifest
+++ b/dev-lang/fpc/Manifest
@@ -2,5 +2,6 @@ DIST fpc-3.2.2-doc-html.tar.gz 5810672 BLAKE2B 5d2c0ce35024f58d35e59034d4c071ec5
DIST fpc-3.2.2.aarch64-linux.tar 137943040 BLAKE2B 1f2b3ff35d33419bd60a65bee8e20264a7970e515e0d8239dc51bd415b9a4fc580b7d3bd7fcd2a6964f78669e9dda13d1349281116004d582236a4f314dc6935 SHA512 8a52c53cd167af39222296db7c91aadf0b5d845272833a961c5db0c7d2d4cb5e61f41f71e0989c193dc2923770440b19d7d3d71de65291d0a3e0a15edc793316
DIST fpc-3.2.2.i386-linux.tar 85043200 BLAKE2B 9e2fae2d272c79cc7fcf4d062589bd888c342ccfb01e3f14e412bc58ff6b04928c6a7a0a4b3392b30f0864f16029d063632bd72bd9cac55e0a40a00fb726ef93 SHA512 b4f1a94d1a05901f4ffc2e07519e9b03666850211e571cbce33f0ba16d8a1d88de256c8e111579f46d56f157630dfc722a8ae9ce2b200fc784c588ea4e6bd5df
DIST fpc-3.2.2.source.tar.gz 52240052 BLAKE2B e30cf1b10c4cafd0ae2a25673678213669c29dec0549f4d7b357011e84a0a2c8ecf343cb6443798e6c36c02ae97a0c7cae7ca24829510c552968d4a58426576f SHA512 6d320b4e0805d63c40d3037f9d2078068c2c9fcdeb6ac073a6fcc19249bd6325dc542fcc7fc6dbb7e69507dcd84cf9e720e7d73925afe955e2a24e8c7d92606a
+DIST fpc-3.2.2.sparc64-linux.tar 141895680 BLAKE2B 0cfa9584cf330bbafa3d6b2c03c1fe88563b17cbb9e1d4fd75b94083bbf08fcba3086daa7988056d9a4f832d315f8919d3e5d07dad1f080afb09b6836a237d74 SHA512 ceda87e9a06a433967c080d11ae3d949fbd629994083fdf5cdfc3d1db239cc1ba54d2bc0879c85b81f27296803f6b955598a0595f7d4f27bbcb4251d23bca4d1
DIST fpc-3.2.2.x86_64-linux.tar 86978560 BLAKE2B 29cac8c0da4ba65cee6a0e0cd3c111202c8943ca61a02c5dfeaeb174c353db6fc07e291794ef7433f9fdf88ed694260e734bc715567c6a12292b0c8524d17f4e SHA512 534df830a951824525044479ded23ef1e61b104c0dd65c837ad0d8d9ced9eb7349925a3f759756aa95ae17e567d8b1cd5c7e2092d3c665eaac578845b48aa467
DIST fpcbuild-3.2.2.tar.gz 84195619 BLAKE2B 88848308c93f949b59197649cc344498082b6520e43eb1d4413bf68eb251fcab75c863794a188a2298d9e8aba47346253a596ac630b30049ac8bd6f6934aa5a2 SHA512 75889bb54adc70a6e2cbd291476b9b12d61c8f943a05b7d16d2024de3215c935465ff43b1400c412e128e260c7f49a9c66e35c21f86cb866e671b5b60a282d82
diff --git a/dev-lang/fpc/files/fpc-3.2.2-sparc-find-libs.patch b/dev-lang/fpc/files/fpc-3.2.2-sparc-find-libs.patch
new file mode 100644
index 000000000000..c7f7d6d6829b
--- /dev/null
+++ b/dev-lang/fpc/files/fpc-3.2.2-sparc-find-libs.patch
@@ -0,0 +1,16 @@
+# Fix finding a user's library dirs on sparc64.
+# Patch adapted from https://gitlab.com/freepascal.org/fpc/source/-/commit/aca84a812800fce7ef0377b43501a8efae755a13
+
+diff --git a/compiler/systems/t_linux.pas b/compiler/systems/t_linux.pas
+index 2dad1d321cc246ae69996a7df29270762a2f1fec..9768d756acbabe9edeac3c9378c0be0b6d5d4d9d 100644
+--- a/compiler/systems/t_linux.pas
++++ b/compiler/systems/t_linux.pas
+@@ -182,5 +199,8 @@ procedure SetupLibrarySearchPath;
+ {$ifdef sparc64}
+ LibrarySearchPath.AddLibraryPath(sysrootpath,'=/usr/lib/sparc64-linux-gnu',true);
++ LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib/sparc64-linux-gnu',true);
++ LibrarySearchPath.AddLibraryPath(sysrootpath,'=/usr/lib64',true);
++ LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib64',true);
+ {$endif sparc64}
+ {$ifdef riscv32}
+ LibrarySearchPath.AddLibraryPath(sysrootpath,'=/usr/lib/riscv32-linux-gnu',true);
diff --git a/dev-lang/fpc/fpc-3.2.2.ebuild b/dev-lang/fpc/fpc-3.2.2.ebuild
index ce1852bf58e9..b34a23be9ade 100644
--- a/dev-lang/fpc/fpc-3.2.2.ebuild
+++ b/dev-lang/fpc/fpc-3.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,16 +11,21 @@ SRC_URI="mirror://sourceforge/freepascal/fpcbuild-${PV}.tar.gz
mirror://sourceforge/freepascal/fpc-${PV}.source.tar.gz
amd64? ( mirror://sourceforge/freepascal/${P}.x86_64-linux.tar )
arm64? ( mirror://sourceforge/freepascal/${P}.aarch64-linux.tar )
+ sparc? ( mirror://sourceforge/freepascal/${P}.sparc64-linux.tar )
x86? ( mirror://sourceforge/freepascal/${P}.i386-linux.tar )
doc? ( mirror://sourceforge/freepascal/Documentation/${PV}/doc-html.tar.gz -> ${P}-doc-html.tar.gz )"
S="${WORKDIR}/fpcbuild-${PV}/fpcsrc"
LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
SLOT="0"
-KEYWORDS="-* amd64 ~arm64 x86"
+KEYWORDS="-* amd64 ~arm64 ~sparc x86"
IUSE="doc source"
RESTRICT="strip" #269221
+PATCHES=(
+ "${FILESDIR}/${P}-sparc-find-libs.patch"
+)
+
# fpc is special: it can't use CFLAGS and LDFLAGS directly
# since those are geared for running through gcc's frontend
QA_FLAGS_IGNORED="
@@ -48,6 +53,10 @@ src_unpack() {
FPC_ARCH="aarch64"
PV_BIN="${PV}"
;;
+ sparc)
+ FPC_ARCH="sparc64"
+ PV_BIN="${PV}"
+ ;;
x86)
FPC_ARCH="i386"
PV_BIN="${PV}"
@@ -84,6 +93,10 @@ set_pp() {
FPC_ARCH="a64"
FPC_PARCH="aarch64"
;;
+ sparc)
+ FPC_ARCH="sparc64"
+ FPC_PARCH="sparc64"
+ ;;
x86)
FPC_ARCH="386"
FPC_PARCH="i386"