commit:     1a5b252380f7cf1f0fc914c35b0d39179001997f
Author:     Amy Liffey <amynka <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 21 14:04:46 2018 +0000
Commit:     Amy Liffey <amynka <AT> gentoo <DOT> org>
CommitDate: Sun Jan 21 14:05:22 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a5b2523

dev-lang/fpc: version bump 3.0.4

Closes: https://bugs.gentoo.org/645226
Package-Manager: Portage-2.3.13, Repoman-2.3.3

 dev-lang/fpc/Manifest         |   5 ++
 dev-lang/fpc/fpc-3.0.4.ebuild | 165 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 170 insertions(+)

diff --git a/dev-lang/fpc/Manifest b/dev-lang/fpc/Manifest
index 97d839fc11f..8bc7f1f81d4 100644
--- a/dev-lang/fpc/Manifest
+++ b/dev-lang/fpc/Manifest
@@ -15,6 +15,11 @@ DIST fpc-3.0.2-doc-html.tar.gz 5534720 BLAKE2B 
0d0dfcd1486dd3627242f008face430d8
 DIST fpc-3.0.2.i386-linux.tar 55019520 BLAKE2B 
b15c99de6b5341d2e41b0ca2644c67808845c0fcaba6e4b3e2efe8d3f8975268491fa4339d4b2aa244e9c71809860c44dad4a6a5609953cb0182144e5648b28e
 SHA512 
adeba89838eceec899edf54a7655a57551319c59eda9f437aa0b6a76bcce1d3cce691a69f40a9fa57ad5c9064abf514c07b879cf40e87cf55c6e10768deb1b7d
 DIST fpc-3.0.2.source.tar.gz 39841597 BLAKE2B 
0c5b51051e478a03edd689a74d759752d11664706e7c117cee68919758ba0bc074b0c288bcd6ba66bfd5895d1e72f2f0c03df3df600d02c1a3b66fc79b58070a
 SHA512 
8b2540af910c31c96c4bf6bc546f7824b2acd9509fea76b5884370d8ebecd836c167a6ef98fac46b16278027cc15aa6a9f63fb72919e3a103408dc16416e43ae
 DIST fpc-3.0.2.x86_64-linux.tar 57190400 BLAKE2B 
2d38ad274b51efaf8d07431607c0d4184af6d76628771535c16f9466f1d5619dbce1a6ddc5fb3249c7c2fa7b314435d111c3397a4759c094d51438b0e33c7d88
 SHA512 
fac103f3bf7fad5af9a435831f456c5dd7b546729f56c4b51b2a6dedceea27b331edf48024b4ec7993e50432332e8404ae63d64913d793e787756413c8d95417
+DIST fpc-3.0.4-doc-html.tar.gz 5658315 BLAKE2B 
49f9e6f3848ad1aaad8b1621ffd5d2026590b3eed515b9bebe09c489cdf2d7170fcf7413794daebf3465190f5588317325b81d9723d824ab49c81db796f2f48f
 SHA512 
1ebc8c5c5f213568dd24d50667c7939e00c33796c131db174ee93a4dc36122383e7d803cd280896c603eccfadc5bc3474b1831fa7f3e457a58fb3a045b8c33b1
+DIST fpc-3.0.4.i386-linux.tar 54691840 BLAKE2B 
c0951c85a3916c29e8e7391408da09abd86898a42159bfd7e637410ecf3e3a3f266a33edb5eb5ad458be92cf1fc7741eb249a512fe817a73a13207e216e0c0d2
 SHA512 
eee7528a69d5c745981efc90f571542047a5e6b4f1b391ad5341460035da5feffdfc4c38229134d23513239ccb33dcbc95354559e45746f1f6665541c60d0ca7
+DIST fpc-3.0.4.source.tar.gz 40347617 BLAKE2B 
0764c92cc379d6e70a3f33368d96244ea0203b3395a5dbcadebe6ef51b508cbc7c112f9bc7bce69ae6dae1fde03bc9e45a1a8ad70ca154cc4dd51bc93cab82f9
 SHA512 
fc64fd94c39f220bd7531126d6281fa2141aed61c218595a7906a025660b46629a305ff7eb023f5e1359eafdec2dba69aa5405f1bbc3c1182414968689cbb52e
+DIST fpc-3.0.4.x86_64-linux.tar 56842240 BLAKE2B 
fda488466f409d4f50501ad17edcce2740f0a7e60ac86bbfec235ccc27c619d62d2aab01aa7878ba3e174c35fd46aab98e43eda4528e98fdf3e098330eea9b26
 SHA512 
