commit:     1be5e6857a06b9832cca85470e9e5b3b5709632e
Author:     Horea Christian <horea.christ <AT> yandex <DOT> com>
AuthorDate: Wed Mar 29 14:03:30 2017 +0000
Commit:     Amy Liffey <amynka <AT> gentoo <DOT> org>
CommitDate: Sun Apr  2 14:23:08 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1be5e685

dev-lang/fpc: version bump 3.0.2

Closes:#4325

Package-Manager: Portage-2.3.4, Repoman-2.3.2

 dev-lang/fpc/Manifest         |   5 ++
 dev-lang/fpc/fpc-3.0.2.ebuild | 161 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 166 insertions(+)

diff --git a/dev-lang/fpc/Manifest b/dev-lang/fpc/Manifest
index 05b747d8692..3cee10553fe 100644
--- a/dev-lang/fpc/Manifest
+++ b/dev-lang/fpc/Manifest
@@ -11,5 +11,10 @@ DIST fpc-3.0.0-doc-html.tar.gz 5253600 SHA256 
0e2f2d873750602f1ec21d879e710deec3
 DIST fpc-3.0.0.i386-linux.tar 44892160 SHA256 
b3bc31c7650bea785ca44bd6e5a8d685bf2dad3ae6cd34f73e5dffa05f0b6e40 SHA512 
6d409aaa3827018f27813d7965f2d820e36b725ad8ec3257b89688b0bbf722b41e44ab99495050422b91db71323a081bd60c68f3919d04f17b1922264ec10e13
 WHIRLPOOL 
a3bce4937215a706b9ad2d14a1a96e0fd02b792524b36e3455b0dea40ee3ec404fb2cd8677f2488325a85ad52c95cb9143481a00a44010f70636c73de3cf0292
 DIST fpc-3.0.0.source.tar.gz 38311370 SHA256 
46354862cefab8011bcfe3bc2942c435f96a8958b245c42e10283ec3e44be2dd SHA512 
18b91a10320b0c52d0486aa241dbfeb5777eebe040f393f9b3661e8ab27a338b5a8d84c9461d40c6d11b362af2deb014f7c3fc273fc11fee1fc9badf19e18b88
 WHIRLPOOL 
08d4dad14255fcedab822d189abcd74d80b9e0596489277dced626dfcfda8a8768d035061c080a54ce2e977e0a0074204809359a4bb8c254a0316126427510c3
 DIST fpc-3.0.0.x86_64-linux.tar 46571520 SHA256 
c952a6f1fc9a32da7a3f77c309e64fa1b536516e4fae16ff58ac10d5ece85dd4 SHA512 
26502cf1dfd2bb83fe860e41cb064ccc5b971d112bf05f95e92089ea71bf0e3aafe659ef4cfc4967dd62271b5ecd3468fedf63dc351944b9e8cb52d662d4a3bb
 WHIRLPOOL 
8d99e813da5c04b7160b42d87b759890af286903db982df9ad2e61b8e11f54f92994dd6b038252541ee46d8edd9ec217281ef3dfd9e34e8357023dde6b55500a
+DIST fpc-3.0.2-doc-html.tar.gz 5534720 SHA256 
844b7f804526d27c7902d230357f4feee6724ac5ff5d9e8f4ec18db3a0fb9537 SHA512 
1334e0bd5fbcc5d06513c9f9b1cd99b9a79782cca6224761d18ea314ba88da79517fac46c7135316f00bbaefd779080406f1b9e6c33ffb1e7b228f0c11618669
 WHIRLPOOL 
6bf46987f267079077a0334a816924ab17b093212f0814e68623a479c03b3efa60904c2e96a064870373af2aa6dd81336211e696466b050ea3399efbb8c4699b
+DIST fpc-3.0.2.i386-linux.tar 55019520 SHA256 
2ddb0a27a7c38b5679bd818ae138e15820a2caaa1bc059d935e7e9fa643ff5ef SHA512 
adeba89838eceec899edf54a7655a57551319c59eda9f437aa0b6a76bcce1d3cce691a69f40a9fa57ad5c9064abf514c07b879cf40e87cf55c6e10768deb1b7d
 WHIRLPOOL 
6ce242565ef453d7f01ab11af95c82c360531d08a5dbecc3ce6df443b73e30a1294f958bc6f4a682ed773be7edafabd787ce00c5e20c6173952fd4b567d4e1d2
+DIST fpc-3.0.2.source.tar.gz 39841597 SHA256 
67fccddf5da992356f4e90d836444750ce9363608c7db8e38c077f710fcb6258 SHA512 
8b2540af910c31c96c4bf6bc546f7824b2acd9509fea76b5884370d8ebecd836c167a6ef98fac46b16278027cc15aa6a9f63fb72919e3a103408dc16416e43ae
 WHIRLPOOL 