085110d0fade11c4e6e79c002522080eb070cebb8ebbed48ca35e3a2dc025df678516e36c7cba5f951e20c0da57dd261d673dda6839ecdf5d88aa8dfe15a56e5
 DIST fpcbuild-2.6.4.tar.gz 55604643 BLAKE2B 
5aa9aca60c98c68fd629479fb7e13cd16f3a080f67a2687fa81e7d3daee958f41c6935fec45568dcd9fc03317bc94e99867b9c9cdac9d80e8c25386f08b03a55
 SHA512 
7c48fb48a3742ffe533a8a172758071c0a1129ffac09231e6969aa1d31bac346dc764598b6ae78dc9d25585a788f6ed4f2b4c39502774d4d3620f09185b807de
 DIST fpcbuild-3.0.0.tar.gz 66934428 BLAKE2B 
f73e224ccd6229bc4872df09cf776443f262006a73d78151c4ac352d3f1f011885a4b82bceaf64d90ff901f425bfad94fa40f6a1da1a9bd298632ff5acffe7fc
 SHA512 
d010cdc2dd2d4c6efe67cf005d0babb00c2a8ae70942c8b838bb690153ad72e52c0d7198eded7bbde8c77e64d28b2d7f5a220fdcd6117e5991cd11a24369d1f1
 DIST fpcbuild-3.0.2.tar.gz 68407379 BLAKE2B 
7cc4ed1e629ae4d078aca9589ab7c8b600856818b92391045601b32c9ab8fc9017ec4715b5bcfb059948337f6fc96447ecef00ba8fabbe8eb656ef9393fcc3b7
 SHA512 
dfa4865d8166b7903914ac101e48bae9761671a77e37cbfd54c2ee8eb6b2ba0e5f3ac4b55867a2ead79499dbae68cc785db531385c5b77d533945c644a2f6fe6
+DIST fpcbuild-3.0.4.tar.gz 68908523 BLAKE2B 
b5c3936cf0b803aa2cc71f9c25ded470f207c540a1691cf3c2a9876c9e4eefd5c04f45b9f1f3ca17917b14ba4a90e0f16cc890b27024ff225d9d6bb25649862b
 SHA512 
eedfeb4d25b3f4cb30ae9c8f30e0fec2405ef806fa565933cef7904d512f781730e3f023aea2f908c21250e3ced4f74fa780abad77b560728a88cedf591505b6

diff --git a/dev-lang/fpc/fpc-3.0.4.ebuild b/dev-lang/fpc/fpc-3.0.4.ebuild
new file mode 100644
index 00000000000..73c5e093004
--- /dev/null
+++ b/dev-lang/fpc/fpc-3.0.4.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit prefix toolchain-funcs
+
+HOMEPAGE="https://www.freepascal.org/";
+DESCRIPTION="Free Pascal Compiler"
+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 )
+       x86? ( mirror://sourceforge/freepascal/${P}.i386-linux.tar )
+       doc? ( 
mirror://sourceforge/freepascal/Documentation/${PV}/doc-html.tar.gz -> 
${P}-doc-html.tar.gz )"
+
+SLOT="0"
+LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc ide source"
+
+RDEPEND="ide? ( !dev-lang/fpc-ide )"
+
+RESTRICT="strip" #269221
+
+S=${WORKDIR}/fpcbuild-${PV}/fpcsrc
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]]; then
+               # Bug 475210
+               if $(tc-getLD) --version | grep -q "GNU gold"; then
+                       eerror "fpc does not function correctly when built with 
the gold linker."
+                       eerror "Please select the bfd linker with 
binutils-config."
+                       die "GNU gold detected"
+               fi
+       fi
+}
+
+src_unpack() {
+       case ${ARCH} in
+               amd64)  FPC_ARCH="x86_64"    PV_BIN=${PV} ;;
+               x86)    FPC_ARCH="i386"      PV_BIN=${PV} ;;
+               *)      die "This ebuild doesn't support ${ARCH}." ;;
+       esac
+
+       unpack ${A}
+
+       tar -xf ${PN}-${PV_BIN}.${FPC_ARCH}-linux/binary.${FPC_ARCH}-linux.tar 
|| die "Unpacking binary.${FPC_ARCH}-linux.tar failed!"
+       tar -xzf base.${FPC_ARCH}-linux.tar.gz || die "Unpacking 
base.${FPC_ARCH}-linux.tar.gz failed!"
+}
+
+src_prepare() {
+       find "${WORKDIR}" -name Makefile -exec sed -i -e 's/ -Xs / /g' {} + || 
die
+
+       # let the pkg manager compress man files
+       sed -i '/find man.* gzip /d' 
"${WORKDIR}"/fpcbuild-${PV}/install/man/Makefile || die
+
+       # make the compiled binary check for fpc.cfg under the prefixed /etc/ 
path
+       hprefixify "${WORKDIR}"/fpcbuild-${PV}/fpcsrc/compiler/options.pas
+}
+
+set_pp() {
+       case ${ARCH} in
+               amd64)  FPC_ARCH="x64" FPC_PARCH="x86_64" ;;
+               x86)    FPC_ARCH="386" FPC_PARCH="i386" ;;
+               *)      die "This ebuild doesn't support ${ARCH}." ;;
+       esac
+
+       case ${1} in
+               bootstrap)      
pp="${WORKDIR}"/lib/fpc/${PV_BIN}/ppc${FPC_ARCH} ;;
+               new)    pp="${S}"/compiler/ppc${FPC_ARCH} ;;
+               *)      die "set_pp: unknown argument: ${1}" ;;
+       esac
+}
+
+src_compile() {
+       local pp
+
+       # Using the bootstrap compiler.
+       set_pp bootstrap
+
+       emake -j1 PP="${pp}" compiler_cycle AS="$(tc-getAS)"
+
+       # Save new compiler from cleaning...
+       cp "${S}"/compiler/ppc${FPC_ARCH} "${S}"/ppc${FPC_ARCH}.new || die
+
+       # ...rebuild with current version...
+       emake -j1 PP="${S}"/ppc${FPC_ARCH}.new AS="$(tc-getAS)" compiler_cycle
+
+       # ..and clean up afterwards
+       rm "${S}"/ppc${FPC_ARCH}.new || die
+
+       # Using the new compiler.
+       set_pp new
+
+       emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl_clean
+
+       emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl packages_all utils
+
+       if use ide ; then
+               cd "${S}"/ide || die
+               emake -j1 PP="${pp}" AS="$(tc-getAS)"
+       fi
+}
+
+src_install() {
+       local pp
+       set_pp new
+
+       #fpcbuild-3.0.0/utils/fpcm/fpcmake
+       #${WORKDIR}/${PN}build-${PV}/utils/fpcm/fpcmake"
+       #fpcbuild-3.0.0/fpcsrc/utils/fpcm/bin/x86_64-linux/fpcmake
+       set -- PP="${pp}" 
FPCMAKE="${S}/utils/fpcm/bin/${FPC_PARCH}-linux/fpcmake" \
+               INSTALL_PREFIX="${ED}"/usr \
+               INSTALL_DOCDIR="${ED}"/usr/share/doc/${PF} \
+               INSTALL_MANDIR="${ED}"/usr/share/man \
+               INSTALL_SOURCEDIR="${ED}"/usr/lib/fpc/${PV}/source
+
+       emake -j1 "$@" compiler_install rtl_install packages_install 
utils_install
+
+       dosym ../lib/fpc/${PV}/ppc${FPC_ARCH} /usr/bin/ppc${FPC_ARCH}
+
+       cd "${S}"/../install/doc || die
+       emake -j1 "$@" installdoc
+
+       cd "${S}"/../install/man || die
+       emake -j1 "$@" installman
+
+       if use doc ; then
+               cd "${S}"/../../doc || die
+               dodoc -r *
+       fi
+
+       if use ide ; then
+               cd "${S}"/ide || die
+               emake -j1 "$@" install
+       fi
+
+       if use source ; then
+               cd "${S}" || die
+               shift
+               emake -j1 PP="${ED}"/usr/bin/ppc${FPC_ARCH} "$@" sourceinstall
+               find "${ED}"/usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \;
+       fi
+
+       "${ED}"/usr/lib/fpc/${PV}/samplecfg "${ED}"/usr/lib/fpc/${PV} 
"${ED}"/etc || die
+
+       # set correct (prefixed) path for e.g. unit files
+       sed -i "s:${ED}:${EPREFIX}:g" "${ED}"/etc/fpc.cfg || die
+
+       if use ide ; then
+               sed -e "s:${ED}::g" \
+                       -i "${ED}"/etc/fppkg.cfg \
+                       -i "${ED}"/etc/fppkg/* \
+                       -i "${ED}"/usr/lib/fpc/${PV}/ide/text/fp*.cfg \
+                       || die
+       fi
+
+       rm -r "${ED}"/usr/lib/fpc/lexyacc || die
+}
+
+pkg_postinst() {
+       if [[ -z ${REPLACING_VERSIONS} ]] && use ide; then
+               einfo "To read the documentation in the fpc IDE, enable the doc 
USE flag"
+       fi
+}

Reply via email to