629d735593da7ecc39033493fe4524079976ab5b2109014d88ab75dc231c512cb1baadde27b1c393b1562627c9ad5101f6f37106f4fde6cbbb21aca9311f4adc
+DIST fpc-3.0.2.x86_64-linux.tar 57190400 SHA256 
b5b27fdbc31b1d05b6a898f3c192d8a5083050562b29c19eb9eb018ba4482bd8 SHA512 
fac103f3bf7fad5af9a435831f456c5dd7b546729f56c4b51b2a6dedceea27b331edf48024b4ec7993e50432332e8404ae63d64913d793e787756413c8d95417
 WHIRLPOOL 
d8888928b6e5c7c39ad8e16b9eae5871581e86d6dcc588b2dafcef8c936d341b21019d69c436968b0a29942b527ce3f0bb2ec5166b961046ac1833efa6efae47
 DIST fpcbuild-2.6.4.tar.gz 55604643 SHA256 
8d9c3bcfa469d9b37c05663e2775d179809e4b3443604fac7d21aa64c9a56daa SHA512 
7c48fb48a3742ffe533a8a172758071c0a1129ffac09231e6969aa1d31bac346dc764598b6ae78dc9d25585a788f6ed4f2b4c39502774d4d3620f09185b807de
 WHIRLPOOL 
d2cb72917031f6ffaeb66c2e1e4f0bc18050da2437241da9e6655af4f62aa3e05c7f7c89ba88ba3f96ee20571c3e0d733bebab7a9c2e3f04aa2f0208bb1dc7f9
 DIST fpcbuild-3.0.0.tar.gz 66934428 SHA256 
d5913b1d5d3d13190ae7ee72c305d5da49ac2ddc1b375b814751ef09ae5c80ec SHA512 
d010cdc2dd2d4c6efe67cf005d0babb00c2a8ae70942c8b838bb690153ad72e52c0d7198eded7bbde8c77e64d28b2d7f5a220fdcd6117e5991cd11a24369d1f1
 WHIRLPOOL 
1b0d68b0b1f9f9825a21774269a02eb6144932af1e132932b88bc10d0d234a20b8b441b2281abf50c919e4dd8e20e97a4467b7a6498d2d13a887167f44999e76
+DIST fpcbuild-3.0.2.tar.gz 68407379 SHA256 
f261ed0a361f190169fff428d65b707df1507df317fc0ed101b0e63596541b75 SHA512 
dfa4865d8166b7903914ac101e48bae9761671a77e37cbfd54c2ee8eb6b2ba0e5f3ac4b55867a2ead79499dbae68cc785db531385c5b77d533945c644a2f6fe6
 WHIRLPOOL 
27568e7dc9d4ee3a8c30dbf68f4cd03a4fa23ddd7ede67253d3da897b48aa2fcd0a537e68432058c8cc030af18c42649e04a4a60b1a58d08b539da09e5fb9dfa

diff --git a/dev-lang/fpc/fpc-3.0.2.ebuild b/dev-lang/fpc/fpc-3.0.2.ebuild
new file mode 100644
index 00000000000..f1417deea5d
--- /dev/null
+++ b/dev-lang/fpc/fpc-3.0.2.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+HOMEPAGE="http://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
+}
+
+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="${D}"/usr \
+               INSTALL_DOCDIR="${D}"/usr/share/doc/${PF} \
+               INSTALL_MANDIR="${D}"/usr/share/man \
+               INSTALL_SOURCEDIR="${D}"/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="${D}"/usr/bin/ppc${FPC_ARCH} "$@" sourceinstall
+               find "${D}"/usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \;
+       fi
+
+       "${D}"/usr/lib/fpc/${PV}/samplecfg "${D}"/usr/lib/fpc/${PV} "${D}"/etc 
|| die
+
+       sed -i "s:${D}::g" "${D}"/etc/fpc.cfg || die
+
+       if use ide ; then
+               sed -e "s:${D}::g" \
+                       -i "${D}"/etc/fppkg.cfg \
+                       -i "${D}"/etc/fppkg/* \
+                       -i "${D}"/usr/lib/fpc/${PV}/ide/text/fp*.cfg \
+                       || die
+       fi
+
+       rm -r "${D}"/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