Sync with portage [Tue Mar 16 14:58:21 MSK 2021].

akrasnyh 1910
Calculate Linux 3 years ago
parent 6939a4b57a
commit 8bb512342f

Binary file not shown.

Binary file not shown.

@ -1 +1,2 @@
DIST hcloud-1.20.0.tar.xz 790040 BLAKE2B ba0d62c8e817daadaa9eb891adb3f655a9ae33b05617449e26b09a3ba6b99a6b6f61df1cf29138a008a7ee58e45efdfe07c408af89efb1c2bd870d7340976bb8 SHA512 5dbb9060595e836ccde99984783954e894f74c098f911ae8c4cc1944d444fd28b6f722bb711d9b1ae245ddf3af8cca1939585ed778c8026fbf8c4201c2d15469
DIST hcloud-1.21.0.tar.xz 823556 BLAKE2B 8a37c7854d6c74f58a8f9dd021674a19f1cc968901e109dadf2e1b7621c3dd4981b07939334b293419d42fc8d1b1a1ff04b962a40b0ae8bf2518a0f7cccd7c68 SHA512 3186839ed95f355f67bdf7169dfa0b10852c8e2e3dc0f2a30e712072cd06cc69a40b038cfa214a47d33e39707d00a81f781aae7f51773cdaca96bcc0b80b1dec

@ -0,0 +1,34 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A command-line interface for Hetzner Cloud"
HOMEPAGE="https://github.com/hetznercloud/cli"
SRC_URI="https://dev.gentoo.org/~ago/distfiles/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
DEPEND="dev-lang/go:="
RESTRICT="strip"
QA_FLAGS_IGNORED=".*"
src_compile() {
go build -mod vendor -o ${PN} -ldflags "-w -X github.com/hetznercloud/cli/cli.Version=${PV}-gentoo" ./cmd/${PN} || die "build failed"
}
src_test() {
# For upstream a simple test is run 'hcloud version'
./hcloud version
if [[ $? -ne 0 ]]
then
die "Test failed"
fi
}
src_install() {
dobin ${PN}
}

@ -1,2 +1,2 @@
DIST sudo-1.9.5p2.tar.gz 4012277 BLAKE2B 41913887463e4f775564af8d614fb5ed762200aa777dc789ec333842d4f432323474fc952a531fe929b33607cdfbcd18d7fe7470a15d67139deaf855841ed11f SHA512 f0fe914963c31a6f8ab6c86847ff6cdd125bd5a839b27f46dcae03963f4fc413b3d4cca54c1979feb825c8479b44c7df0642c07345c941eecf6f9f1e03ea0e27
DIST sudo-1.9.6.tar.gz 4118872 BLAKE2B fa3a3cb47540f6f926a292f81e4a18358e31fe11d0a63cb8560f26fc85a5e82830752f3352466a5dd67787f5e0760f035f8787bd2241034f351cb5905a98100d SHA512 16291bd7290284272efe675f8b94218540224217f03d96bbb7bcbe6c9d5b7453ff6b24fd28dcbce2fdee59cc8adb9798f4f13272bd25592abc17caa77236dfa3
DIST sudo-1.9.6p1.tar.gz 4119888 BLAKE2B 02bdb551c46cff11ac56e64937c64e6a29ccd8e0af34ea2f6b33c223bee8f7ad958d0fc3d7ef8ef12bf5bc82565769b923ff112a3f3d6bf6999fa4f6ea55e38e SHA512 632dfe72f04ce9a7a5a7236fcd5c09ce4535e695ced49d24dd848e3a7b1bea7380df44188b9e475af4271069539b5a5816948a98fbb0649ebebaba8b4c4b7745

Binary file not shown.

@ -1,5 +1,5 @@
DIST clamtk-6.06.tar.xz 232024 BLAKE2B a9a7310410f685bb6cae24ae6cee45b31a524b88cf75c9346617614e5dba43f3942d39dd6d484d656906c3fbb2122ab3858ab017c0e79d5ed9271b2968b750d2 SHA512 ee4d09e0f3c703bef5a1b3e1bdc97d3d1d91998c98e82a2fb1e3326fa8fdff32d7bbef7d9e2bf2b6292fa1982b1efb3b5cdb4cdd7afb17f6ffd0e089d8b4539a
DIST clamtk-6.09.tar.xz 228208 BLAKE2B bef7dca1b60c8c7d02efbaf48d75fc95ac6706f553b0d5c7146e3c36220f326b760306f3011d7774510c8f52d577be1d4dd10abe58aefa900fad8ee414f050a0 SHA512 4bb7f4f8fdc346d60ba3dbe6abdf09edcad2fa3fd4aab6f9eebf88705a213dab9974e2b838eeb05f155ca44ed249874e23679002a1d6e8832bfe3c104b2832a8
DIST clamtk-6.10.tar.xz 286008 BLAKE2B 3f602c9422d57cc24ca47141a237870445c2390f3e4fa07cf32073e058899a603f0882b7df51c40184f84d75632bd2b608035ae71f4d8253a474f9fd30a212da SHA512 32f7856e89fa3d3dfc5b546bbf71c6b2fed62ac3ccc18f30ac9b55ceb9a48a182d667af0b430942a4021c0454491300e312f93ea8d57bce711d00950afebfd71
DIST clamtk-gnome-0.05.tar.xz 15148 BLAKE2B d72ad0c9b3272c1a21d3722994152e23aeb01bd79d006cbcd3545c2689887b4f596daeeef72a13d9cdd9cfc89c4091963b4a1917824bbb06be4678f2c446a114 SHA512 a5d3b0e87889880272aa61a0feebca8e885c7fa964bad767351c826188c236f2152b3c43328b6aa720c5942b2bf1da69916d3664358c274813a6ac032ee4dea0
DIST clamtk-kde-0.18.tar.xz 17732 BLAKE2B ca82934417f2d869fd8c8e36a31ef4a52cf4ee73581c5d1d400c1b28908c5ea2524a8f5d1110b1e949038378613fb4d5607d5123eebe91df695a53d0dd489302 SHA512 145ddd349010e0bb6fe3295e50d6e15a2dd96e604babbd5de4cb49ba75169d2050777cac38e40ac6a64cb89ddf94025d610aca73136c75f81115d0a2d863d24e
DIST nemo-sendto-clamtk-0.04.tar.xz 4228 BLAKE2B ce656d4f021bc30cd12fb2ee5f98a78c1f1fdb2460ed2cbba0b572408617f91b39b2ca2fe542b9cec7be79b4b9fdfd685f5553e1a671454ca1e6723241dcb805 SHA512 2b5d3abbc4ae5dbc71b1b7bc836df88ad51e6afa00d5e954b5c1355a70c0420b6fef895e1cb5cccb86a662aee2039cef6c01821c1347fa155b5da3529b25562c

@ -15,7 +15,7 @@ MY_PV_THUNAR="0.06"
DESCRIPTION="A graphical front-end for ClamAV"
HOMEPAGE="https://gitlab.com/dave_m/clamtk/wikis/Home"
SRC_URI="
https://bitbucket.org/davem_/${PN}/downloads/${P}.tar.xz
https://github.com/dave-theunsub/${PN}/releases/download/v${PV}/${P}.tar.xz
kde? ( https://bitbucket.org/davem_/${PN}-kde/downloads/${PN}-kde-${MY_PV_KDE}.tar.xz )
nautilus? ( https://bitbucket.org/davem_/${PN}-gnome/downloads/${PN}-gnome-${MY_PV_NAUTILUS}.tar.xz )
nemo? ( https://bitbucket.org/davem_/nemo-sendto-${PN}/downloads/nemo-sendto-${PN}-${MY_PV_NEMO}.tar.xz )

Binary file not shown.

@ -0,0 +1,58 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="A set of tools for DVD+RW/-RW drives"
HOMEPAGE="http://fy.chalmers.se/~appro/linux/DVD+RW/"
SRC_URI="http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND="app-cdr/cdrtools"
DEPEND="${RDEPEND}
sys-devel/m4"
PATCHES=(
"${FILESDIR}"/${PN}-7.0-sysmacros.patch
"${FILESDIR}"/${PN}-7.0-wctomb-r1.patch
"${FILESDIR}"/${PN}-7.0-glibc2.6.90.patch
"${FILESDIR}"/${PN}-7.0-dvddl-r1.patch
"${FILESDIR}"/${PN}-7.0-wexit.patch
"${FILESDIR}"/${PN}-7.0-reload.patch
"${FILESDIR}"/${PN}-7.1-noevent.patch
"${FILESDIR}"/${PN}-7.1-lastshort.patch
"${FILESDIR}"/${PN}-7.1-bluray_srm+pow.patch
"${FILESDIR}"/${PN}-7.1-bluray_pow_freespace.patch
"${FILESDIR}"/${PN}-7.1-clang.patch
)
# this is a text file, not html
DOCS=( index.html )
src_prepare() {
# Linux compiler flags only include -O2 and are incremental.
sed -i '/FLAGS/s:-O2::' Makefile.m4 || die "failed to sed out FLAGS"
default
}
src_compile() {
emake SHELL="${EPREFIX}"/bin/bash CC="$(tc-getCC)" CXX="$(tc-getCXX)"
}
src_install() {
emake SHELL="${EPREFIX}"/bin/bash prefix="${ED}/usr" install
einstalldocs
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]] ; then
elog 'If you receive an error, "unable to anonymously mmap...'
elog 'Resource temporarily unavailable" when running growisofs,'
elog 'then you may need to run "ulimit -l unlimited".'
fi
}

@ -0,0 +1,71 @@
--- a/dvd+rw-booktype.cpp 2006-06-24 12:21:48.000000000 +0300
+++ b/dvd+rw-booktype.cpp 2021-03-14 10:16:02.533741829 +0200
@@ -398,7 +398,7 @@
break;
case OPT_MEDIA:
if (profile!=0x1A && profile!=0x14 && profile!=13)
- { fprintf (stderr,":-( action is applicable to DVD±RW only\n");
+ { fprintf (stderr,":-( action is applicable to DVD\xb1RW only\n");
break;
}
@@ -759,7 +759,7 @@
}
}
- delete list;
+ delete[] list;
}
profile=buf[6]<<8|buf[7];
--- a/dvd+rw-mediainfo.cpp 2006-09-23 20:46:57.000000000 +0300
+++ b/dvd+rw-mediainfo.cpp 2021-03-14 10:16:02.533741829 +0200
@@ -621,7 +621,7 @@
if (phys_end>0) phys_end -= phys_start;
if (phys_end>0) phys_end += 1;
- printf (" %s %u*2KB=%"LLU"\n",
+ printf (" %s %u*2KB=%" LLU "\n",
dvd_dash>=0?"Legacy lead-out at:":"Last border-out at:",
phys_end,phys_end*2048LL);
@@ -941,14 +941,14 @@
printf(" %s:\t\t%u*%u=",type[formats[8]&3],
capacity=formats[4]<<24|formats[5]<<16|formats[6]<<8|formats[7],
blocksize);
- printf("%"LLU"\n",(unsigned long long)capacity*blocksize);
+ printf("%" LLU "\n",(unsigned long long)capacity*blocksize);
for(i=12;i<len;i+=8)
{ printf(" %02Xh(%x):\t\t%u*%u=",formats[i+4]>>2,
formats[i+5]<<16|formats[i+6]<<8|formats[i+7],
capacity=formats[i]<<24|formats[i+1]<<16|formats[i+2]<<8|formats[i+3],
blocksize);
- printf("%"LLU"\n",(unsigned long long)capacity*blocksize);
+ printf("%" LLU "\n",(unsigned long long)capacity*blocksize);
}
break;
}
@@ -1121,7 +1121,7 @@
if (ccity) ccity++;
bsize = header[4]<<24|header[5]<<16|header[6]<<8|header[7];
- printf ("READ CAPACITY: %u*%u=%"LLU"\n",
+ printf ("READ CAPACITY: %u*%u=%" LLU "\n",
ccity,bsize,
(unsigned long long)ccity*bsize);
} while (0);
--- a/transport.hxx 2021-03-14 10:17:54.353626017 +0200
+++ b/transport.hxx 2021-03-14 10:16:44.180365362 +0200
@@ -127,9 +127,9 @@
char str[MB_LEN_MAX];
public:
__plusminus() { setlocale(LC_CTYPE,ENV_LOCALE);
- int l = wctomb(str,(wchar_t)(unsigned char)'±');
+ int l = wctomb(str,(wchar_t)'\xb1');
if (l>0) str[l]='\0';
- else str[0]='±',str[1]='\0';
+ else str[0]='\xb1',str[1]='\0';
}
~__plusminus() { }
operator char*(){ return str; }

@ -1,5 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>ceamac.paragon@gmail.com</email>
<name>Viorel Munteanu</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3+ FDL-1.3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
IUSE="preview-latex"
RDEPEND="virtual/latex-base

@ -1,3 +1,2 @@
DIST nxml-gentoo-schemas-20200303.tar.xz 8452 BLAKE2B bee7e3d58b03e3aaefcd09d93a9b6919ae6b4892ac09e218ac68cbbc048e28def8b49cc4c583ddad04da61d61bb76386f0c0f33e12d2c8a938447e3f590854d5 SHA512 42f8ee48e349423db156d585bdd2c1d333f69693ac541bc44f8c1d0bae412b1793e1d86fc527287225040aa9b4b791ad2922196cf750de6029b4c77eebdc62de
DIST nxml-gentoo-schemas-20210203.tar.xz 8440 BLAKE2B 733c7949bd39a94e657c829c478b76229cfbe2edca6f973f45a91423fb573ed6ff5717ef7bca74733266d7ff5b31f5426d06df51d79263422dba1467234ae8ba SHA512 bdd28b40d0748f595b6ac035686605b7d7a08e9802d0e497893329b4cbc1195f4e785befb8afe6362eb8eb45132f3928f394546412ba463c47977587b6f88b3d
DIST nxml-gentoo-schemas-20210314.tar.xz 8512 BLAKE2B 9219644c1a0dbc7afc78c0c4f2623d9d71bbd4f62c387eb025e001e756262107d59f739d695c172ae4ef54049b98f4c3e92bc630be39bcf2f6727d8b0ea27247 SHA512 a092f48f3fe69df0bc51b3e5dd11a6ef09f4074589ffe9872f4936548caf14554fef8cd8ab42626f621c0163a23879698ad12a0818b52cc4b4a4f384a98afd6c

@ -1,24 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit elisp
DESCRIPTION="Extension for nxml-mode with Gentoo-specific schemas"
HOMEPAGE="https://gitweb.gentoo.org/proj/nxml-gentoo-schemas.git/"
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
LICENSE="HPND MIT GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
SITEFILE="60${PN}-gentoo.el"
src_compile() { :; }
src_install() {
insinto "${SITEETC}/${PN}"
doins schemas.xml *.rnc
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
}

@ -11,7 +11,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
LICENSE="HPND MIT GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
SITEFILE="60${PN}-gentoo.el"

@ -12,7 +12,7 @@ SRC_URI="https://orgmode.org/org-${PV}.tar.gz"
LICENSE="GPL-3+ FDL-1.3+ contrib? ( GPL-2+ MIT ) odt-schema? ( OASIS-Open )"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
KEYWORDS="amd64 ppc x86"
IUSE="contrib doc odt-schema"
RESTRICT="test"

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -9,7 +9,7 @@ SRC_URI="https://github.com/pronovic/${PN}/archive/BANNER_V${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
S="${WORKDIR}/${PN}-${PN^^}_V${PV}"

@ -1,6 +1,4 @@
DIST oneko-1.2-cat.png 223 BLAKE2B 35eb9a8aa7e49aa00a7a689187b598ee837b9236715ed62ffc37a94f9afdd54cac9c251eb82a85cbf7ef31af36c010d54310d79f079cf43a6ba3761ee3b18c34 SHA512 f3543be2bac0d14d3db5fe6bc33cf59caae743d547993fe010c79d2bfc6f8720d608026d692733b7519d5b6b99db09f58f34af9bd2d8fcc3556b6994734f24bf
DIST oneko-1.2-dog.png 236 BLAKE2B 8aa4bb11d75283784e7bef8eb6d887706d90cf6370cfa41433d32bffbb23db0b775e5a23fe9b19ef0d9426d5e98e583b599e477427c3223f4a225f1904da7ad1 SHA512 11e4a4ecfba26a0ea782846ca288da7ba3f68629dc8f4b0d7987923f06afe57971d53c9161ed13711a9a1f737ea3d8ec76f559311dd10234dca49cfa9d20f533
DIST oneko-1.2-sakura-nobsd.patch.bz2 2967 BLAKE2B 128fe382d81fdd18f077d015fcad41613baae00171149a2d4fd253bb03595ca4c7be16640531140af90edf176754fad2bf7e4d5ae27471bf7079b3a558788189 SHA512 dbab7471b1c76d8bd7b0c0f9512ce274d98b7e96e8f1cb781a07b031d3a23c0c716222465dee16ad77f658c681116e71e6f8f50ab45ee8f24d132e24fed6849e
DIST oneko-1.2.sakura.5.tar.gz 76825 BLAKE2B e6fbb02823a25e71b6b26d067ca898352d26971bd6595b2f8d33205bf268238e277f8a0a980178704857d50042acd0cb1663d9eb0549764934153864b3602ed1 SHA512 328bc267c027dc2bf9f4d0bf7a3a5cfb0f77e7ffe566dad58ba8728a8d72f905ef0b1b92fea77179d1e79886aea8a6b27cda44dc227d96b69ed34b4fdde3ec15
DIST oneko_1.2.sakura.6-14.debian.tar.xz 10996 BLAKE2B 4507243c28371d99976a3ef4d015b53f6dc1e28a0e841c55da18710bfc3825786dc8ee8ce06b5af1ca41445661d6f5c10225b80c6802ab5d2de06dab09de10e0 SHA512 35656ade57e57ba400b6e2d0f9dcfa1b41a7002f874f1113db080d9e75e390ff0e1f4ec169fbcf1cbea135988500501c65a2f520eaab196b8d92ef4feb993baf
DIST oneko_1.2.sakura.6.orig.tar.gz 64623 BLAKE2B 262f9373b1739c0181a52377dd72c5f35bd9d8e4e54364304704bb6794216585a7617525ccf439cef4783556aa732ac84f60a45424021b5963d69485c21a15fe SHA512 3f06b1c23ac6e3d9864530904bccbe0fdbeebb512233e35555ae44d2b45b2e6e50480081f46b048994c9415dca05691a0796357d86b4b7e8dc0bbcf1642ae348

@ -1,71 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils toolchain-funcs
DESCRIPTION="A cat, dog and others which chase the mouse or windows around the screen"
HOMEPAGE="http://www.daidouji.com/oneko/"
SRC_URI="http://www.daidouji.com/oneko/distfiles/${P}.sakura.5.tar.gz
mirror://gentoo/${P}-cat.png
mirror://gentoo/${P}-dog.png
mirror://gentoo/${P}-sakura-nobsd.patch.bz2"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="amd64 ppc ppc64 x86"
RDEPEND="
x11-libs/libX11
x11-libs/libXext
"
DEPEND="
${RDEPEND}
app-text/rman
x11-base/xorg-proto
x11-misc/gccmakedep
x11-misc/imake
"
S=${WORKDIR}/oneko-${PV}.sakura.5
src_prepare() {
epatch \
"${WORKDIR}"/${P}-sakura-nobsd.patch \
"${FILESDIR}"/${P}-include.patch
}
src_configure() {
xmkmf -a || die
}
src_compile() {
emake \
CC="$(tc-getCC)" \
CCOPTIONS="${CFLAGS}" \
EXTRA_LDOPTIONS="${LDFLAGS}"
}
src_install() {
dobin oneko
newman oneko._man oneko.1x
dodoc README README-NEW README-SUPP
newicon "${DISTDIR}/${P}-cat.png" "cat.png"
newicon "${DISTDIR}/${P}-dog.png" "dog.png"
make_desktop_entry "oneko" "oneko (cat)" "cat" "Game;Amusement"
make_desktop_entry "oneko -dog" "oneko (dog)" "dog" "Game;Amusement"
make_desktop_entry "killall -TERM oneko" "oneko kill" "" "Game;Amusement"
}
pkg_postinst() {
elog "To kill oneko, type the following in a terminal:"
elog ""
elog "killall oneko"
elog ""
elog "If your mouse cursor changes to the default black cross"
elog "after running ${PN}, you should emerge x11-apps/xsetroot"
elog "and run:"
elog ""
elog "xsetroot -cursor_name left_ptr"
elog ""
}

@ -1,59 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop toolchain-funcs
DESCRIPTION="A cat, dog and others which chase the mouse or windows around the screen"
HOMEPAGE="http://www.daidouji.com/oneko/"
SRC_URI="
http://www.daidouji.com/oneko/distfiles/${P/_p*}.sakura.${PV/*_p}.tar.gz
mirror://gentoo/${P/_p*}-cat.png
mirror://gentoo/${P/_p*}-dog.png
mirror://gentoo/${P/_p*}-sakura-nobsd.patch.bz2
"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
RDEPEND="
x11-libs/libX11
x11-libs/libXext
"
DEPEND="
${RDEPEND}
app-text/rman
x11-base/xorg-proto
x11-misc/gccmakedep
x11-misc/imake
"
PATCHES=(
"${WORKDIR}"/${P/_p*}-sakura-nobsd.patch
"${FILESDIR}"/${P/_p*}-include.patch
)
S=${WORKDIR}/${P/_*}.sakura.${PV/*_p}
src_configure() {
xmkmf -a || die
}
src_compile() {
emake \
CC="$(tc-getCC)" \
CCOPTIONS="${CFLAGS}" \
EXTRA_LDOPTIONS="${LDFLAGS}"
}
src_install() {
dobin oneko
newman oneko._man oneko.1x
dodoc README README-NEW README-SUPP
newicon "${DISTDIR}/${P/_*}-cat.png" "cat.png"
newicon "${DISTDIR}/${P/_*}-dog.png" "dog.png"
make_desktop_entry "oneko" "oneko (cat)" "cat" "Game;Amusement"
make_desktop_entry "oneko -dog" "oneko (dog)" "dog" "Game;Amusement"
make_desktop_entry "killall -TERM oneko" "oneko kill" "" "Game;Amusement"
}

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -15,7 +15,7 @@ SRC_URI="
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
KEYWORDS="amd64 ppc ppc64 x86"
RDEPEND="
x11-libs/libX11

@ -1,3 +1,4 @@
DIST recoll-1.25.19.tar.gz 2845683 BLAKE2B 745eac2dd3208619e173abba78f1e03186cdb5deb363c30728184a9d826c698d8e088cc0420178754131792f0d933f395a4fdb209a4315888b733a1209644580 SHA512 d56aff810e335f8212b908118de8fe12fc8d8f8341ebc281244c00dfe2216e008c655f4d39955b6c71928a28ea0aea073036fed17be5b80e8443fe6dfbe374f6
DIST recoll-1.27.12.tar.gz 3184471 BLAKE2B 60bcdee44259fa7f8b9decb9258ca0dae4edbf0cee1e8b1353cb59418503f0fcea9b439ecd6352500ff5b4cccfae08fc2a3f7f786fbd096cf18fd21fb809705b SHA512 3701dff056b8200f3b3c1bb2acaa69356c0def00959a0b74c14e1d500bd9e05fc81d82ce8b7db59d7e5b85617a8a7197700031aab65b31e005a4fedeaff59e97
DIST recoll-1.28.5.tar.gz 3261816 BLAKE2B 6bf9daab0f97ee6fdb4033197d3fa3f4296b2df8a57566195fca3bf170fec621c27e7da00a1a5a8493fbbadca103a0db7b8c3051abe95d5c2aedb7c289c050a5 SHA512 df4c7a5e624933ccc7ce257a767a4621728a4dbcdd5b551b47845ed0fcffdd5a6f7f617a466404c5e8d8b62c81e57986e1f21e01d643899755623a2dc597d712
DIST recoll-1.29.2.tar.gz 3871580 BLAKE2B ae6ef5628dfac67a192a3d133d5b5d8ddec079ac79be2e8aa7e744669ed0478cb41628a0ed46b4ff2364823f367815b1eb4bca0a6e4b56a9e12d4f78c6842473 SHA512 c87fc054a0c34f1b6bcc10a4f2c84268a51df02b8ba84634c51f9396befe5b2b84fc93d363876158c9d117a164613e91d9c63b228fec5e0e07d234c97c4680c5

@ -0,0 +1,135 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6..9} )
inherit linux-info optfeature python-single-r1 qmake-utils
DESCRIPTION="Personal full text search package"
HOMEPAGE="https://www.lesbonscomptes.com/recoll/"
SRC_URI="https://www.lesbonscomptes.com/recoll/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="camelcase chm doc +inotify qt5 session +spell webengine"
REQUIRED_USE="
session? ( inotify )
webengine? ( qt5 )
${PYTHON_REQUIRED_USE}
"
DEPEND="
dev-libs/xapian:=
sys-libs/zlib:=
virtual/libiconv
chm? (
dev-libs/chmlib
dev-python/pychm
)
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
webengine? ( dev-qt/qtwebengine:5[widgets] )
)
session? (
inotify? (
x11-libs/libSM
x11-libs/libICE
x11-libs/libX11
)
)
spell? ( app-text/aspell )
${PYTHON_DEPS}
"
BDEPEND="
qt5? ( dev-qt/linguist-tools:5 )
"
RDEPEND="
${DEPEND}
app-arch/unzip
"
pkg_pretend() {
if has_version "<app-misc/recoll-1.20"; then
elog "Installing ${PV} over an 1.19 index is possible,"
elog "but there have been small changes in the way"
elog "compound words are indexed. So it is best to reset"
elog "the index. The best method to reset the index is to"
elog "quit all recoll programs and delete the index directory"
elog "rm -rf ~/.recoll/xapiandb, then start recoll or recollindex."
fi
}
pkg_setup() {
if use inotify; then
local CONFIG_CHECK="~INOTIFY_USER"
check_extra_config
fi
python-single-r1_pkg_setup
}
src_prepare() {
default
python_fix_shebang filters
}
src_configure() {
use qt5 && export QMAKE="$(qt5_get_bindir)/qmake"
local myeconfargs=(
$(use_enable camelcase)
$(use_enable chm python-chm)
$(use_enable session x11mon)
$(use_enable qt5 qtgui)
$(use_enable webengine)
$(use_with inotify)
$(use_with spell aspell)
--disable-webkit
--without-fam
--enable-recollq
)
econf "${myeconfargs[@]}"
}
src_install() {
emake STRIP="$(type -P true || die)" DESTDIR="${D}" install
python_optimize
# html docs should be placed in /usr/share/doc/${PN}/html
use doc && dodoc -r "${ED}"/usr/share/recoll/doc/.
rm -r "${ED}/usr/share/recoll/doc" || die
find "${D}" -name '*.la' -delete || die
}
pkg_postinst() {
elog "In order to extract the full functionality of "
elog "recoll, the following packages should be installed "
elog "to get the corresponding document support."
optfeature "XML based documents support" "dev-libs/libxslt[python] dev-libs/libxml2[python]"
optfeature "PDF files support" app-text/poppler
optfeature "PDF files with OCR support" app-text/tesseract
optfeature "MS Word files support" app-text/antiword
optfeature "Wordperfect files support" "app-text/libwpd[tools]"
optfeature "Lyx files support" app-office/lyx
optfeature "GNU Info files support" sys-apps/texinfo
optfeature "RAR archives support" dev-python/rarfile
optfeature "7zip archives support" dev-python/pylzma
optfeature "iCalendar files support" dev-python/icalendar
optfeature "Postscript files support" app-text/pstotext
optfeature "RTF files support" app-text/unrtf
optfeature "TeX files support" dev-text/detex
optfeature "DVI files support" virtual/tex-base
optfeature "DJVU files support" app-text/djvu
optfeature "tags in audio files support" media-libs/mutagen
optfeature "tags in image files support" media-libs/exiftool
optfeature "Midi karaoke files support" dev-python/chardet
}

Binary file not shown.

@ -1,9 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit gnome2-utils meson xdg-utils
inherit meson xdg-utils
if [[ ${PV} == *9999 ]]; then
inherit git-r3
@ -30,11 +30,11 @@ DEPEND="${RDEPEND}
virtual/pkgconfig"
pkg_postinst() {
gnome2_icon_cache_update
xdg_icon_cache_update
xdg_desktop_database_update
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_icon_cache_update
xdg_desktop_database_update
}

Binary file not shown.

@ -12,7 +12,7 @@ SRC_URI="https://git.openldap.org/openldap/openldap/-/archive/${MY_P}/openldap-$
LICENSE="OPENLDAP"
SLOT="0/${PV}"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs"
DEPEND=""

Binary file not shown.

@ -1 +1,2 @@
DIST goatee-0.3.1.2.tar.gz 84576 BLAKE2B 66eea2e0685279acadba0ae857786bc8bf5eec26d4856745f6a040ac220a824d02e7c9ccf36e38d81ad8a60e90972681f9e2ab2e5f67fa4af267e5f8bb5cc98c SHA512 b8723679823dbb092346f8a6c556c3391888f004d609d6b61c73c9f590901abc5d4024d0ad4063692078637be0171d78e9a91c9436735423d597f310226ee9db
DIST goatee-0.4.0.tar.gz 86585 BLAKE2B 32d099fdc4acc66a89b8f17790a4c73d234e28e935f5c325a3dbcbd1c34edd24513a99eae5108f2bcd38ead402c209a4d09e2a57c65fb69c4dbd70a4f05903e7 SHA512 ccd53a3924528cb23ea58e5d9080ba2f6f10a3cb0b60d2f7a427f4be3d20cd9082466757394a82a63ccfd7cb13c1dc0d690084b66193ede0fe43e6ccf434706e

@ -0,0 +1,26 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.7.9999
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal
DESCRIPTION="A monadic take on a 2,500-year-old board game - library"
HOMEPAGE="http://khumba.net/projects/goatee"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
RDEPEND=">=dev-haskell/mtl-2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
>=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
>=dev-lang/ghc-8.6.3:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-2.4.0.1
test? ( >=dev-haskell/hunit-1.2 <dev-haskell/hunit-1.7 )
"

@ -1,21 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<maintainer type="project">
<email>haskell@gentoo.org</email>
<name>Gentoo Haskell</name>
</maintainer>
<longdescription>
Goatee is a Go library and game editor, written in Haskell. It provides a
GUI for recording, studying, and editing game records. Underneath this is a
portable library for manipulating SGF files to build UIs and tools. Goatee
aims to be full-featured by supporting all of the SGF spec and allowing for
full and easy customization of the game records you create.
This package is the shared library.
</longdescription>
</pkgmetadata>

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -29,5 +29,5 @@ src_prepare() {
cabal_chdeps \
'base >=4.7 && <4.12' 'base >=4.7' \
'template-haskell >=2.9.0 && <2.14' 'template-haskell >=2.9.0 && <2.16'
'template-haskell >=2.9.0 && <2.14' 'template-haskell >=2.9.0'
}

@ -1 +1,2 @@
DIST cabal-install-3.0.0.0.tar.gz 654045 BLAKE2B 5036948651098b83f073b5ce29e2aaa31e4382f07e8b1e79d206889bd9c74fb88789f4b1cbb3bddc6d03375a6e3a3e164d6bda4ea19e3f944904ab11d7693fce SHA512 0b15313fc11bc6b6018e01b6a3a65242306977c16ce9333ea1191c1ce0020b180451235a7a65b47bc01791e05d1b246bf9d573fc7e981a46fcfc7da0fed04cca
DIST cabal-install-3.2.0.0.tar.gz 632084 BLAKE2B 55cdbddebed17489f1c031bd867de7868878aa289193b826dd8274860e4f08d48f71cad33af1b62da16f71629ae4ff5745c3ceeada1680dbcc222793eba49a06 SHA512 ad937b2df42b688e4608aa2b91a25daf1042e5573626202e5182cbfeca9acc5933194853405a6396c60d0d28d6d0d5c5276fd85cb6acf4be2c8cd12afe747062

@ -0,0 +1,74 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.5.9999
# hackport: flags: -debug-conflict-sets,-debug-expensive-assertions,-debug-tracetree
CABAL_FEATURES=""
inherit haskell-cabal
DESCRIPTION="The command-line interface for Cabal and Hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
# keep in sync with ghc-8.10
KEYWORDS="~amd64 ~x86"
IUSE="+native-dns"
RDEPEND=">=dev-haskell/async-2.0:= <dev-haskell/async-2.3:=
>=dev-haskell/base16-bytestring-0.1.1:= <dev-haskell/base16-bytestring-0.2:=
>=dev-haskell/cabal-3.2:= <dev-haskell/cabal-3.3:=
>=dev-haskell/cryptohash-sha256-0.11:= <dev-haskell/cryptohash-sha256-0.12:=
>=dev-haskell/echo-0.1.3:= <dev-haskell/echo-0.2:=
>=dev-haskell/edit-distance-0.2.2:= <dev-haskell/edit-distance-0.3:=
>=dev-haskell/fail-4.9:= <dev-haskell/fail-4.10:=
>=dev-haskell/hackage-security-0.6.0.0:= <dev-haskell/hackage-security-0.7:=
>=dev-haskell/hashable-1.0:= <dev-haskell/hashable-1.4:=
>=dev-haskell/http-4000.1.5:= <dev-haskell/http-4000.4:=
>=dev-haskell/lukko-0.1:= <dev-haskell/lukko-0.2:=
>=dev-haskell/mtl-2.0:= <dev-haskell/mtl-2.3:=
>=dev-haskell/network-2.6:= <dev-haskell/network-3.2:=
>=dev-haskell/network-uri-2.6.0.2:= <dev-haskell/network-uri-2.7:=
>=dev-haskell/parsec-3.1.13.0:= <dev-haskell/parsec-3.2:=
>=dev-haskell/random-1:= <dev-haskell/random-1.2:=
>=dev-haskell/semigroups-0.18.3:= <dev-haskell/semigroups-0.20:=
>=dev-haskell/stm-2.0:= <dev-haskell/stm-2.6:=
>=dev-haskell/tar-0.5.0.3:= <dev-haskell/tar-0.6:=
>=dev-haskell/text-1.2.3:= <dev-haskell/text-1.3:=
>=dev-haskell/zlib-0.5.3:= <dev-haskell/zlib-0.7:=
>=dev-lang/ghc-7.10.1:=
native-dns? ( >=dev-haskell/resolv-0.1.1:= <dev-haskell/resolv-0.2:= )
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.22.2.0
"
PATCHES=( "${FILESDIR}"/${P}-rankntypes.patch )
src_prepare() {
default
cabal_chdeps \
'base >= 4.8 && < 4.14' 'base >= 4.8'
#if use noprefs; then
# epatch "${FILESDIR}/${PN}"-0.13.3-nopref.patch
#fi
# no chance to link to -threaded on ppc64, alpha and others
# who use UNREG, not only ARM
if ! ghc-supports-threaded-runtime; then
cabal_chdeps '-threaded' ' '
fi
eapply_user
}
src_configure() {
haskell-cabal_src_configure \
--flags=-debug-conflict-sets \
--flags=-debug-expensive-assertions \
--flags=-debug-tracetree \
$(cabal_flag native-dns native-dns)
}

@ -0,0 +1,11 @@
diff --git a/Distribution/Client/Sandbox.hs b/Distribution/Client/Sandbox.hs
index 66b415d..6aa71bb 100644
--- a/Distribution/Client/Sandbox.hs
+++ b/Distribution/Client/Sandbox.hs
@@ -1,5 +1,6 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE RankNTypes #-}
-----------------------------------------------------------------------------
-- |
-- Module : Distribution.Client.Sandbox

@ -1 +1,2 @@
DIST Cabal-3.0.1.0.tar.gz 758808 BLAKE2B 9a0cf7b055be4d6fa55c4dd44037263df54eff059cd22970383ffa1470317cdaeac8d81a521f8c48cf595fc22e64da031d508f6d2b58f32a613160b3e0cfcd67 SHA512 29a5ae9bad0398ab86c64cba9fb1ae3094d67013151a91c8c25b0e95b08d8fd683d1e85b064f7faf166966f855b261d2f131b727c82476a8514119a8922a6b06
DIST Cabal-3.2.1.0.tar.gz 823331 BLAKE2B 060f4808010f9eefd943312144c75e021bf02083c2a0805128da6c9b93da94ba13fe37cef1fbe27e41fe8a10610e088b923783f4b7bb57150532d3a3ea4a91fc SHA512 279088a2ab9145efc03dbdd10941edcf6034137046ee3b659a8cf0ff075a03e3edff28fd01d432d39701c5a7e05a50b99cf8de95f05d3bd4e75edb3af0e3a598

@ -0,0 +1,54 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.7.9999
#hackport: flags: -bundled-binary-generic
# Drop test-suite due to "circular" dependencies with quickcheck
CABAL_FEATURES="lib profile haddock hoogle hscolour"
CABAL_FEATURES+=" nocabaldep" # in case installed Cabal is broken
inherit haskell-cabal
MY_PN="Cabal"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="A framework for packaging Haskell software"
HOMEPAGE="https://www.haskell.org/cabal/"
SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" # ~ppc ~ppc64 ~ppc-macos ~x86-macos ~x86-solaris
IUSE=""
RESTRICT=test # circular deps: cabal -> quickcheck -> cabal
# GHC lower bound set to 8.0 to remove semigroups and fail dependencies.
RDEPEND=" >=dev-haskell/mtl-2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
>=dev-haskell/parsec-3.1.13.0:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
>=dev-haskell/text-1.2.3.0:=[profile?] <dev-haskell/text-1.3:=[profile?]
>=dev-lang/ghc-8.0:=
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${MY_P}"
src_prepare() {
default
# Cabal bootstraps with 'ghc --make' without package cleanup in environment.
# That causes module collisions at build:
# - pulseaudio: Distribution/Utils/Structured.hs:98:1: error: Ambiguous module name Data.Time: it was found in multiple packages: pulseaudio-0.0.2.1 time-1.9.3
# - kinds: Distribution/Utils/Structured.hs:106:1: error: Ambiguous module name Data.Kind: it was found in multiple packages: base-4.14.1.0 kinds-0.0.1.5
HCFLAGS="${HCFLAGS} -ignore-package=pulseaudio"
HCFLAGS="${HCFLAGS} -ignore-package=kinds"
}
src_configure() {
haskell-cabal_src_configure \
--flag=-bundled-binary-generic
}
CABAL_CORE_LIB_GHC_PV="PM:8.10.3 PM:8.10.4 PM:9999"

@ -5,12 +5,4 @@
<email>haskell@gentoo.org</email>
<name>Gentoo Haskell</name>
</maintainer>
<longdescription>
The Haskell Common Architecture for Building Applications and
Libraries: a framework defining a common interface for authors to more
easily build their Haskell applications in a portable way.
The Haskell Cabal is part of a larger infrastructure for distributing,
organizing, and cataloging Haskell libraries and tools.
</longdescription>
</pkgmetadata>

@ -1 +1,2 @@
DIST cairo-0.13.6.1.tar.gz 53029 BLAKE2B 8363b436271bc1666116819d9ac39297e3a8c61e18ef7758e188e194a1a51fd8a335d61707cecc5f5d240fcf1f4c71add7be945ec8686e80b36de97c88ecfda6 SHA512 e268d27298c2b274eb12555ff67e4abb175a1269ed3087b9a5cf1a128252d8d390e3ef393e76f27b857558451fb0a137f4f44e095053a9ca20159a332b8878ef
DIST cairo-0.13.8.1.tar.gz 53026 BLAKE2B a05302d41bda35d3864b675e08b9bc296a218d528d3f2ecda34325650cde67a127cb1d21f2bd8d92dfa9a5e768ff6e622a585b81ac5897d86b9d89227af8dda4 SHA512 9c4ec738fe6e335f635c3fa47a26edb9264ec5a9713ff8c0109f2cf321e21331009402d3715321b63f5423e32ad90a0dd3ca9ca83544d554be5463c9784ab727

@ -0,0 +1,38 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.4.9999
#hackport: flags: cairo_ps:postscript,cairo_pdf:pdf,cairo_svg:svg
CABAL_FEATURES="lib profile haddock hoogle hscolour"
inherit haskell-cabal
DESCRIPTION="Binding to the Cairo library"
HOMEPAGE="http://projects.haskell.org/gtk2hs/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="+pdf +postscript +svg"
RDEPEND="dev-haskell/mtl:=[profile?]
>=dev-haskell/text-1.0.0.0:=[profile?] <dev-haskell/text-1.3:=[profile?]
>=dev-haskell/utf8-string-0.2:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
>=dev-lang/ghc-7.10.1:=
x11-libs/cairo
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.24 <dev-haskell/cabal-3.3
>=dev-haskell/gtk2hs-buildtools-0.13.2.0 <dev-haskell/gtk2hs-buildtools-0.14
virtual/pkgconfig
"
src_configure() {
haskell-cabal_src_configure \
$(cabal_flag pdf cairo_pdf) \
$(cabal_flag postscript cairo_ps) \
$(cabal_flag svg cairo_svg)
}

@ -1 +1,2 @@
DIST ekg-core-0.1.1.6.tar.gz 13454 BLAKE2B 994e8e6395a9a298dcd6b48a4a122e449fc23fb6944f0565632308d3445825beb1f5177ea2debc4ca409e0d957b1cbfa3190347ed2e973e306a7c1637703f789 SHA512 5a654b6a036300234fc2a65acfee05703772581e0cb646f5462196ce8f30695f7838c34f01b6d840aa1999babe4d9d9b01c3d9b7cc199a1a9112b1792b08927d
DIST ekg-core-0.1.1.7.tar.gz 13612 BLAKE2B d630fca0277890b6798c28ae83339d4de8491439edbe1ffbdb09177d382b9e3bb2f2ff43c12741061ae78e8c7e2b8bf499bb5748721df3378b3e78d19a5004bb SHA512 68915d62d7851ff99877a478b948ed119462883463949f551a0d94efa60209f734af0578b1437fcefead3e2cc80570d1a844f6be3b5b90b2fc804f9c85aaca90

@ -0,0 +1,34 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.4
CABAL_FEATURES="lib profile haddock hoogle hscolour"
inherit haskell-cabal
DESCRIPTION="Tracking of system metrics"
HOMEPAGE="https://github.com/tibbe/ekg-core"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="<dev-haskell/text-1.3:=[profile?]
<dev-haskell/unordered-containers-0.3:=[profile?]
>=dev-lang/ghc-7.6.2:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.18
"
src_prepare() {
default
cabal_chdeps \
'base >= 4.6 && < 4.14' 'base >= 4.6' \
'ghc-prim < 0.6' 'ghc-prim'
}

@ -0,0 +1,32 @@
Same fix as https://github.com/visq/language-c/issues/74
"""
Lexer: allow zeros as line numbers in preprocessed directives
Starting from `gcc-11` initial line numbers not related to
actual files are marked as zeros. See the "preprocessor:
Better line info for <builtin> & <command-line>"
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6bf2ff0d52a9
language-c's grammar did not allow it (by accident)
```
Prelude> Language.C.parseC (Data.ByteString.Char8.pack "# 0 \"/dev/null\"\n") Language.C.nopos
Left <no file>:: [ERROR] >>> Syntax Error !
Lexical error !
The character '#' does not fit here.
```
The change allows '0' in line numbers as well.
"""
--- a/c2hs/c/CLexer.x
+++ b/c2hs/c/CLexer.x
@@ -130,7 +130,7 @@ $white+ ;
-- * allows further ints after the file name a la GCC; as the GCC CPP docu
-- doesn't say how many ints there can be, we allow an unbound number
--
-\#$space*@int$space*(\"($infname|@charesc)*\"$space*)?(@int$space*)*$eol
+\#$space*@digits$space*(\"($infname|@charesc)*\"$space*)?(@int$space*)*$eol
{ \pos len str -> setPos (adjustPos (take len str) pos) >> lexToken }
-- #pragma directive (K&R A12.8)

@ -0,0 +1,37 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.4
CABAL_FEATURES="lib profile haddock hoogle hscolour"
inherit haskell-cabal
DESCRIPTION="Tools to build the Gtk2Hs suite of User Interface libraries"
HOMEPAGE="http://projects.haskell.org/gtk2hs/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="+closuresignals"
RDEPEND=">=dev-haskell/cabal-1.24.0.0:=[profile?]
dev-haskell/fail:=[profile?]
dev-haskell/hashtables:=[profile?]
dev-haskell/random:=[profile?]
>=dev-lang/ghc-7.8.2:=
"
DEPEND="${RDEPEND}
dev-haskell/alex
>=dev-haskell/cabal-1.18.1.3
dev-haskell/happy
"
PATCHES=("${FILESDIR}"/${PN}-0.13.8.0-gcc-11.patch)
src_configure() {
haskell-cabal_src_configure \
$(cabal_flag closuresignals closuresignals)
}

@ -1 +1,3 @@
DIST hackage-security-0.5.3.0.tar.gz 87119 BLAKE2B 6e69b13d3ee16fbc6488e1e9d926ba07d975555e9ad80c404ccfec60ff549e7eb2d40302ace8ac5f03ed5532c031f236f8a09edc8a3f8c7d4c2bb48743f88aa1 SHA512 57af812fb3911aed6ebdbc5de733e86a2bdc7845a07246c69346c59f654e7c4ae5bf20ad753cfe71dc1d7f47ce66a37fba49b178e8e6ff74002fc8ffb72d920d
DIST hackage-security-0.6.0.1-r1.cabal 12313 BLAKE2B 41dbb4a5b175fe49ab65dba01aa1cbd1a43fbf55fc9cd06697dc984f9a3917d3da5c9c3234e336b78372899848b0fa5adf09f0507617ed0835dfad1443eb62ab SHA512 f4a8d2adde837af18587d74cf4191bc12dec22802aaafc4cd86968d893a41bf912d3649be339503063f8c698a4b8a62888ad50e0e58d3836cc55de100ca51e30
DIST hackage-security-0.6.0.1.tar.gz 86006 BLAKE2B 6d057da569beb4e30f91a630ec37247fd47a3467e6037ebf0c4391ff58d95d5477bea09f7d66ab6d0bbe49a445ea15d53ded884f9ea7922583a03ba7497cdd9a SHA512 b83fdda3712c58bcc4237965e40bea16b9ce08f30c0671f45967e69a2eb85488e78a41c8d12b9f339f78f30cc50770a72e9e9a46e5ddf740a20bce4ea4e96fdb

@ -0,0 +1,13 @@
diff --git a/tests/TestSuite.hs b/tests/TestSuite.hs
index 598e151..f62f1c5 100644
--- a/tests/TestSuite.hs
+++ b/tests/TestSuite.hs
@@ -70,7 +70,7 @@ tests = testGroup "hackage-security" [
testProperty "prop_roundtrip_canonical" JSON.prop_roundtrip_canonical
, testProperty "prop_roundtrip_pretty" JSON.prop_roundtrip_pretty
, testProperty "prop_canonical_pretty" JSON.prop_canonical_pretty
- , testProperty "prop_aeson_canonical" JSON.prop_aeson_canonical
+ -- , testProperty "prop_aeson_canonical" JSON.prop_aeson_canonical
]
]

@ -0,0 +1,63 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.7.9999
# hackport: flags: -mtl21,+use-network-uri
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal
DESCRIPTION="Hackage security library"
HOMEPAGE="https://github.com/haskell/hackage-security"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
https://hackage.haskell.org/package/${P}/revision/4.cabal -> ${PF}.cabal"
LICENSE="BSD"
SLOT="0/${PV}"
# keep in sync with ghc-8.10
KEYWORDS="~amd64 ~x86"
IUSE="+lukko"
RDEPEND=">=dev-haskell/base16-bytestring-0.1.1:=[profile?] <dev-haskell/base16-bytestring-1.1:=[profile?]
>=dev-haskell/base64-bytestring-1.0:=[profile?] <dev-haskell/base64-bytestring-1.3:=[profile?]
>=dev-haskell/cabal-1.14:=[profile?] <dev-haskell/cabal-3.6:=[profile?]
>=dev-haskell/cryptohash-sha256-0.11:=[profile?] <dev-haskell/cryptohash-sha256-0.12:=[profile?]
>=dev-haskell/ed25519-0.0:=[profile?] <dev-haskell/ed25519-0.1:=[profile?]
>=dev-haskell/mtl-2.2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
>=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-3.2:=[profile?]
>=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?]
>=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
>=dev-haskell/tar-0.5:=[profile?] <dev-haskell/tar-0.6:=[profile?]
>=dev-haskell/zlib-0.5:=[profile?] <dev-haskell/zlib-0.7:=[profile?]
>=dev-lang/ghc-8.4.3:=
lukko? ( >=dev-haskell/lukko-0.1:=[profile?] <dev-haskell/lukko-0.2:=[profile?] )
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-2.2.0.1
test? ( >=dev-haskell/aeson-1.4 <dev-haskell/aeson-1.6
>=dev-haskell/quickcheck-2.11 <dev-haskell/quickcheck-2.15
>=dev-haskell/tasty-1.2 <dev-haskell/tasty-1.4
>=dev-haskell/tasty-hunit-0.10 <dev-haskell/tasty-hunit-0.11
>=dev-haskell/tasty-quickcheck-0.10 <dev-haskell/tasty-quickcheck-0.11
>=dev-haskell/temporary-1.2 <dev-haskell/temporary-1.4
>=dev-haskell/unordered-containers-0.2.8.0 <dev-haskell/unordered-containers-0.3
>=dev-haskell/vector-0.12 <dev-haskell/vector-0.13 )
"
# See upstream issue #247 for more details, https://github.com/haskell/hackage-security/issues/
PATCHES=( "${FILESDIR}/hackage-security-0.6.0.1-disable-failing-aeson-canonical-test.patch" )
src_prepare() {
default
cp "${DISTDIR}/${PF}.cabal" "${S}/${PN}.cabal" || die
}
src_configure() {
haskell-cabal_src_configure \
$(cabal_flag lukko lukko) \
--flag=-mtl21 \
--flag=use-network-uri
}

@ -1,4 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
@ -7,6 +7,7 @@
</maintainer>
<use>
<flag name="network-uri">Get Network.URI from the network-uri package.</flag>
<flag name="lukko">Use @lukko@ for file-locking, otherwise use @GHC.IO.Handle.Lock@</flag>
</use>
<longdescription>
The hackage security library provides both server and
@ -22,14 +23,9 @@
facilities for author package signing.
The library has two main entry points:
"Hackage.Security.Client" is the main entry point for
&quot;Hackage.Security.Client&quot; is the main entry point for
clients (the typical example being @cabal@), and
"Hackage.Security.Server" is the main entry point for
&quot;Hackage.Security.Server&quot; is the main entry point for
servers (the typical example being @hackage-server@).
This is a beta release.
</longdescription>
<upstream>
<remote-id type="github">well-typed/hackage-security</remote-id>
</upstream>
</pkgmetadata>

@ -1 +1,2 @@
DIST haddock-api-2.23.1.tar.gz 200096 BLAKE2B 0635881e198c1df3690f07185da7cc49f8eb92283d99c581756c86fb9f293b28608ac3eea9090abcc3afa12c646e584939df9b8c38b4844e9c462824426019f5 SHA512 fb7826102476a3f292da336f8f16c7a647df7c4432bed905815509fff0df164255c0856cc17663bb42479114ed9a418e6bcd214fb8594b245d401c9e091ac4ef
DIST haddock-api-2.24.0.tar.gz 200478 BLAKE2B 5c4f7be45066583e3d3afa0b1866070f2c05d71685526b0d915461f75208f13cf6bbf2b91cc820e1f229df9dbf240cfef150fb3a9929878cfdc02db9dc124c99 SHA512 dfbe5bcfd722dc92ec70aca2dd681da9e122f60ec3da5c9583c188f65b11bade314c64d4af1a3a51cf8f618d8bea943bd4052aa9860ece38ab10717b484ed057

@ -0,0 +1,147 @@
From e455bc18e15adf05a1f32bc7c4512eedb7ab889f Mon Sep 17 00:00:00 2001
From: Alex Biehl <alexbiehl@gmail.com>
Date: Tue, 8 Dec 2020 19:42:52 +0100
Subject: [PATCH 1/2] Changes for GHC#17566
See https://gitlab.haskell.org/ghc/ghc/merge_requests/2469
---
haddock-api/src/Haddock/Backends/LaTeX.hs | 2 +-
haddock-api/src/Haddock/Backends/Xhtml.hs | 2 +-
.../src/Haddock/Backends/Xhtml/Decl.hs | 4 ++-
haddock-api/src/Haddock/GhcUtils.hs | 29 +++++++++++++++++--
haddock-api/src/Haddock/Types.hs | 1 +
5 files changed, 32 insertions(+), 6 deletions(-)
diff --git a/haddock-api/src/Haddock/Backends/LaTeX.hs b/haddock-api/src/Haddock/Backends/LaTeX.hs
index 647812f93..024a6c513 100644
--- a/src/Haddock/Backends/LaTeX.hs
+++ b/src/Haddock/Backends/LaTeX.hs
@@ -255,7 +255,7 @@ declNames :: LHsDecl DocNameI
, [DocName] -- names being declared
)
declNames (L _ decl) = case decl of
- TyClD _ d -> (empty, [tcdName d])
+ TyClD _ d -> (empty, [tcdNameI d])
SigD _ (TypeSig _ lnames _ ) -> (empty, map unLoc lnames)
SigD _ (PatSynSig _ lnames _) -> (text "pattern", map unLoc lnames)
ForD _ (ForeignImport _ (L _ n) _ _) -> (empty, [n])
diff --git a/haddock-api/src/Haddock/Backends/Xhtml.hs b/haddock-api/src/Haddock/Backends/Xhtml.hs
index f80a9c05f..541f40c4f 100644
--- a/src/Haddock/Backends/Xhtml.hs
+++ b/src/Haddock/Backends/Xhtml.hs
@@ -407,7 +407,7 @@ ppJsonIndex odir maybe_source_url maybe_wiki_url unicode pkg qual_opt ifaces = d
exportSubs _ = []
exportName :: ExportItem DocNameI -> [IdP DocNameI]
- exportName ExportDecl { expItemDecl } = getMainDeclBinder (unLoc expItemDecl)
+ exportName ExportDecl { expItemDecl } = getMainDeclBinderI (unLoc expItemDecl)
exportName ExportNoDecl { expItemName } = [expItemName]
exportName _ = []
diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs
index ef0ba1b67..30b8d43eb 100644
--- a/src/Haddock/Backends/Xhtml/Decl.hs
+++ b/src/Haddock/Backends/Xhtml/Decl.hs
@@ -536,6 +536,8 @@ ppClassDecl summary links instances fixities loc d subdocs
-- Only the fixity relevant to the class header
fixs = ppFixities [ f | f@(n,_) <- fixities, n == unLoc lname ] qual
+ nm = tcdNameI decl
+
hdr = ppClassHdr summary lctxt (unLoc lname) ltyvars lfds
-- Associated types
@@ -794,7 +796,7 @@ ppDataDecl summary links instances fixities subdocs loc doc dataDecl pats
| otherwise = header_ +++ docSection curname pkg qual doc +++ constrBit +++ patternBit +++ instancesBit
where
- docname = tcdName dataDecl
+ docname = tcdNameI dataDecl
curname = Just $ getName docname
cons = dd_cons (tcdDataDefn dataDecl)
isH98 = case unLoc (head cons) of
diff --git a/haddock-api/src/Haddock/GhcUtils.hs b/haddock-api/src/Haddock/GhcUtils.hs
index 0874e7b4d..43fe3e774 100644
--- a/src/Haddock/GhcUtils.hs
+++ b/src/Haddock/GhcUtils.hs
@@ -58,8 +58,7 @@ moduleString = moduleNameString . moduleName
isNameSym :: Name -> Bool
isNameSym = isSymOcc . nameOccName
-getMainDeclBinder :: (SrcSpanLess (LPat p) ~ Pat p , HasSrcSpan (LPat p)) =>
- HsDecl p -> [IdP p]
+getMainDeclBinder :: HsDecl (GhcPass p) -> [IdP (GhcPass p)]
getMainDeclBinder (TyClD _ d) = [tcdName d]
getMainDeclBinder (ValD _ d) =
case collectHsBindBinders d of
@@ -221,6 +220,31 @@ getGADTConType (ConDeclH98 {}) = panic "getGADTConType"
-- Should only be called on ConDeclGADT
getGADTConType (XConDecl nec) = noExtCon nec
+getMainDeclBinderI :: HsDecl DocNameI -> [IdP DocNameI]
+getMainDeclBinderI (TyClD _ d) = [tcdNameI d]
+getMainDeclBinderI (ValD _ d) =
+ case collectHsBindBinders d of
+ [] -> []
+ (name:_) -> [name]
+getMainDeclBinderI (SigD _ d) = sigNameNoLoc d
+getMainDeclBinderI (ForD _ (ForeignImport _ name _ _)) = [unLoc name]
+getMainDeclBinderI (ForD _ (ForeignExport _ _ _ _)) = []
+getMainDeclBinderI _ = []
+
+familyDeclLNameI :: FamilyDecl DocNameI -> Located DocName
+familyDeclLNameI (FamilyDecl { fdLName = n }) = n
+familyDeclLNameI (XFamilyDecl nec) = noExtCon nec
+
+tyClDeclLNameI :: TyClDecl DocNameI -> Located DocName
+tyClDeclLNameI (FamDecl { tcdFam = fd }) = familyDeclLNameI fd
+tyClDeclLNameI (SynDecl { tcdLName = ln }) = ln
+tyClDeclLNameI (DataDecl { tcdLName = ln }) = ln
+tyClDeclLNameI (ClassDecl { tcdLName = ln }) = ln
+tyClDeclLNameI (XTyClDecl nec) = noExtCon nec
+
+tcdNameI :: TyClDecl DocNameI -> DocName
+tcdNameI = unLoc . tyClDeclLNameI
+
-- -------------------------------------
getGADTConTypeG :: ConDecl (GhcPass p) -> LHsType (GhcPass p)
@@ -761,4 +785,3 @@ defaultRuntimeRepVars = go emptyVarEnv
go _ ty@(LitTy {}) = ty
go _ ty@(CoercionTy {}) = ty
-
diff --git a/haddock-api/src/Haddock/Types.hs b/haddock-api/src/Haddock/Types.hs
index c2cf08bb2..853f4b1b2 100644
--- a/src/Haddock/Types.hs
+++ b/src/Haddock/Types.hs
@@ -789,6 +789,7 @@ type instance XDataDecl DocNameI = NoExtField
type instance XSynDecl DocNameI = NoExtField
type instance XFamDecl DocNameI = NoExtField
type instance XXFamilyDecl DocNameI = NoExtCon
+type instance XXTyClDecl DocNameI = NoExtCon
type instance XHsIB DocNameI _ = NoExtField
type instance XHsWC DocNameI _ = NoExtField
From e1fe49e9458a5d5161adc8b5b8bfea6437a9eedf Mon Sep 17 00:00:00 2001
From: alexbiehl <alexbiehl@gmail.com>
Date: Tue, 8 Dec 2020 20:03:49 +0100
Subject: [PATCH 2/2] Import intercalate
---
haddock-api/src/Haddock/Interface/Rename.hs | 1 +
1 file changed, 1 insertion(+)
diff --git a/haddock-api/src/Haddock/Interface/Rename.hs b/haddock-api/src/Haddock/Interface/Rename.hs
index 78c585814..4d9eadac5 100644
--- a/src/Haddock/Interface/Rename.hs
+++ b/src/Haddock/Interface/Rename.hs
@@ -29,6 +29,7 @@ import TysWiredIn (eqTyCon_RDR)
import Control.Applicative
import Control.Arrow ( first )
import Control.Monad hiding (mapM)
+import Data.List (intercalate)
import qualified Data.Map as Map hiding ( Map )
import qualified Data.Set as Set
import Prelude hiding (mapM)

@ -0,0 +1,39 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CABAL_FEATURES="lib hoogle hscolour profile test-suite" # haddock
inherit haskell-cabal
DESCRIPTION="A documentation-generation tool for Haskell libraries"
HOMEPAGE="https://www.haskell.org/haddock/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
# keep in sync with ghc-8.10
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-haskell/ghc-paths-0.1.0.9:=[profile?] <dev-haskell/ghc-paths-0.2:=[profile?]
>=dev-haskell/haddock-library-1.9.0:=[profile?] <dev-haskell/haddock-library-1.10:=[profile?]
>=dev-haskell/xhtml-3000.2.2:=[profile?] <dev-haskell/xhtml-3000.3:=[profile?]
>=dev-lang/ghc-8.10.1:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-3.0.0.0
test? ( >=dev-haskell/ghc-paths-0.1.0.12 <dev-haskell/ghc-paths-0.2
>=dev-haskell/hspec-2.4.4 <dev-haskell/hspec-2.8
>=dev-haskell/quickcheck-2.11
)
"
PATCHES=("${FILESDIR}"/${P}-ghc-8.10.2.patch )
src_prepare () {
default
cabal_chdeps \
'QuickCheck >= 2.11 && < 2.14' 'QuickCheck >= 2.11'
}

@ -1 +1,2 @@
DIST haddock-library-1.8.0.tar.gz 30918 BLAKE2B a8bcf9e08f6596375186930cf4a98ae547c40d85eb0bd00b7aaf8212c3738e32cd51cea044206f3746d10d228b1e8b8a2ccdb28ae7c7957006f518d090a6ceed SHA512 f84672b67dd4b18402efb8b40eb0e2cb912ecf894cfdedf61b0ada87392e63609cf1101d4fc793686cc4af354665661bf4dc902313bb466efee683a7c64bbe2b
DIST haddock-library-1.9.0.tar.gz 31465 BLAKE2B 785935a7f80831c000db796ed9d0071309de86d36c68d5677b6c948aa914c09a00582af500a25d2d751d96ef6ebb30696fba51a2ed84fa1b4850e5795ae5f55d SHA512 ec41df15a849a59fc41a443ce233dfa6293f0d201ed1847bd8a7732bc0e2138bab2305c127bd60f51919d8eeeb6808eec7a0add38edacd059956d852167477b5

@ -0,0 +1,43 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.4.9999
CABAL_FEATURES="lib profile test-suite" # haddock hoogle hscolour
inherit haskell-cabal
DESCRIPTION="Library exposing some functionality of Haddock"
HOMEPAGE="https://www.haskell.org/haddock/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
# keep in sync with ghc-8.10
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-haskell/parsec-3.1.13.0:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
>=dev-haskell/text-1.2.3.0:=[profile?] <dev-haskell/text-1.3:=[profile?]
>=dev-lang/ghc-7.8.2:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-2.2
test? ( >=dev-haskell/hspec-2.4.4
>=dev-haskell/optparse-applicative-0.15
>=dev-haskell/tree-diff-0.1
>=dev-haskell/base-compat-0.9.3
>=dev-haskell/quickcheck-2.11 )
"
src_prepare() {
default
cabal_chdeps \
'base-compat ^>= 0.9.3 || ^>= 0.11.0' 'base-compat >= 0.9.3' \
'hspec >= 2.4.4 && < 2.8' 'hspec >= 2.4.4' \
'optparse-applicative ^>= 0.15' 'optparse-applicative >= 0.15' \
'QuickCheck ^>= 2.11 || ^>= 2.13.2' 'QuickCheck >= 2.11' \
'tree-diff ^>= 0.1' 'tree-diff >= 0.1'
}

@ -1 +1,2 @@
DIST haddock-2.23.1.tar.gz 302698 BLAKE2B 1dae0019ddc08c537aec2f0fa71f5bd1570db4061d22bf53f05aa0e211c3280d09c6a6481f704c34895e0bf70fd2b5ac95644dab23b05cc2b6fec59c845f86c5 SHA512 e69b3b5f2dcadeccc33696ee8d0646387860b98d86c08d4c07d829e3eabc4159adac0a11d408850ef54face5fa835ab8217d1057b14d8de8d758efbfc7a700db
DIST haddock-2.24.0.tar.gz 303382 BLAKE2B 3e0c9a92f4f96949ffbdcba4ae26643b715ca8bf930bb26610a3a4b73ddec9a361b00c9c5f529b79fe6e981f23bb9b95d3b0adeff52d1223d97653c7f2573036 SHA512 52748ea2c785faeb9af7c09f9da991e4db8d5b2703eee3824ee1f6c14c82d24b7939746359f147cbc940b2be0d6aac2a1c8ffe2f1b9746e3bc543252859a4003

@ -0,0 +1,35 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.1.9999
#hackport: flags: -in-ghc-tree
CABAL_FEATURES="" # broken test-suite
inherit haskell-cabal
DESCRIPTION="A documentation-generation tool for Haskell libraries"
HOMEPAGE="https://www.haskell.org/haddock/"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
# keep in sync with ghc-8.10
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RESTRICT=test # test suite unavailable on hackage
RDEPEND="~dev-haskell/haddock-api-2.24.0:=
>=dev-lang/ghc-8.10.1:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-3.0.0.0"
# test? ( ~dev-haskell/haddock-test-0.0.1 )
#"
src_configure() {
haskell-cabal_src_configure \
--flag=-in-ghc-tree
}

@ -1 +1,2 @@
DIST happstack-server-7.6.0.tar.gz 85715 BLAKE2B c4a673b6575a3131b29f00f4463431605bd26b469a366cbab3f87662b1e2c0ab43b4a6d205dec30ede009a71de38f27fcfcbd1ddf938ac1e4f419b1a31119c83 SHA512 cea814b470dd2d7a1dc3cf8a2724aa72e23f7832fc5292a7a1b3fbf8a6ef0980f13db777fadea3bdc5c9cb7dca7b35700ff2b94d6632ff7857a546a19ed1548f
DIST happstack-server-7.6.1.tar.gz 84878 BLAKE2B 5e146a317e41b039d24cac8dc41e7ebd707168193b5fc5cfe482ec53a3b31088438cffb5f91f741822e3ae1db19c98eaae6c1f0e012afebeebcda4182332bd1f SHA512 e75bc986b16777563410ce42010a161790df5f5a575b253dac2a85ca7e724a9bf1a7485406f7235395d3a9adc3d8205dd3549fd718815390927aeed3c0b8a05e

@ -0,0 +1,55 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.7.9999
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal
DESCRIPTION="Web related tools and services"
HOMEPAGE="http://happstack.com"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="+network-uri"
RDEPEND=">=dev-haskell/base64-bytestring-1.0:=[profile?] <dev-haskell/base64-bytestring-1.2:=[profile?]
>=dev-haskell/blaze-html-0.5:=[profile?] <dev-haskell/blaze-html-0.10:=[profile?]
dev-haskell/exceptions:=[profile?]
dev-haskell/extensible-exceptions:=[profile?]
>=dev-haskell/hslogger-1.0.2:=[profile?]
dev-haskell/html:=[profile?]
>=dev-haskell/monad-control-0.3:=[profile?] <dev-haskell/monad-control-1.1:=[profile?]
>=dev-haskell/mtl-2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
dev-haskell/old-locale:=[profile?]
<dev-haskell/parsec-4:=[profile?]
>=dev-haskell/semigroups-0.16:=[profile?]
>=dev-haskell/sendfile-0.7.1:=[profile?] <dev-haskell/sendfile-0.8:=[profile?]
dev-haskell/syb:=[profile?]
>=dev-haskell/system-filepath-0.3.1:=[profile?]
>=dev-haskell/text-0.10:=[profile?] <dev-haskell/text-1.3:=[profile?]
>=dev-haskell/threads-0.5:=[profile?]
>=dev-haskell/transformers-base-0.4:=[profile?] <dev-haskell/transformers-base-0.5:=[profile?]
>=dev-haskell/transformers-compat-0.3:=[profile?] <dev-haskell/transformers-compat-0.7:=[profile?]
>=dev-haskell/utf8-string-0.3.4:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
dev-haskell/xhtml:=[profile?]
dev-haskell/zlib:=[profile?]
>=dev-lang/ghc-7.8.2:=
network-uri? ( >=dev-haskell/network-3.0.0:=[profile?] <dev-haskell/network-3.2:=[profile?]
>=dev-haskell/network-bsd-2.8.1:=[profile?] <dev-haskell/network-bsd-2.9:=[profile?]
>=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
!network-uri? ( <dev-haskell/network-2.6:=[profile?] )
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.18.1.3
test? ( dev-haskell/hunit )
"
src_configure() {
haskell-cabal_src_configure \
$(cabal_flag network-uri network-uri)
}

@ -1 +1,2 @@
DIST hoauth2-1.11.0.tar.gz 18270 BLAKE2B 8258e8e7a1bfe12ca0da09297c18354617cb525aee70418a85a56cd5421b4695aa22861e1368fbd2d0ac11ff155fd4cebb8d220ebc4b1f7c3403268682e11e95 SHA512 179c97045f33da6f6cb4c153b9be3482031ce8a150ad70defcbbbfa3c67ff10b31c86c45d845aa605b9c4d3ac921f4372bcd49fbb384e0c78409219bc0bf1607
DIST hoauth2-1.16.0.tar.gz 18479 BLAKE2B ca9aa0d35d3bfb9ee3a9cbe62c2ecb1a0efd109c89600642a062fbcbe62cefae53f4810b38eb55b81c29c72e4b80aca8f746966ccbaf17ecc83883e2f6fc3528 SHA512 fe42759c2ccaf035bfa15d9276a7c8bf6608a7b74732c6950c2081616196296a73c34474989c1eda5fcfc15066626e1facf2f58b6977d5e00520290948731cb6

@ -0,0 +1,40 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.7.9999
#hackport: flags: -test
CABAL_FEATURES="lib profile haddock hoogle hscolour"
inherit haskell-cabal
DESCRIPTION="Haskell OAuth2 authentication client"
HOMEPAGE="https://github.com/freizl/hoauth2"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND=">=dev-haskell/aeson-1.3.0.0:=[profile?] <dev-haskell/aeson-1.6:=[profile?]
>=dev-haskell/binary-0.8.3:=[profile?]
>=dev-haskell/exceptions-0.8.3:=[profile?] <dev-haskell/exceptions-0.11:=[profile?]
>=dev-haskell/http-conduit-2.1:=[profile?] <dev-haskell/http-conduit-2.4:=[profile?]
>=dev-haskell/http-types-0.11:=[profile?] <dev-haskell/http-types-0.13:=[profile?]
>=dev-haskell/microlens-0.4.0:=[profile?] <dev-haskell/microlens-0.5:=[profile?]
>=dev-haskell/text-0.11:=[profile?] <dev-haskell/text-1.3:=[profile?]
>=dev-haskell/unordered-containers-0.2.5:=[profile?]
>=dev-haskell/uri-bytestring-0.2.3.1:=[profile?] <dev-haskell/uri-bytestring-0.4:=[profile?]
>=dev-haskell/uri-bytestring-aeson-0.1:=[profile?] <dev-haskell/uri-bytestring-aeson-0.2:=[profile?]
>=dev-lang/ghc-8.0.1:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-2.4
"
src_configure() {
haskell-cabal_src_configure \
--flag=-test
}

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -30,3 +30,10 @@ DEPEND="${RDEPEND}
dev-haskell/tasty-hunit
dev-haskell/tasty-quickcheck )
"
src_prepare() {
default
cabal_chdeps \
'base >= 4.5 && < 4.14' 'base >= 4.5'
}

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -22,3 +22,10 @@ RDEPEND=">=dev-lang/ghc-7.8.2:=
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.18.1.3
"
src_prepare() {
default
cabal_chdeps \
'base >= 4.5 && < 4.14' 'base >= 4.5'
}

@ -1,11 +1,11 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.3.2.9999
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
CABAL_FEATURES="lib profile haddock hoogle hscolour" # test-suite"
inherit haskell-cabal
DESCRIPTION="Encode unicode strings to ascii forms according to RFC 3492"
@ -17,15 +17,15 @@ SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT=test # runs slow, finds error
RESTRICT=test # runs slow, finds error.
RDEPEND="dev-haskell/cereal:=[profile?]
dev-haskell/mtl:=[profile?]
dev-haskell/text:=[profile?]
>=dev-lang/ghc-6.10.4:="
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.8
test? ( dev-haskell/encoding
dev-haskell/hunit
dev-haskell/quickcheck
)"
>=dev-haskell/cabal-1.8"
# test? ( dev-haskell/encoding
# dev-haskell/hunit
# dev-haskell/quickcheck
# )"

@ -1 +1,2 @@
DIST syb-with-class-0.6.1.11.tar.gz 13225 BLAKE2B 3c7f25fb942025284bbfba49edc7b16ae04716e42337e8668188a80a193b05a06252a29ac2244a35fa25992bc23d7fa998ddaadb85f017112f903cffb89d4fba SHA512 962eb1bcb63ce7cc1789996ad7191e3ab7c20f3c90828fb3535306ca8509ac210e70f42ebd6ac6fc075d50cc5c5e1c15bb735b5d6040c6348dc82453809330f9
DIST syb-with-class-0.6.1.13.tar.gz 13225 BLAKE2B a218611f332037968513b3706bc35e903f335477fa490f0c709f085014e833f1969851a74ae0d2a40c6a085c9aec1bbd963a48d4362963d3a89fe8e399a790fc SHA512 40082f8b97ae49929fb2b686a840656fd2a62936ddc4873f3af4bdfe128e213dff509185e412c3c58bd48ec32abcade8ed68dd257d221bb08f9d20433067f371

@ -0,0 +1,25 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.7.9999
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal
DESCRIPTION="Scrap Your Boilerplate With Class"
HOMEPAGE="https://hackage.haskell.org/package/syb-with-class"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.10
test? ( dev-haskell/hunit )
"

@ -1 +1,2 @@
DIST test-framework-th-prime-0.0.10.tar.gz 4035 BLAKE2B 44c0f454ec4018f8aeccc9e7eec33c25778d05e257ce910dd779ac6bbb2acf1d4b54a897d0625e78308def417f1aa1b77194fba353802f2fce7a6e954dea3fbb SHA512 91298214c134821b298270c2770cab284131787a40293c01dba2e88a58f355d6811dea06bf14f237fea5d4aa80987790405644bc09ad64a4d7b4574e2bca97eb
DIST test-framework-th-prime-0.0.9.tar.gz 3908 BLAKE2B 4c8794bf66081ffd6eee2b6f0e9d8fd5f2218a90c2522398b13f440aade1244a62e91c3c1e11367f109babd2e78722d94beaac95555be356ce55f25d118adfa3 SHA512 52f64b1705d51f45512da4270d8a80c93602d62a2c33eb3a0146f10a3f737395c9d0294af62cc3ff859dc8292338df892c0262216349109bb4f7b0beb09d3601

@ -0,0 +1,27 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.7.9999
CABAL_FEATURES="lib profile haddock hoogle hscolour"
inherit haskell-cabal
DESCRIPTION="Template Haskell for test framework"
HOMEPAGE="https://hackage.haskell.org/package/test-framework-th-prime"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND=">=dev-haskell/cpphs-0.2.1:=[profile?]
dev-haskell/haskell-src-exts:=[profile?]
dev-haskell/test-framework:=[profile?]
>=dev-lang/ghc-7.4.1:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.6
"

@ -1 +1,2 @@
DIST text-1.2.4.0.tar.gz 171477 BLAKE2B 29bb6738f5c61e13b218cc57cb0c900fce25ecad190315aea4b0a92d5200e2d54aeeae26c8dfc88ddc74706549b820272fdb3877330c8e1e5bd119cac99deef3 SHA512 a4bd566c7d0aea1bfeacf27332e9cff3ad894e7eed9f826b7e4fc7fb85e272164d18a34a81c89dd1ea802951a80ec1d82000ebef05748d419ddfff792c4525e3
DIST text-1.2.4.1_rc1.tar.gz 166148 BLAKE2B c79bbd90c9ccf99668d5a4f0e66b4c75fa7a531d9851355be8a9d859d99578d2e22977ee9514f1743927a8a4fa49d29c252abc39509dd0b6d09bffd96e1f5289 SHA512 27d014d6b870e6cba16ac4a0ac146872d89c363ad1ca786642554bde0cf3ae4876d69ba8dd2655bbdcb88076bf4f5e13b45929ff86cd2bd90d24e607ad7221c6

@ -0,0 +1,42 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.9999
#hackport: flags: -bytestring-builder,-developer
CABAL_FEATURES="lib profile haddock hoogle hscolour" # broken test-suite
# break circular dependencies:
# https://github.com/gentoo-haskell/gentoo-haskell/issues/810
CABAL_FEATURES+=" nocabaldep"
inherit haskell-cabal
MY_PV="$(ver_rs 4 -)"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="An efficient packed Unicode text type"
HOMEPAGE="https://github.com/haskell/text"
SRC_URI="https://github.com/haskell/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
# keep in sync with ghc-8.10.3
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
# break cyclic dependencies, test suite requires porting to >=QC-2.11
RESTRICT=test
RDEPEND=">=dev-lang/ghc-8.10.3:="
DEPEND="${RDEPEND}
"
S="${WORKDIR}/${MY_P}"
CABAL_CORE_LIB_GHC_PV="PM:8.10.3 PM:8.10.4 PM:9999"
src_configure() {
haskell-cabal_src_configure \
--flag=-bytestring-builder \
--flag=-developer
}

@ -1 +1,2 @@
DIST th-utilities-0.2.3.0.tar.gz 15577 BLAKE2B fad72515936ba6b7876ff731c7a1e12246014e191282028fc1bd1846dc704d4d1408e82e82a394a1f58350f961c5b7b7f5b9ae0cfbf09551fc5964433d42b113 SHA512 edddde2ea3a9da44bd34cbf51d9f4ea14510eac9527f2f1a199390566e24f10ed84403f5450e47244b0cbfc4b5dc3a5c3f64ec596255f191d8bad83d9043a3ba
DIST th-utilities-0.2.4.1.tar.gz 16134 BLAKE2B f8357f66c7d62f0fb902f933edb63a75474eea5bb90f80f192799ae0f2c3ce535d5888a53256331552661791277388b1cdae0bab472c3bb1d39bf79fe29f20b1 SHA512 b23272db62a0842af56efbc2f4cc0ebb8d0c900ecb3471fd2a984792da76ab57780d0960fa737fa0023dcd06e12b7585b586ae330005570046ba767101840d02

@ -0,0 +1,30 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# ebuild generated by hackport 0.6.7.9999
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal
DESCRIPTION="Collection of useful functions for use with Template Haskell"
HOMEPAGE="https://github.com/fpco/th-utilities#readme"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="dev-haskell/primitive:=[profile?]
dev-haskell/syb:=[profile?]
dev-haskell/text:=[profile?]
dev-haskell/th-orphans:=[profile?]
>=dev-lang/ghc-7.8.2:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-1.18.1.3
test? ( dev-haskell/hspec
dev-haskell/vector )
"

Binary file not shown.

@ -0,0 +1,91 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-ant-2
MY_PV=${PV/_beta/-}
MY_PV=${MY_PV/_p/-}
MY_PV=${MY_PV#0.}
MY_P=java-cup-${MY_PV%-*}
DESCRIPTION="CUP Parser Generator for Java"
HOMEPAGE="http://www2.cs.tum.edu/projects/cup/"
SRC_URI="http://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${MY_PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
DEPEND="dev-java/ant-core:0
dev-java/jflex:0
>=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
JAVA_ANT_REWRITE_CLASSPATH="yes"
JAVA_ANT_CLASSPATH_TAGS+=" taskdef"
S="${WORKDIR}"
src_prepare() {
default
# Bizarrely, you can't build from the tarball without this patch.
eapply "${FILESDIR}"/${PN}-0.11b_beta20150326-build-xml-svn.patch
# The JFlex package name has changed to lower case.
sed -i "s/JFlex\./jflex./g" build.xml || die
# Remove the bundled JFlex.
rm -v bin/JFlex.jar || die
}
src_configure() {
EANT_GENTOO_CLASSPATH_EXTRA=$(java-pkg_getjars --build-only ant-core,jflex)
java-ant-2_src_configure
}
src_compile() {
# Annoyingly javacup bundles an older version of itself that will
# break jflex if that has already been built against this newer
# version beforehand. Even more annoyingly, the binary download is
# built with Java 8, which isn't much use to us. We therefore use
# any installed javacup that is newer than the bundled version where
# possible. If this approach turns out to be unworkable then we may
# just have to use the bundled jflex for bootstrapping.
if has_version \>=${CATEGORY}/${PN}-0.11b:${SLOT}; then
# Use PORTAGE_QUIET to suppress a QA warning that is spurious
# thanks to has_version above. This is Portage-specific but
# showing the warning elsewhere isn't the end of the world.
einfo "Bootstrapping with installed javacup ..."
EANT_GENTOO_CLASSPATH_EXTRA+=":$(PORTAGE_QUIET=1 java-pkg_getjars --build-only javacup)" eant
else
einfo "Bootstrapping with bundled javacup ..."
EANT_GENTOO_CLASSPATH_EXTRA+=":${S}/bin/${MY_P:0:-1}.jar" eant
fi
# Clean everything except the new jar.
rm -rv java/ classes/ || die
einfo "Recompiling with newly built javacup ..."
EANT_GENTOO_CLASSPATH_EXTRA+=":${S}/dist/${MY_P}.jar" eant
use doc && ejavadoc -sourcepath src/ -d javadoc java_cup
}
src_install() {
java-pkg_newjar dist/${MY_P}.jar
java-pkg_newjar dist/${MY_P}-runtime.jar ${PN}-runtime.jar
java-pkg_dolauncher ${PN} --jar ${PN}.jar
java-pkg_register-ant-task
dodoc changelog.txt
docinto html
dodoc manual.html
use source && java-pkg_dosrc java/*
use doc && java-pkg_dojavadoc javadoc
}

@ -0,0 +1,123 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="JFlex is a lexical analyzer generator for Java"
HOMEPAGE="https://www.jflex.de/"
SRC_URI="https://${PN}.de/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~ppc-macos ~x64-macos"
IUSE="examples test vim-syntax"
RESTRICT="!test? ( test )"
CDEPEND="dev-java/ant-core:0"
RDEPEND=">=virtual/jre-1.8:*
vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
${CDEPEND}"
DEPEND="dev-java/javacup:0
>=virtual/jdk-1.8:*
test? ( dev-java/junit:4 )
${CDEPEND}"
PDEPEND="dev-java/javacup:0"
S="${WORKDIR}/${P}"
JAVA_SRC_DIR="src/main/java"
src_prepare() {
# See below for details.
eapply_user "${FILESDIR}/icedtea-arm.patch"
# We need the bundled jflex.jar.
rm -rv ${JAVA_SRC_DIR}/java_cup examples/pom.xml || die
# Remove the bundled java-cup.jar if unneeded.
if has_version ${PDEPEND}; then
rm -v lib/java-cup-*.jar || die
fi
}
src_configure() {
# javacup is a cyclic dependency. Use the package if we have it,
# otherwise use the bundled version and install the package later.
if has_version ${PDEPEND}; then
# Use PORTAGE_QUIET to suppress a QA warning that is spurious
# thanks to has_version above. This is Portage-specific but
# showing the warning elsewhere isn't the end of the world.
JAVACUP=$(PORTAGE_QUIET=1 java-pkg_getjar --build-only javacup javacup.jar)
else
JAVACUP=$(echo lib/java-cup-*.jar)
fi
JAVA_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --build-only ant-core):${JAVACUP}"
}
jflex_compile() {
java "${@}" jflex.Main -d ${JAVA_SRC_DIR}/${PN} --skel src/main/${PN}/skeleton.nested src/main/${PN}/LexScan.flex || die
java-pkg-simple_src_compile
java-pkg_addres ${PN}.jar src/main/resources
}
src_compile() {
java -jar "${JAVACUP}" -destdir ${JAVA_SRC_DIR}/${PN} -package ${PN} -parser LexParse -interface src/main/cup/LexParse.cup || die
# The IcedTea ARM HotSpot port (as of 2.6.1) hangs when running
# jflex. We have patched jflex to fix it but we have to run the
# bundled version first. -Xint works around the problem. See
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2678.
use arm && local JFLEX_ARGS="-Xint"
# First compile (without doc/source) using the bundled jflex.
JAVA_PKG_IUSE= jflex_compile -cp "lib/${P}.jar:${JAVACUP}" ${JFLEX_ARGS}
# Then recompile using the fresh jflex.
jflex_compile -cp "${PN}.jar:${JAVACUP}"
}
src_install() {
java-pkg-simple_src_install
java-pkg_dolauncher ${PN} --main ${PN}.Main
java-pkg_register-dependency javacup javacup-runtime.jar
java-pkg_register-ant-task
use examples && java-pkg_doexamples examples
dodoc {changelog,README}.md
if use doc; then
dodoc doc/*.pdf
docinto html
dodoc doc/*.{css,html,png} doc/COPYRIGHT
fi
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax
doins lib/${PN}.vim
fi
}
src_test() {
if use arm && java-pkg_current-vm-matches oracle-jdk-bin-1.8; then
# This results in a StackOverflowError as of 1.8.0.65 but works
# fine on icedtea:7. Don't know about icedtea:8 yet.
rm -v src/test/java/jflex/EmitterTest.java || die
fi
local CP="src/test/java:${PN}.jar:${JAVA_GENTOO_CLASSPATH_EXTRA}:$(java-pkg_getjars junit-4)"
local TESTS=$(find src/test/java -name "*Test*.java" -printf "%P\n")
TESTS="${TESTS//.java}"
TESTS="${TESTS//\//.}"
ejavac -classpath "${CP}" $(find src/test/java -name "*.java")
ejunit4 -classpath "${CP}" ${TESTS}
}

Binary file not shown.

@ -1,78 +0,0 @@
--- ghc-7.10.0.20150316-orig/compiler/utils/Pair.hs 2015-03-10 05:43:13.000000000 +1100
+++ ghc-7.10.0.20150316/compiler/utils/Pair.hs 2015-03-17 09:50:48.491115080 +1100
@@ -15,6 +15,8 @@
import Data.Foldable
import Data.Monoid
import Data.Traversable
+#else
+import Control.Applicative ((<$>))
#endif
data Pair a = Pair { pFst :: a, pSnd :: a }
--- ghc-7.10.0.20150316-orig/compiler/types/Coercion.hs 2015-03-10 05:43:13.000000000 +1100
+++ ghc-7.10.0.20150316/compiler/types/Coercion.hs 2015-03-17 10:11:21.636047380 +1100
@@ -104,6 +104,8 @@
#if __GLASGOW_HASKELL__ < 709
import Control.Applicative hiding ( empty )
import Data.Traversable (traverse, sequenceA)
+#else
+import Control.Applicative ((<$>))
#endif
import FastString
import ListSetOps
--- ghc-7.10.0.20150316-orig/compiler/typecheck/TcEvidence.hs 2015-03-14 08:48:57.000000000 +1100
+++ ghc-7.10.0.20150316/compiler/typecheck/TcEvidence.hs 2015-03-17 10:26:03.251433371 +1100
@@ -50,6 +50,8 @@
#if __GLASGOW_HASKELL__ < 709
import Control.Applicative
import Data.Traversable (traverse, sequenceA)
+#else
+import Control.Applicative ((<$>))
#endif
import qualified Data.Data as Data
import Outputable
--- ghc-7.10.0.20150316-orig/compiler/hsSyn/HsBinds.hs 2015-03-10 05:43:13.000000000 +1100
+++ ghc-7.10.0.20150316/compiler/hsSyn/HsBinds.hs 2015-03-17 10:42:21.459519033 +1100
@@ -47,6 +47,8 @@
import Data.Traversable ( Traversable(..) )
import Data.Monoid ( mappend )
import Control.Applicative hiding (empty)
+#else
+import Control.Applicative ((<$>))
#endif
{-
--- ghc-7.10.0.20150316-orig/compiler/parser/RdrHsSyn.hs 2015-03-10 05:43:13.000000000 +1100
+++ ghc-7.10.0.20150316/compiler/parser/RdrHsSyn.hs 2015-03-17 11:17:48.950929542 +1100
@@ -91,9 +91,7 @@
import Util
import ApiAnnotation
-#if __GLASGOW_HASKELL__ < 709
import Control.Applicative ((<$>))
-#endif
import Control.Monad
import Text.ParserCombinators.ReadP as ReadP
--- ghc-7.10.0.20150316-orig/compiler/typecheck/TcGenDeriv.hs 2015-03-14 08:48:57.000000000 +1100
+++ ghc-7.10.0.20150316/compiler/typecheck/TcGenDeriv.hs 2015-03-17 11:30:39.106508173 +1100
@@ -59,6 +59,8 @@
import Var
#if __GLASGOW_HASKELL__ < 709
import MonadUtils
+#else
+import Control.Applicative ((<$>))
#endif
import Outputable
import Lexeme
--- ghc-7.10.0.20150316-orig/compiler/vectorise/Vectorise/Exp.hs 2015-03-10 05:43:13.000000000 +1100
+++ ghc-7.10.0.20150316/compiler/vectorise/Vectorise/Exp.hs 2015-03-17 11:46:41.829481669 +1100
@@ -46,6 +46,8 @@
import Util
#if __GLASGOW_HASKELL__ < 709
import MonadUtils
+#else
+import Control.Applicative ((<$>))
#endif
import Control.Monad

@ -1,26 +0,0 @@
commit 5cc08ebf2f346992a0abd4440252165c90b5ec05
Author: Sergei Trofimovich <siarheit@google.com>
Date: Sat Jun 20 12:23:00 2015 +0100
Recognise 'hardhloat' as a valid vendor in a host tuple
Observed on a tuple armv7a-hardfloat-linux-gnueabi:
> Unknown vendor hardfloat
Reported-by: Sergey Alirzaev
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
diff --git a/aclocal.m4 b/aclocal.m4
index 590edb0..958622c 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1966,6 +1966,9 @@ AC_DEFUN([GHC_CONVERT_VENDOR],[
softfloat) # like armv5tel-softfloat-linux-gnueabi
$2="unknown"
;;
+ hardfloat) # like armv7a-hardfloat-linux-gnueabi
+ $2="unknown"
+ ;;
*)
#pass thru by default
$2="$1"

@ -1,45 +0,0 @@
diff --git a/ANNOUNCE b/ANNOUNCE
index 7812eba..0018b37 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,6 +1,6 @@
==============================================================
- The (Interactive) Glasgow Haskell Compiler -- version 7.10.2
+ The (Interactive) Glasgow Haskell Compiler -- version 7.10.3
==============================================================
The GHC Team is pleased to announce a new minor release of GHC. This is a
@@ -29,7 +29,7 @@ bug-fix release and contains a number of important fixes,
A more thorough list of the changes in the release can be found in the release
notes,
- http://haskell.org/ghc/docs/7.10.2/html/users_guide/release-7-10-2.html
+ http://haskell.org/ghc/docs/7.10.3/html/users_guide/release-7-10-3.html
How to get it
diff --git a/docs/users_guide/intro.xml b/docs/users_guide/intro.xml
index 3292334..fb7116e 100644
--- a/docs/users_guide/intro.xml
+++ b/docs/users_guide/intro.xml
@@ -309,6 +309,7 @@
&relnotes1;
&relnotes2;
+&relnotes3;
</chapter>
diff --git a/docs/users_guide/ug-ent.xml.in b/docs/users_guide/ug-ent.xml.in
index b696aad..3629e93 100644
--- a/docs/users_guide/ug-ent.xml.in
+++ b/docs/users_guide/ug-ent.xml.in
@@ -5,6 +5,7 @@
<!ENTITY intro SYSTEM "intro.xml" >
<!ENTITY relnotes1 SYSTEM "7.10.1-notes.xml" >
<!ENTITY relnotes2 SYSTEM "7.10.2-notes.xml" >
+<!ENTITY relnotes3 SYSTEM "7.10.3-notes.xml" >
<!ENTITY using SYSTEM "using.xml" >
<!ENTITY code-gens SYSTEM "codegens.xml" >
<!ENTITY runtime SYSTEM "runtime_control.xml" >

@ -1,14 +0,0 @@
On hardened 'cp' drops out XT-pax parking.
perfinion suggested using 'install', where portage
might have a chance to save our marking.
Reported-by: Jay Yang
Gentoo-bug: https://bugs.gentoo.org/518734
diff --git a/rules/build-prog.mk b/rules/build-prog.mk
index 399369e..2ee9cd5 100644
--- a/rules/build-prog.mk
+++ b/rules/build-prog.mk
@@ -288,3 +288,3 @@ endif
$$($1_$2_INPLACE) : $1/$2/build/tmp/$$($1_$2_PROG_INPLACE) | $$$$(dir $$$$@)/.
- "$$(CP)" -p $$< $$@
+ $$(INSTALL) -m 755 $$< $$@

@ -1,81 +0,0 @@
commit bb5953484579968c984d074ca1af5d21e1c9e7a0
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date: Mon Feb 10 12:45:58 2014 +0300
rts: unrust 'libbfd' debug symbols parser
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
diff --git a/configure.ac b/configure.ac
index e7fbc7f..e47979c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -801,7 +801,8 @@ fi
dnl ** check whether this machine has BFD and libiberty installed (used for debugging)
dnl the order of these tests matters: bfd needs libiberty
AC_CHECK_LIB(iberty, xmalloc)
-AC_CHECK_LIB(bfd, bfd_uncompress_section_contents)
+dnl 'bfd_init' is a rare non-macro in libbfd
+AC_CHECK_LIB(bfd, bfd_init)
dnl ################################################################
dnl Check for libraries
diff --git a/rts/Printer.c b/rts/Printer.c
index ca9ca49..ce02b02 100644
--- a/rts/Printer.c
+++ b/rts/Printer.c
@@ -48,6 +48,9 @@ void printPtr( StgPtr p )
raw = lookupGHCName(p);
if (raw != NULL) {
printZcoded(raw);
+ /* it can be just a C symbol, like 'stg_returnToStackTop' */
+ debugBelch("<%s>", raw);
+ debugBelch("[%p]", p);
} else {
debugBelch("%p", p);
}
@@ -794,7 +797,7 @@ static void printZcoded( const char *raw )
disabling this for now.
*/
#ifdef USING_LIBBFD
-
+#include "../mk/config.h" /* silly BFD's requirement */
#include <bfd.h>
/* Fairly ad-hoc piece of code that seems to filter out a lot of
@@ -863,7 +866,10 @@ extern void DEBUG_LoadSymbols( char *name )
for( i = 0; i != number_of_symbols; ++i ) {
symbol_info info;
bfd_get_symbol_info(abfd,symbol_table[i],&info);
- /*debugBelch("\t%c\t0x%x \t%s\n",info.type,(nat)info.value,info.name); */
+ if (0)
+ {
+ debugBelch("\t%c\t0x%x \t%s\n",info.type,(nat)info.value,info.name);
+ }
if (isReal(info.type, info.name)) {
num_real_syms += 1;
}
diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c
index aa7306f..5bdef94 100644
--- a/rts/RtsStartup.c
+++ b/rts/RtsStartup.c
@@ -19,6 +19,7 @@
#include "RtsFlags.h"
#include "RtsUtils.h"
#include "Prelude.h"
+#include "Printer.h" /* DEBUG_LoadSymbols */
#include "Schedule.h" /* initScheduler */
#include "Stats.h" /* initStats */
#include "STM.h" /* initSTM */
@@ -162,6 +163,11 @@ hs_init_ghc(int *argc, char **argv[], RtsConfig rts_config)
rts_config.rts_opts_enabled, rts_config.rts_opts, rts_config.rts_hs_main);
}
+#ifdef DEBUG
+ /* load debugging symbols */
+ DEBUG_LoadSymbols((*argv)[0]);
+#endif /* DEBUG */
+
/* Initialise the stats department, phase 1 */
initStats1();

@ -1,34 +0,0 @@
commit b0cf3ab7a69b878a4335d21a347b56e4b0ca0b7b
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date: Mon Apr 14 19:06:24 2014 +0300
compiler/cmm/PprC.hs: constify local string literals
Consider one-line module
module B (v) where v = "hello"
in -fvia-C mode it generates code like
static char gibberish_str[] = "hello";
It uselessly eats data section (precious resource on ia64!).
The patch switches genrator to emit:
static const char gibberish_str[] = "hello";
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs
index 2398981..fdb578d 100644
--- a/compiler/cmm/PprC.hs
+++ b/compiler/cmm/PprC.hs
@@ -112,6 +112,12 @@ pprTop (CmmProc infos clbl _ graph) =
-- We only handle (a) arrays of word-sized things and (b) strings.
+pprTop (CmmData ReadOnlyData (Statics lbl [CmmString str])) =
+ hcat [
+ pprLocalness lbl, ptext (sLit "const char "), ppr lbl,
+ ptext (sLit "[] = "), pprStringInCStyle str, semi
+ ]
+
pprTop (CmmData _section (Statics lbl [CmmString str])) =
hcat [
pprLocalness lbl, ptext (sLit "char "), ppr lbl,

@ -1,35 +0,0 @@
commit 326046739801a380c5457ef4c87bce8fb95497ba
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date: Sun Aug 10 22:12:28 2014 +0300
systools info: fix warning about C compiler (message said about linker)
Summary: Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Test Plan: build-tested
Reviewers: austin
Reviewed By: austin
Subscribers: phaskell, simonmar, relrod, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D132
diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs
index 1c1c52c..72fa19b 100644
--- a/compiler/main/SysTools.lhs
+++ b/compiler/main/SysTools.lhs
@@ -809,10 +809,10 @@ getCompilerInfo' dflags = do
)
(\err -> do
debugTraceMsg dflags 2
- (text "Error (figuring out compiler information):" <+>
+ (text "Error (figuring out C compiler information):" <+>
text (show err))
errorMsg dflags $ hang (text "Warning:") 9 $
- text "Couldn't figure out linker information!" $$
+ text "Couldn't figure out C compiler information!" $$
text "Make sure you're using GNU gcc, or clang"
return UnknownCC)
return info

@ -1,31 +0,0 @@
commit 78863edbb0751f5c9694ea10c6132a87cfd0ee10
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date: Wed Aug 27 22:20:33 2014 +0300
Revert "disable shared libs on sparc (linux/solaris) (fixes #8857)"
This reverts commit 623883f1ed0ee11cc925c4590fb09565403fd231.
The commit a93ab43ab5f40cadbedea2f6342b93c245e91434
driver: pass '-fPIC' option to assembler as well
fixes shared libraries on sparc at least on linux.
Properly fixes Issue #8857
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
diff --git a/mk/config.mk.in b/mk/config.mk.in
index c210cd3..392237f 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -97,9 +97,7 @@ endif
# Some platforms don't support shared libraries
NoSharedLibsPlatformList = powerpc-unknown-linux \
x86_64-unknown-mingw32 \
- i386-unknown-mingw32 \
- sparc-sun-solaris2 \
- sparc-unknown-linux
+ i386-unknown-mingw32
ifeq "$(SOLARIS_BROKEN_SHLD)" "YES"
NoSharedLibsPlatformList += i386-unknown-solaris2

@ -1,351 +0,0 @@
commit fa31e8f4a0f853848d96549a429083941877bf8d
Author: Sergei Trofimovich <siarheit@google.com>
Date: Sun Dec 14 14:30:12 2014 +0000
powerpc: fix and enable shared libraries by default on linux
Summary:
And fix things all the way down to it. Namely:
- remove 'r30' from free registers, it's an .LCTOC1 register
for gcc. generated .plt stubs expect it to be initialised.
- fix PicBase computation, which originally forgot to use 'tmp'
reg in 'initializePicBase_ppc.fetchPC'
- mark 'ForeighTarget's as implicitly using 'PicBase' register
(see comment for details)
- add 64-bit MO_Sub and test on alloclimit3/4 regtests
- fix dynamic label offsets to match with .LCTOC1 offset
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
Test Plan: validate passes equal amount of vanilla/dyn tests
Reviewers: simonmar, erikd, austin
Reviewed By: erikd, austin
Subscribers: carter, thomie
Differential Revision: https://phabricator.haskell.org/D560
GHC Trac Issues: #8024, #9831
diff --git a/compiler/cmm/CLabel.hs b/compiler/cmm/CLabel.hs
index 0f2c0ae..37b8ada 100644
--- a/compiler/cmm/CLabel.hs
+++ b/compiler/cmm/CLabel.hs
@@ -1170,7 +1170,8 @@ pprDynamicLinkerAsmLabel platform dllInfo lbl
else if osElfTarget (platformOS platform)
then if platformArch platform == ArchPPC
then case dllInfo of
- CodeStub -> ppr lbl <> text "@plt"
+ CodeStub -> -- See Note [.LCTOC1 in PPC PIC code]
+ ppr lbl <> text "+32768@plt"
SymbolPtr -> text ".LC_" <> ppr lbl
_ -> panic "pprDynamicLinkerAsmLabel"
else if platformArch platform == ArchX86_64
diff --git a/compiler/nativeGen/PIC.hs b/compiler/nativeGen/PIC.hs
index 9b5c080..6326a8b 100644
--- a/compiler/nativeGen/PIC.hs
+++ b/compiler/nativeGen/PIC.hs
@@ -54,7 +54,6 @@ import qualified X86.Instr as X86
import Platform
import Instruction
-import Size
import Reg
import NCGMonad
@@ -468,11 +467,8 @@ pprGotDeclaration dflags ArchX86 OSDarwin
pprGotDeclaration _ _ OSDarwin
= empty
--- pprGotDeclaration
+-- Emit GOT declaration
-- Output whatever needs to be output once per .s file.
--- The .LCTOC1 label is defined to point 32768 bytes into the table,
--- to make the most of the PPC's 16-bit displacements.
--- Only needed for PIC.
pprGotDeclaration dflags arch os
| osElfTarget os
, arch /= ArchPPC_64
@@ -482,6 +478,7 @@ pprGotDeclaration dflags arch os
| osElfTarget os
, arch /= ArchPPC_64
= vcat [
+ -- See Note [.LCTOC1 in PPC PIC code]
ptext (sLit ".section \".got2\",\"aw\""),
ptext (sLit ".LCTOC1 = .+32768") ]
@@ -688,12 +685,7 @@ pprImportedSymbol _ _ _
-- Get a pointer to our own fake GOT, which is defined on a per-module basis.
--- This is exactly how GCC does it, and it's quite horrible:
--- We first fetch the address of a local label (mkPicBaseLabel).
--- Then we add a 16-bit offset to that to get the address of a .long that we
--- define in .text space right next to the proc. This .long literal contains
--- the (32-bit) offset from our local label to our global offset table
--- (.LCTOC1 aka gotOffLabel).
+-- This is exactly how GCC does it in linux.
initializePicBase_ppc
:: Arch -> OS -> Reg
@@ -704,18 +696,9 @@ initializePicBase_ppc ArchPPC os picReg
(CmmProc info lab live (ListGraph blocks) : statics)
| osElfTarget os
= do
- dflags <- getDynFlags
- gotOffLabel <- getNewLabelNat
- tmp <- getNewRegNat $ intSize (wordWidth dflags)
let
- gotOffset = CmmData Text $ Statics gotOffLabel [
- CmmStaticLit (CmmLabelDiffOff gotLabel
- mkPicBaseLabel
- 0)
- ]
- offsetToOffset
- = PPC.ImmConstantDiff
- (PPC.ImmCLbl gotOffLabel)
+ gotOffset = PPC.ImmConstantDiff
+ (PPC.ImmCLbl gotLabel)
(PPC.ImmCLbl mkPicBaseLabel)
blocks' = case blocks of
@@ -726,15 +709,23 @@ initializePicBase_ppc ArchPPC os picReg
| bID `mapMember` info = fetchPC b
| otherwise = b
+ -- GCC does PIC prologs thusly:
+ -- bcl 20,31,.L1
+ -- .L1:
+ -- mflr 30
+ -- addis 30,30,.LCTOC1-.L1@ha
+ -- addi 30,30,.LCTOC1-.L1@l
+ -- TODO: below we use it over temporary register,
+ -- it can and should be optimised by picking
+ -- correct PIC reg.
fetchPC (BasicBlock bID insns) =
BasicBlock bID (PPC.FETCHPC picReg
- : PPC.ADDIS tmp picReg (PPC.HI offsetToOffset)
- : PPC.LD PPC.archWordSize tmp
- (PPC.AddrRegImm tmp (PPC.LO offsetToOffset))
- : PPC.ADD picReg picReg (PPC.RIReg picReg)
+ : PPC.ADDIS picReg picReg (PPC.HA gotOffset)
+ : PPC.ADDI picReg picReg (PPC.LO gotOffset)
+ : PPC.MR PPC.r30 picReg
: insns)
- return (CmmProc info lab live (ListGraph blocks') : gotOffset : statics)
+ return (CmmProc info lab live (ListGraph blocks') : statics)
initializePicBase_ppc ArchPPC OSDarwin picReg
diff --git a/compiler/nativeGen/PPC/CodeGen.hs b/compiler/nativeGen/PPC/CodeGen.hs
index ddf483a..c1c4a74 100644
--- a/compiler/nativeGen/PPC/CodeGen.hs
+++ b/compiler/nativeGen/PPC/CodeGen.hs
@@ -54,7 +54,7 @@ import Outputable
import Unique
import DynFlags
-import Control.Monad ( mapAndUnzipM )
+import Control.Monad ( mapAndUnzipM, when )
import Data.Bits
import Data.Word
@@ -355,6 +355,19 @@ iselExpr64 (CmmMachOp (MO_Add _) [e1,e2]) = do
ADDE rhi r1hi r2hi ]
return (ChildCode64 code rlo)
+iselExpr64 (CmmMachOp (MO_Sub _) [e1,e2]) = do
+ ChildCode64 code1 r1lo <- iselExpr64 e1
+ ChildCode64 code2 r2lo <- iselExpr64 e2
+ (rlo,rhi) <- getNewRegPairNat II32
+ let
+ r1hi = getHiVRegFromLo r1lo
+ r2hi = getHiVRegFromLo r2lo
+ code = code1 `appOL`
+ code2 `appOL`
+ toOL [ SUBFC rlo r2lo r1lo,
+ SUBFE rhi r2hi r1hi ]
+ return (ChildCode64 code rlo)
+
iselExpr64 (CmmMachOp (MO_UU_Conv W32 W64) [expr]) = do
(expr_reg,expr_code) <- getSomeReg expr
(rlo, rhi) <- getNewRegPairNat II32
@@ -918,8 +931,12 @@ genCCall' dflags gcp target dest_regs args0
(toOL []) []
(labelOrExpr, reduceToFF32) <- case target of
- ForeignTarget (CmmLit (CmmLabel lbl)) _ -> return (Left lbl, False)
- ForeignTarget expr _ -> return (Right expr, False)
+ ForeignTarget (CmmLit (CmmLabel lbl)) _ -> do
+ uses_pic_base_implicitly
+ return (Left lbl, False)
+ ForeignTarget expr _ -> do
+ uses_pic_base_implicitly
+ return (Right expr, False)
PrimTarget mop -> outOfLineMachOp mop
let codeBefore = move_sp_down finalStack `appOL` passArgumentsCode
@@ -940,6 +957,13 @@ genCCall' dflags gcp target dest_regs args0
where
platform = targetPlatform dflags
+ uses_pic_base_implicitly = do
+ -- See Note [implicit register in PPC PIC code]
+ -- on why we claim to use PIC register here
+ when (gopt Opt_PIC dflags) $ do
+ _ <- getPicBaseNat archWordSize
+ return ()
+
initialStackOffset = case gcp of
GCPDarwin -> 24
GCPLinux -> 8
@@ -1431,3 +1455,21 @@ coerceFP2Int _ toRep x = do
-- read low word of value (high word is undefined)
LD II32 dst (spRel dflags 3)]
return (Any (intSize toRep) code')
+
+-- Note [.LCTOC1 in PPC PIC code]
+-- The .LCTOC1 label is defined to point 32768 bytes into the GOT table
+-- to make the most of the PPC's 16-bit displacements.
+-- As 16-bit signed offset is used (usually via addi/lwz instructions)
+-- first element will have '-32768' offset against .LCTOC1.
+
+-- Note [implicit register in PPC PIC code]
+-- PPC generates calls by labels in assembly
+-- in form of:
+-- bl puts+32768@plt
+-- in this form it's not seen directly (by GHC NCG)
+-- that r30 (PicBaseReg) is used,
+-- but r30 is a required part of PLT code setup:
+-- puts+32768@plt:
+-- lwz r11,-30484(r30) ; offset in .LCTOC1
+-- mtctr r11
+-- bctr
diff --git a/compiler/nativeGen/PPC/Instr.hs b/compiler/nativeGen/PPC/Instr.hs
index f5b9506..b7081f9 100644
--- a/compiler/nativeGen/PPC/Instr.hs
+++ b/compiler/nativeGen/PPC/Instr.hs
@@ -205,8 +205,11 @@ data Instr
| ADD Reg Reg RI -- dst, src1, src2
| ADDC Reg Reg Reg -- (carrying) dst, src1, src2
| ADDE Reg Reg Reg -- (extend) dst, src1, src2
+ | ADDI Reg Reg Imm -- Add Immediate dst, src1, src2
| ADDIS Reg Reg Imm -- Add Immediate Shifted dst, src1, src2
| SUBF Reg Reg Reg -- dst, src1, src2 ; dst = src2 - src1
+ | SUBFC Reg Reg Reg -- (carrying) dst, src1, src2 ; dst = src2 - src1
+ | SUBFE Reg Reg Reg -- (extend) dst, src1, src2 ; dst = src2 - src1
| MULLW Reg Reg RI
| DIVW Reg Reg Reg
| DIVWU Reg Reg Reg
@@ -284,8 +287,11 @@ ppc_regUsageOfInstr platform instr
ADD reg1 reg2 ri -> usage (reg2 : regRI ri, [reg1])
ADDC reg1 reg2 reg3 -> usage ([reg2,reg3], [reg1])
ADDE reg1 reg2 reg3 -> usage ([reg2,reg3], [reg1])
+ ADDI reg1 reg2 _ -> usage ([reg2], [reg1])
ADDIS reg1 reg2 _ -> usage ([reg2], [reg1])
SUBF reg1 reg2 reg3 -> usage ([reg2,reg3], [reg1])
+ SUBFC reg1 reg2 reg3 -> usage ([reg2,reg3], [reg1])
+ SUBFE reg1 reg2 reg3 -> usage ([reg2,reg3], [reg1])
MULLW reg1 reg2 ri -> usage (reg2 : regRI ri, [reg1])
DIVW reg1 reg2 reg3 -> usage ([reg2,reg3], [reg1])
DIVWU reg1 reg2 reg3 -> usage ([reg2,reg3], [reg1])
@@ -358,8 +364,11 @@ ppc_patchRegsOfInstr instr env
ADD reg1 reg2 ri -> ADD (env reg1) (env reg2) (fixRI ri)
ADDC reg1 reg2 reg3 -> ADDC (env reg1) (env reg2) (env reg3)
ADDE reg1 reg2 reg3 -> ADDE (env reg1) (env reg2) (env reg3)
+ ADDI reg1 reg2 imm -> ADDI (env reg1) (env reg2) imm
ADDIS reg1 reg2 imm -> ADDIS (env reg1) (env reg2) imm
SUBF reg1 reg2 reg3 -> SUBF (env reg1) (env reg2) (env reg3)
+ SUBFC reg1 reg2 reg3 -> SUBFC (env reg1) (env reg2) (env reg3)
+ SUBFE reg1 reg2 reg3 -> SUBFE (env reg1) (env reg2) (env reg3)
MULLW reg1 reg2 ri -> MULLW (env reg1) (env reg2) (fixRI ri)
DIVW reg1 reg2 reg3 -> DIVW (env reg1) (env reg2) (env reg3)
DIVWU reg1 reg2 reg3 -> DIVWU (env reg1) (env reg2) (env reg3)
diff --git a/compiler/nativeGen/PPC/Ppr.hs b/compiler/nativeGen/PPC/Ppr.hs
index 6851769..f59d51f 100644
--- a/compiler/nativeGen/PPC/Ppr.hs
+++ b/compiler/nativeGen/PPC/Ppr.hs
@@ -525,6 +525,16 @@ pprInstr (BCTRL _) = hcat [
ptext (sLit "bctrl")
]
pprInstr (ADD reg1 reg2 ri) = pprLogic (sLit "add") reg1 reg2 ri
+pprInstr (ADDI reg1 reg2 imm) = hcat [
+ char '\t',
+ ptext (sLit "addi"),
+ char '\t',
+ pprReg reg1,
+ ptext (sLit ", "),
+ pprReg reg2,
+ ptext (sLit ", "),
+ pprImm imm
+ ]
pprInstr (ADDIS reg1 reg2 imm) = hcat [
char '\t',
ptext (sLit "addis"),
@@ -539,6 +549,8 @@ pprInstr (ADDIS reg1 reg2 imm) = hcat [
pprInstr (ADDC reg1 reg2 reg3) = pprLogic (sLit "addc") reg1 reg2 (RIReg reg3)
pprInstr (ADDE reg1 reg2 reg3) = pprLogic (sLit "adde") reg1 reg2 (RIReg reg3)
pprInstr (SUBF reg1 reg2 reg3) = pprLogic (sLit "subf") reg1 reg2 (RIReg reg3)
+pprInstr (SUBFC reg1 reg2 reg3) = pprLogic (sLit "subfc") reg1 reg2 (RIReg reg3)
+pprInstr (SUBFE reg1 reg2 reg3) = pprLogic (sLit "subfe") reg1 reg2 (RIReg reg3)
pprInstr (MULLW reg1 reg2 ri@(RIReg _)) = pprLogic (sLit "mullw") reg1 reg2 ri
pprInstr (MULLW reg1 reg2 ri@(RIImm _)) = pprLogic (sLit "mull") reg1 reg2 ri
pprInstr (DIVW reg1 reg2 reg3) = pprLogic (sLit "divw") reg1 reg2 (RIReg reg3)
diff --git a/compiler/nativeGen/PPC/Regs.hs b/compiler/nativeGen/PPC/Regs.hs
index 0f636bf..69e69c0 100644
--- a/compiler/nativeGen/PPC/Regs.hs
+++ b/compiler/nativeGen/PPC/Regs.hs
@@ -37,7 +37,8 @@ module PPC.Regs (
fits16Bits,
makeImmediate,
fReg,
- sp, r3, r4, r27, r28, f1, f20, f21,
+ sp, r3, r4, r27, r28, r30,
+ f1, f20, f21,
allocatableRegs
@@ -295,12 +296,13 @@ point registers.
fReg :: Int -> RegNo
fReg x = (32 + x)
-sp, r3, r4, r27, r28, f1, f20, f21 :: Reg
+sp, r3, r4, r27, r28, r30, f1, f20, f21 :: Reg
sp = regSingle 1
r3 = regSingle 3
r4 = regSingle 4
r27 = regSingle 27
r28 = regSingle 28
+r30 = regSingle 30
f1 = regSingle $ fReg 1
f20 = regSingle $ fReg 20
f21 = regSingle $ fReg 21
diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs
index 9916e0e..1d46a01 100644
--- a/includes/CodeGen.Platform.hs
+++ b/includes/CodeGen.Platform.hs
@@ -881,6 +881,8 @@ freeReg 1 = fastBool False -- The Stack Pointer
# if !MACHREGS_darwin
-- most non-darwin powerpc OSes use r2 as a TOC pointer or something like that
freeReg 2 = fastBool False
+-- at least linux in -fPIC relies on r30 in PLT stubs
+freeReg 30 = fastBool False
# endif
# ifdef REG_Base
freeReg REG_Base = fastBool False
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 0f5820f..8f134bc 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -95,7 +95,7 @@ TargetElf = YES
endif
# Some platforms don't support shared libraries
-NoSharedLibsPlatformList = powerpc-unknown-linux \
+NoSharedLibsPlatformList = \
x86_64-unknown-mingw32 \
i386-unknown-mingw32

@ -1,27 +0,0 @@
Gentoo-bug: https://bugs.gentoo.org/536426
Reported-by: Eric Siegel
commit 021b7978d14799bae779907faf7490cfd21b3f46
Author: Austin Seipp <austin@well-typed.com>
Date: Sun Jul 20 10:13:15 2014 -0500
driver: use absolute paths in ld scripts (#7452)
Patch contributed by slowmo.
Signed-off-by: Austin Seipp <austin@well-typed.com>
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index 11427e2..49126fe 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -2166,7 +2166,9 @@ joinObjectFiles dflags o_files output_fn = do
if ldIsGnuLd
then do
script <- newTempName dflags "ldscript"
- writeFile script $ "INPUT(" ++ unwords o_files ++ ")"
+ cwd <- getCurrentDirectory
+ let o_files_abs = map (cwd </>) o_files
+ writeFile script $ "INPUT(" ++ unwords o_files_abs ++ ")"
ld_r [SysTools.FileOption "" script] ccInfo
else if sLdSupportsFilelist mySettings
then do

@ -1,66 +0,0 @@
From b677ba51cf8131a6f6ddcdfee8dd2a8c4c2b4ac7 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <siarheit@google.com>
Date: Sat, 17 Jan 2015 14:27:13 +0000
Subject: [PATCH 1/3] CMM: add a mechanism to import C data labels
Fixes threaded runtime on ia64.
sm_mutex there was not referenced correctly.
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
---
compiler/cmm/CmmParse.y | 4 ++++
rts/Exception.cmm | 2 +-
rts/PrimOps.cmm | 6 +++---
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/compiler/cmm/CmmParse.y.source b/compiler/cmm/CmmParse.y.source
index 6b51e51..fd9489b 100644
--- a/compiler/cmm/CmmParse.y.source
+++ b/compiler/cmm/CmmParse.y.source
@@ -575,6 +575,10 @@ importName
: NAME
{ ($1, mkForeignLabel $1 Nothing ForeignLabelInExternalPackage IsFunction) }
+ -- as previous 'NAME', but 'IsData'
+ | 'CLOSURE' NAME
+ { ($2, mkForeignLabel $2 Nothing ForeignLabelInExternalPackage IsData) }
+
-- A label imported with an explicit packageId.
| STRING NAME
{ ($2, mkCmmCodeLabel (fsToPackageKey (mkFastString $1)) $2) }
diff --git a/rts/Exception.cmm b/rts/Exception.cmm
index 5007ef3..8d19c14 100644
--- a/rts/Exception.cmm
+++ b/rts/Exception.cmm
@@ -13,7 +13,7 @@
#include "Cmm.h"
#include "RaiseAsync.h"
-import ghczmprim_GHCziTypes_True_closure;
+import CLOSURE ghczmprim_GHCziTypes_True_closure;
/* -----------------------------------------------------------------------------
Exception Primitives
diff --git a/rts/PrimOps.cmm b/rts/PrimOps.cmm
index 3e8612c..2e6ca46 100644
--- a/rts/PrimOps.cmm
+++ b/rts/PrimOps.cmm
@@ -28,12 +28,12 @@
import pthread_mutex_lock;
import pthread_mutex_unlock;
#endif
-import base_ControlziExceptionziBase_nestedAtomically_closure;
+import CLOSURE base_ControlziExceptionziBase_nestedAtomically_closure;
import EnterCriticalSection;
import LeaveCriticalSection;
-import ghczmprim_GHCziTypes_False_closure;
+import CLOSURE ghczmprim_GHCziTypes_False_closure;
#if defined(USE_MINIINTERPRETER) || !defined(mingw32_HOST_OS)
-import sm_mutex;
+import CLOSURE sm_mutex;
#endif
/*-----------------------------------------------------------------------------
--
2.2.1

@ -1,50 +0,0 @@
commit 501e05bb1b8974fc8b6c9eee86c87c367e87a211
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date: Tue Aug 30 12:10:47 2016 +0100
GhcMake: limit Capability count to CPU count in parallel mode
In Trac #9221 one of problems using high --jobs=<N>
is amount of mutator (or GC) threads we crate.
We use userspace spinning-and-yielding (see ACQUIRE_SPIN_LOCK)
to acess work stealing queues. In case of
N-worker-threads > N-CPUs fraction of time when
thread holding spin lock gets descheduled by kernel
increases. That causes other threads to waste CPU time
before giving up CPU.
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
Test Plan:
ghc --make -j8 and -j80 have comparable sys time
on a 8-core system.
Reviewers: austin, gintas, bgamari, simonmar
Reviewed By: bgamari, simonmar
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2482
GHC Trac Issues: #9221
diff --git a/compiler/main/GhcMake.hs b/compiler/main/GhcMake.hs
index 9dc43cd..905df63 100644
--- a/compiler/main/GhcMake.hs
+++ b/compiler/main/GhcMake.hs
@@ -761,7 +761,12 @@ parUpsweep n_jobs old_hpt stable_mods cleanup sccs = do
let updNumCapabilities = liftIO $ do
n_capabilities <- getNumCapabilities
- unless (n_capabilities /= 1) $ setNumCapabilities n_jobs
+ n_cpus <- getNumProcessors
+ -- Setting number of capabilities more than
+ -- CPU count usually leads to high userspace
+ -- lock contention. Trac #9221
+ let n_caps = min n_jobs n_cpus
+ unless (n_capabilities /= 1) $ setNumCapabilities n_caps
return n_capabilities
-- Reset the number of capabilities once the upsweep ends.
let resetNumCapabilities orig_n = liftIO $ setNumCapabilities orig_n

@ -1,65 +0,0 @@
commit bdfc5375f219d6def81effda4e57cb56d01fc917
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date: Tue Aug 30 12:10:54 2016 +0100
rts: enable parallel GC scan of large (32M+) allocation area
Parallel GC does not scan large allocation area (-A)
effectively as it does not do work stealing from nursery
by default.
That leads to large imbalance when only one of threads
overflows allocation area: most of GC threads finish
quickly (as there is not much to collect) and sit idle
waiting while single GC thread finishes scan of single
allocation area for that thread.
The patch enables work stealing for (equivalent of -qb0)
allocation area of -A32M or higher.
Tested on a highlighting-kate package from Trac #9221
On 8-core machine the difference is around 5% faster
of wall-clock time. On 24-core VM the speedup is 20%.
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
Test Plan: measured wall time and GC parallelism on highlighting-kate build
Reviewers: austin, bgamari, erikd, simonmar
Reviewed By: bgamari, simonmar
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2483
GHC Trac Issues: #9221
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c
index fda33f0..7a719b9 100644
--- a/rts/RtsFlags.c
+++ b/rts/RtsFlags.c
@@ -237,1 +237,1 @@ void initRtsFlagsDefaults(void)
- RtsFlags.ParFlags.parGcLoadBalancingGen = 1;
+ RtsFlags.ParFlags.parGcLoadBalancingGen = ~0u; /* auto, based on -A */
@@ -1398,2 +1390,19 @@ static void normaliseRtsOpts (void)
}
+#ifdef THREADED_RTS
+ if (RtsFlags.ParFlags.parGcLoadBalancingGen == ~0u) {
+ StgWord alloc_area_bytes
+ = RtsFlags.GcFlags.minAllocAreaSize * BLOCK_SIZE;
+
+ // If allocation area is larger that CPU cache
+ // we can finish scanning quicker doing work-stealing
+ // scan. Trac #9221
+ // 32M looks big enough not to fit into L2 cache
+ // of popular modern CPUs.
+ if (alloc_area_bytes >= 32 * 1024 * 1024) {
+ RtsFlags.ParFlags.parGcLoadBalancingGen = 0;
+ } else {
+ RtsFlags.ParFlags.parGcLoadBalancingGen = 1;
+ }
+ }
+#endif

@ -1,127 +0,0 @@
commit 5efbf0d243984444cf352ad6f0d147e226c64498
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date: Thu Sep 1 17:34:58 2016 +0100
restore -fmax-worker-args handling (Trac #11565)
maxWorkerArgs handling was accidentally lost 3 years ago
in a major update of demand analysis
commit 0831a12ea2fc73c33652eeec1adc79fa19700578
Old regression is noticeable as:
- code bloat (requires stack reshuffling)
- compilation slowdown (more code to optimise/generate)
- and increased heap usage (DynFlags unboxing/reboxing?)
On a simple compile benchmark this change causes heap
allocation drop from 70G don to 67G (ghc perf build).
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
Reviewers: simonpj, ezyang, goldfire, austin, bgamari
Reviewed By: simonpj, ezyang
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2503
GHC Trac Issues: #11565
diff --git a/compiler/specialise/SpecConstr.hs b/compiler/specialise/SpecConstr.hs
index 10d5614..7166f57 100644
--- a/compiler/specialise/SpecConstr.hs
+++ b/compiler/specialise/SpecConstr.hs
@@ -29,7 +29,7 @@ import CoreFVs ( exprsFreeVarsList )
import CoreMonad
import Literal ( litIsLifted )
import HscTypes ( ModGuts(..) )
-import WwLib ( mkWorkerArgs )
+import WwLib ( isWorkerSmallEnough, mkWorkerArgs )
import DataCon
import Coercion hiding( substCo )
import Rules
@@ -1533,10 +1533,14 @@ specialise env bind_calls (RI { ri_fn = fn, ri_lam_bndrs = arg_bndrs
| Just all_calls <- lookupVarEnv bind_calls fn
= -- pprTrace "specialise entry {" (ppr fn <+> ppr (length all_calls)) $
- do { (boring_call, pats) <- callsToPats env specs arg_occs all_calls
-
+ do { (boring_call, all_pats) <- callsToPats env specs arg_occs all_calls
-- Bale out if too many specialisations
- ; let n_pats = length pats
+ ; let pats = filter (is_small_enough . fst) all_pats
+ is_small_enough vars = isWorkerSmallEnough (sc_dflags env) vars
+ -- We are about to construct w/w pair in 'spec_one'.
+ -- Omit specialisation leading to high arity workers.
+ -- See Note [Limit w/w arity]
+ n_pats = length pats
spec_count' = n_pats + spec_count
; case sc_count env of
Just max | not (sc_force env) && spec_count' > max
diff --git a/compiler/stranal/WwLib.hs b/compiler/stranal/WwLib.hs
index 09bc204..d9460d9 100644
--- a/compiler/stranal/WwLib.hs
+++ b/compiler/stranal/WwLib.hs
@@ -8,6 +8,7 @@
module WwLib ( mkWwBodies, mkWWstr, mkWorkerArgs
, deepSplitProductType_maybe, findTypeShape
+ , isWorkerSmallEnough
) where
#include "HsVersions.h"
@@ -144,7 +145,8 @@ mkWwBodies dflags fam_envs fun_ty demands res_info one_shots
wrapper_body = wrap_fn_args . wrap_fn_cpr . wrap_fn_str . applyToVars work_call_args . Var
worker_body = mkLams work_lam_args. work_fn_str . work_fn_cpr . work_fn_args
- ; if useful1 && not (only_one_void_argument) || useful2
+ ; if isWorkerSmallEnough dflags work_args
+ && (useful1 && not only_one_void_argument || useful2)
then return (Just (worker_args_dmds, wrapper_body, worker_body))
else return Nothing
}
@@ -165,6 +167,12 @@ mkWwBodies dflags fam_envs fun_ty demands res_info one_shots
| otherwise
= False
+-- See Note [Limit w/w arity]
+isWorkerSmallEnough :: DynFlags -> [Var] -> Bool
+isWorkerSmallEnough dflags vars = count isId vars <= maxWorkerArgs dflags
+ -- We count only Free variables (isId) to skip Type, Kind
+ -- variables which have no runtime representation.
+
{-
Note [Always do CPR w/w]
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -178,6 +186,30 @@ a disaster, because then the enclosing function might say it has the CPR
property, but now doesn't and there a cascade of disaster. A good example
is Trac #5920.
+Note [Limit w/w arity]
+~~~~~~~~~~~~~~~~~~~~~~~~
+Guard against high worker arity as it generates a lot of stack traffic.
+A simplified example is Trac #11565#comment:6
+
+Current strategy is very simple: don't perform w/w transformation at all
+if the result produces a wrapper with arity higher than -fmax-worker-args=.
+
+It is a bit all or nothing, consider
+
+ f (x,y) (a,b,c,d,e ... , z) = rhs
+
+Currently we will remove all w/w ness entirely. But actually we could
+w/w on the (x,y) pair... it's the huge product that is the problem.
+
+Could we instead refrain from w/w on an arg-by-arg basis? Yes, that'd
+solve f. But we can get a lot of args from deeply-nested products:
+
+ g (a, (b, (c, (d, ...)))) = rhs
+
+This is harder to spot on an arg-by-arg basis. Previously mkWwStr was
+given some "fuel" saying how many arguments it could add; when we ran
+out of fuel it would stop w/wing.
+Still not very clever because it had a left-right bias.
************************************************************************
* *

@ -1,34 +0,0 @@
commit b0cf3ab7a69b878a4335d21a347b56e4b0ca0b7b
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date: Mon Apr 14 19:06:24 2014 +0300
compiler/cmm/PprC.hs: constify local string literals
Consider one-line module
module B (v) where v = "hello"
in -fvia-C mode it generates code like
static char gibberish_str[] = "hello";
It uselessly eats data section (precious resource on ia64!).
The patch switches genrator to emit:
static const char gibberish_str[] = "hello";
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs
index 2398981..fdb578d 100644
--- a/compiler/cmm/PprC.hs
+++ b/compiler/cmm/PprC.hs
@@ -112,6 +112,12 @@ pprTop (CmmProc infos clbl _ graph) =
-- We only handle (a) arrays of word-sized things and (b) strings.
+pprTop (CmmData (Section ReadOnlyData _) (Statics lbl [CmmString str])) =
+ hcat [
+ pprLocalness lbl, ptext (sLit "const char "), ppr lbl,
+ ptext (sLit "[] = "), pprStringInCStyle str, semi
+ ]
+
pprTop (CmmData _section (Statics lbl [CmmString str])) =
hcat [
pprLocalness lbl, ptext (sLit "char "), ppr lbl,

@ -1,35 +0,0 @@
ghc -O2 generates too large C files for unregisterised compiler.
On ia64 it causes DynFlags to compile for 60 minutes (then assembler
crashes).
To decrease C code inflation we don't use -O2 in UNREG mode.
diff --git a/mk/config.mk.in b/mk/config.mk.in
index bfaaa66..d8f93b3 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -72,11 +72,2 @@ GhcStage3HcOpts=-O2
-# Disable -O2 optimization. Otherwise amount of generated C code
-# makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.lhs')
-# and sometimes not compile at all (powerpc64 overflows something
-# on 'compiler/hsSyn/HsExpr.lhs').
-ifeq "$(GhcUnregisterised)" "YES"
-GhcStage1HcOpts=
-GhcStage2HcOpts=
-GhcStage3HcOpts=
-endif
@@ -894 +885,13 @@ CURSES_INCLUDE_DIRS = @CURSES_INCLUDE_DIRS@
CURSES_LIB_DIRS = @CURSES_LIB_DIRS@
+
+# Disable -O2 optimization. Otherwise amount of generated C code
+# makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.lhs')
+# and sometimes not compile at all (powerpc64 overflows something
+# on 'compiler/hsSyn/HsExpr.lhs').
+ifeq "$(GhcUnregisterised)" "YES"
+GhcStage1HcOpts=
+GhcStage2HcOpts=
+GhcStage3HcOpts=
+
+GhcLibHcOpts=
+endif

@ -1,65 +0,0 @@
From 358b508051333882d4099acca8f269e6fb2b7d65 Mon Sep 17 00:00:00 2001
From: Bertram Felgenhauer <int-e@gmx.de>
Date: Thu, 3 May 2018 18:03:53 +0300
Subject: [PATCH] Compute DW_FORM_block length correctly; also fixes #15068
Before this patch, the pprUnwindwExpr function computed the length of
by the following assembly fragment:
.uleb128 1f-.-1
<expression data>
1:
That is, to compute the length, it takes the difference of the label 1
and the address of the .uleb128 directive, and subtracts 1.
In #15068 it was reported that `as` from binutils 4.30 has trouble with
evaluating the `.` part of the expression. However, there is actually a
problem with the expression, if the length of the data ever becomes
larger than 128: In that case, the .uleb128 directive will emit more
than 1 byte, and the computed length will be wrong.
The present patch changes the assembly fragment to use two labels,
which fixes both these problems.
.uleb128 2f-1f
1:
<expression data>
2:
Test Plan: validate
Reviewers: bgamari, osa1
Reviewed By: bgamari
Subscribers: thomie, carter
GHC Trac Issues: #15068
Differential Revision: https://phabricator.haskell.org/D4654
---
compiler/nativeGen/Dwarf/Types.hs | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/compiler/nativeGen/Dwarf/Types.hs b/compiler/nativeGen/Dwarf/Types.hs
index 23a2c920e7..579ed0d256 100644
--- a/compiler/nativeGen/Dwarf/Types.hs
+++ b/compiler/nativeGen/Dwarf/Types.hs
@@ -492,9 +492,11 @@ pprUnwindExpr spIsCFA expr
pprE (UwPlus u1 u2) = pprE u1 $$ pprE u2 $$ pprByte dW_OP_plus
pprE (UwMinus u1 u2) = pprE u1 $$ pprE u2 $$ pprByte dW_OP_minus
pprE (UwTimes u1 u2) = pprE u1 $$ pprE u2 $$ pprByte dW_OP_mul
- in text "\t.uleb128 1f-.-1" $$ -- DW_FORM_block length
+ in text "\t.uleb128 2f-1f" $$ -- DW_FORM_block length
+ -- computed as the difference of the following local labels 2: and 1:
+ text "1:" $$
pprE expr $$
- text "1:"
+ text "2:"
-- | Generate code for re-setting the unwind information for a
-- register to @undefined@
--
2.17.0

@ -1,57 +0,0 @@
commit 2c220c4b053c8efb2098ee20910084a42a0b2dcd
Author: Sergei Trofimovich <siarheit@google.com>
Date: Sun Jan 29 11:59:36 2017 +0000
libffi: fix build COMPLEX build failure on alpha
libtool: compile: alpha-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude \
-I../src -I. -I../include -Iinclude -I../src -Wall -w -mieee -D_REENTRANT -fno-stack-protector \
-w -MT src/alpha/osf.lo -MMD -MP -MF src/alpha/.deps/osf.Tpo \
-c ../src/alpha/osf.S -fPIC -DPIC -o src/alpha/.libs/osf.o
../src/alpha/osf.S:298:2: error: #error "osf.S out of sync with ffi.h"
#error "osf.S out of sync with ffi.h"
^
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
diff --git a/libffi/ghc.mk b/libffi/ghc.mk
index 7c5bc9e1b3..4297ed449e 100644
--- a/libffi/ghc.mk
+++ b/libffi/ghc.mk
@@ -63,6 +63,9 @@ $(libffi_STAMP_CONFIGURE): $(TOUCH_DEP)
# will use cygwin symbolic links which cannot be read by mingw gcc.
chmod +x libffi/ln
+ # fix libffi build failure on alpha
+ ( cd libffi/build && "$(PATCH_CMD)" -p0 < ../libffi.3.2.1-complex_alpha.diff; )
+
# We need to use -MMD rather than -MD, as otherwise we get paths
# like c:/... in the dependency files on Windows, and the extra
# colons break make
diff --git a/libffi/libffi.3.2.1-complex_alpha.diff b/libffi/libffi.3.2.1-complex_alpha.diff
new file mode 100644
index 0000000000..0d6e0bc290
--- /dev/null
+++ b/libffi/libffi.3.2.1-complex_alpha.diff
@@ -0,0 +1,20 @@
+--- src/alpha/osf.S.orig 2015-01-16 10:46:15.000000000 +0100
++++ src/alpha/osf.S 2015-01-16 10:46:24.000000000 +0100
+@@ -279,6 +279,7 @@
+ .gprel32 $load_64 # FFI_TYPE_SINT64
+ .gprel32 $load_none # FFI_TYPE_STRUCT
+ .gprel32 $load_64 # FFI_TYPE_POINTER
++ .gprel32 $load_none # FFI_TYPE_COMPLEX
+
+ /* Assert that the table above is in sync with ffi.h. */
+
+@@ -294,7 +295,8 @@
+ || FFI_TYPE_SINT64 != 12 \
+ || FFI_TYPE_STRUCT != 13 \
+ || FFI_TYPE_POINTER != 14 \
+- || FFI_TYPE_LAST != 14
++ || FFI_TYPE_COMPLEX != 15 \
++ || FFI_TYPE_LAST != 15
+ #error "osf.S out of sync with ffi.h"
+ #endif
+

@ -1,12 +0,0 @@
diff --git a/docs/users_guide/profiling.rst b/docs/users_guide/profiling.rst
index 4d0bb3a..f980f72 100644
--- a/docs/users_guide/profiling.rst
+++ b/docs/users_guide/profiling.rst
@@ -435,7 +435,2 @@ To generate a heap profile from your program:
-For example, here is a heap profile produced for the ``sphere`` program
-from GHC's ``nofib`` benchmark suite,
-
-.. image:: images/prof_scc.*
-
You might also want to take a look at

@ -1,19 +0,0 @@
https://github.com/gentoo-haskell/gentoo-haskell/issues/704
Allow users to specify -W,--relax externally and pass
-Wl,-no-relax unconditonally on all arches.
Reported-by: wmyrda
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -2144,9 +2144,7 @@ joinObjectFiles dflags o_files output_fn = do
-- gcc on sparc sets -Wl,--relax implicitly, but
-- -r and --relax are incompatible for ld, so
-- disable --relax explicitly.
- ++ (if platformArch (targetPlatform dflags)
- `elem` [ArchSPARC, ArchSPARC64]
- && ldIsGnuLd
+ ++ (if ldIsGnuLd
then [SysTools.Option "-Wl,-no-relax"]
else [])
-- See Note [Produce big objects on Windows]

@ -1,296 +0,0 @@
From fac083e7ac8a37b61a4082bbbca2848e52fd1bb2 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Sun, 9 Aug 2020 09:15:16 -0400
Subject: [PATCH] Revert "[linker/rtsSymbols] More linker symbols"
This reverts commit aa2e5863699306920513b216f337de09e29b5bb8.
---
rts/RtsSymbols.c | 224 ++++-------------------------------------------
1 file changed, 17 insertions(+), 207 deletions(-)
diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c
index d10a6900db..b2f90a892d 100644
--- a/rts/RtsSymbols.c
+++ b/rts/RtsSymbols.c
@@ -58,6 +58,7 @@
SymI_HasProto(signal_handlers) \
SymI_HasProto(stg_sig_install) \
SymI_HasProto(rtsTimerSignal) \
+ SymI_HasProto(atexit) \
SymI_NeedsDataProto(nocldstop)
#endif
@@ -976,213 +977,29 @@
RTS_USER_SIGNALS_SYMBOLS \
RTS_INTCHAR_SYMBOLS
+
// 64-bit support functions in libgcc.a
-// See https://gcc.gnu.org/onlinedocs/gccint/Libgcc.html#Libgcc
-#define RTS_LIBGCC_SYMBOLS_32 \
- SymI_NeedsProto(__fixunsdfdi) \
- /* 4 The GCC low-level runtime library */\
- /* 4.1.1 Arithmetic functions */\
- /* SymI_NeedsProto(__ashlsi3) */\
- SymI_NeedsProto(__ashldi3) \
- /* SymI_NeedsProto(__ashlti3) */\
- /* These functions return the result of shifting a left by b bits. */\
- /* SymI_NeedsProto(__ashrsi3) */\
- SymI_NeedsProto(__ashrdi3) \
- /* SymI_NeedsProto(__ashrti3) */\
- /* These functions return the result of arithmetically shifting a right by b bits. */\
- /* SymI_NeedsProto(__divsi3) */\
- SymI_NeedsProto(__divdi3) \
- /* SymI_NeedsProto(__divti3) */\
- /* These functions return the quotient of the signed division of a and b. */\
- /* SymI_NeedsProto(__lshrsi3) */ \
- SymI_NeedsProto(__lshrdi3) \
- /* SymI_NeedsProto(__lshrti3) */ \
- /* These functions return the result of logically shifting a right by b bits. */\
- /* SymI_NeedsProto(__modsi3) */ \
- SymI_NeedsProto(__moddi3) \
- /* SymI_NeedsProto(__modti3) */ \
- /* These functions return the remainder of the signed division of a and b. */\
- /* SymI_NeedsProto(__mulsi3) */ \
- SymI_NeedsProto(__muldi3) \
- /* SymI_NeedsProto(__multi3) */ \
- /* These functions return the product of a and b. */\
- SymI_NeedsProto(__negdi2) \
- /* SymI_NeedsProto(__negti2) */ \
- /* These functions return the negation of a. */\
- /* SymI_NeedsProto(__udivsi3) */ \
- SymI_NeedsProto(__udivdi3) \
- /* SymI_NeedsProto(__udivti3) */ \
- /* These functions return the quotient of the unsigned division of a and b. */\
- SymI_NeedsProto(__udivmoddi4) \
- /* SymI_NeedsProto(__udivmodti4) */ \
- /* These functions calculate both the quotient and remainder of the unsigned division of a and b. The return value is the quotient, and the remainder is placed in variable pointed to by c. */\
- /* SymI_NeedsProto(__umodsi3) */ \
- SymI_NeedsProto(__umoddi3) \
- /* SymI_NeedsProto(__umodti3) */ \
- /* These functions return the remainder of the unsigned division of a and b. */\
- /* 4.1.2 Comparison functions */\
- /* The following functions implement integral comparisons. These functions implement a low-level compare, upon which the higher level comparison operators (such as less than and greater than or equal to) can be constructed. The returned values lie in the range zero to two, to allow the high-level operators to be implemented by testing the returned result using either signed or unsigned comparison. */\
- SymI_NeedsProto(__cmpdi2) \
- /* SymI_NeedsProto(__cmpti2) */ \
- /* These functions perform a signed comparison of a and b. If a is less than b, they return 0; if a is greater than b, they return 2; and if a and b are equal they return 1. */\
- SymI_NeedsProto(__ucmpdi2) \
- /* SymI_NeedsProto(__ucmpti2) */ \
- /* These functions perform an unsigned comparison of a and b. If a is less than b, they return 0; if a is greater than b, they return 2; and if a and b are equal they return 1. */\
- /* 4.1.3 Trapping arithmetic functions */\
- /* The following functions implement trapping arithmetic. These functions call the libc function abort upon signed arithmetic overflow. */\
- SymI_NeedsProto(__absvsi2) \
- SymI_NeedsProto(__absvdi2) \
- /* These functions return the absolute value of a. */\
- /* SymI_NeedsProto(__addvsi3) */ \
- SymI_NeedsProto(__addvdi3) \
- /* These functions return the sum of a and b; that is a + b. */\
- /* SymI_NeedsProto(__mulvsi3) */ \
- SymI_NeedsProto(__mulvdi3) \
- /* The functions return the product of a and b; that is a * b. */\
- SymI_NeedsProto(__negvsi2) \
- SymI_NeedsProto(__negvdi2) \
- /* These functions return the negation of a; that is -a. */\
- /* SymI_NeedsProto(__subvsi3) */ \
- SymI_NeedsProto(__subvdi3) \
- /* These functions return the difference between b and a; that is a - b. */\
- /* 4.1.4 Bit operations */\
- SymI_NeedsProto(__clzsi2) \
- SymI_NeedsProto(__clzdi2) \
- /* SymI_NeedsProto(__clzti2) */ \
- /* These functions return the number of leading 0-bits in a, starting at the most significant bit position. If a is zero, the result is undefined. */\
- SymI_NeedsProto(__ctzsi2) \
- SymI_NeedsProto(__ctzdi2) \
- /* SymI_NeedsProto(__ctzti2) */ \
- /* These functions return the number of trailing 0-bits in a, starting at the least significant bit position. If a is zero, the result is undefined. */\
- SymI_NeedsProto(__ffsdi2) \
- /* SymI_NeedsProto(__ffsti2) */ \
- /* These functions return the index of the least significant 1-bit in a, or the value zero if a is zero. The least significant bit is index one. */\
- SymI_NeedsProto(__paritysi2) \
- SymI_NeedsProto(__paritydi2) \
- /* SymI_NeedsProto(__parityti2) */\
- /* These functions return the value zero if the number of bits set in a is even, and the value one otherwise. */\
- SymI_NeedsProto(__popcountsi2) \
- SymI_NeedsProto(__popcountdi2) \
- /* SymI_NeedsProto(__popcountti2) */ \
- /* These functions return the number of bits set in a. */\
- SymI_NeedsProto(__bswapsi2) \
- SymI_NeedsProto(__bswapdi2)
-#define RTS_LIBGCC_SYMBOLS_aarch32 \
- /* armv6l */\
- /* TODO: should check for __ARM_EABI__ */\
- SymI_NeedsProto(__aeabi_d2f) \
- SymI_NeedsProto(__aeabi_d2iz) \
- SymI_NeedsProto(__aeabi_d2lz) \
- SymI_NeedsProto(__aeabi_d2uiz) \
- SymI_NeedsProto(__aeabi_d2ulz) \
- SymI_NeedsProto(__aeabi_dadd) \
- SymI_NeedsProto(__aeabi_dcmpeq) \
- SymI_NeedsProto(__aeabi_dcmpge) \
- SymI_NeedsProto(__aeabi_dcmpgt) \
- SymI_NeedsProto(__aeabi_dcmple) \
- SymI_NeedsProto(__aeabi_dcmplt) \
- SymI_NeedsProto(__aeabi_dcmpun) \
- SymI_NeedsProto(__aeabi_ddiv) \
- SymI_NeedsProto(__aeabi_dmul) \
- SymI_NeedsProto(__aeabi_dneg) \
- SymI_NeedsProto(__aeabi_dsub) \
- SymI_NeedsProto(__aeabi_f2d) \
- SymI_NeedsProto(__aeabi_f2iz) \
- SymI_NeedsProto(__aeabi_f2lz) \
- SymI_NeedsProto(__aeabi_f2uiz) \
- SymI_NeedsProto(__aeabi_f2ulz) \
- SymI_NeedsProto(__aeabi_fadd) \
- SymI_NeedsProto(__aeabi_fcmpeq) \
- SymI_NeedsProto(__aeabi_fcmpge) \
- SymI_NeedsProto(__aeabi_fcmpgt) \
- SymI_NeedsProto(__aeabi_fcmple) \
- SymI_NeedsProto(__aeabi_fcmplt) \
- SymI_NeedsProto(__aeabi_fcmpun) \
- SymI_NeedsProto(__aeabi_fdiv) \
- SymI_NeedsProto(__aeabi_fmul) \
- SymI_NeedsProto(__aeabi_fneg) \
- SymI_NeedsProto(__aeabi_fsub) \
- SymI_NeedsProto(__aeabi_i2d) \
- SymI_NeedsProto(__aeabi_i2f) \
- SymI_NeedsProto(__aeabi_idiv) \
- SymI_NeedsProto(__aeabi_idivmod) \
- SymI_NeedsProto(__aeabi_l2d) \
- SymI_NeedsProto(__aeabi_l2f) \
- SymI_NeedsProto(__aeabi_lasr) \
- SymI_NeedsProto(__aeabi_lcmp) \
- SymI_NeedsProto(__aeabi_ldivmod) \
- SymI_NeedsProto(__aeabi_llsl) \
- SymI_NeedsProto(__aeabi_llsr) \
- SymI_NeedsProto(__aeabi_lmul) \
- SymI_NeedsProto(__aeabi_ui2d) \
- SymI_NeedsProto(__aeabi_ui2f) \
- SymI_NeedsProto(__aeabi_uidiv) \
- SymI_NeedsProto(__aeabi_uidivmod) \
- SymI_NeedsProto(__aeabi_ul2d) \
- SymI_NeedsProto(__aeabi_ul2f) \
- SymI_NeedsProto(__aeabi_ulcmp) \
- SymI_NeedsProto(__aeabi_uldivmod)
-#define RTS_LIBGCC_SYMBOLS_64 \
+#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32)
+#define RTS_LIBGCC_SYMBOLS \
+ SymI_NeedsProto(__divdi3) \
+ SymI_NeedsProto(__udivdi3) \
+ SymI_NeedsProto(__moddi3) \
+ SymI_NeedsProto(__umoddi3) \
+ SymI_NeedsProto(__muldi3) \
+ SymI_NeedsProto(__ashldi3) \
+ SymI_NeedsProto(__ashrdi3) \
+ SymI_NeedsProto(__lshrdi3) \
+ SymI_NeedsProto(__fixunsdfdi)
+#elif defined(__GNUC__) && SIZEOF_VOID_P == 8
+#define RTS_LIBGCC_SYMBOLS \
SymI_NeedsProto(__udivti3) \
SymI_NeedsProto(__umodti3)
-
-/* for aarch64 */
-#define RTS_LIBGCC_SYMBOLS_aarch64 \
- SymI_NeedsProto(__netf2) \
- SymI_NeedsProto(__addtf3) \
- SymI_NeedsProto(__subtf3) \
- SymI_NeedsProto(__multf3) \
- SymI_NeedsProto(__extenddftf2) \
- SymI_NeedsProto(__fixtfsi) \
- SymI_NeedsProto(__fixunstfsi) \
- SymI_NeedsProto(__floatsitf) \
- SymI_NeedsProto(__floatunsitf)
-
-#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && defined(arm_HOST_OS)
-#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_32 RTS_LIBGCC_SYMBOLS_aarch32
-#elif defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32)
-#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_32
-#elif defined(__GNUC__) && SIZEOF_VOID_P == 8 && defined(aarch64_HOST_OS)
-#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_64 RTS_LIBGCC_SYMBOLS_aarch64
-#elif defined(__GNUC__) && SIZEOF_VOID_P == 8
-#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_64
#else
#define RTS_LIBGCC_SYMBOLS
#endif
-#if !defined(mingw32_HOST_OS) && !defined(DYNAMIC) && (defined(_FORTIFY_SOURCE) || defined(__SSP__))
-#define RTS_SSP_SYMBOLS \
- SymI_NeedsProto(__stack_chk_guard) \
- SymI_NeedsProto(__stack_chk_fail)
-#else
-#define RTS_SSP_SYMBOLS
-#endif
-#if !defined(DYNAMIC) && defined(linux_HOST_OS)
-// we need these for static musl builds. However when
-// linking shared objects (DLLs) this will fail, hence
-// we do not include them when building with -DDYNAMIC
-#define RTS_LINKER_SYMBOLS \
- SymI_NeedsProto(__fini_array_start) \
- SymI_NeedsProto(__fini_array_end)
-#else
-#define RTS_LINKER_SYMBOLS
-#endif
-
-#if defined(darwin_HOST_OS) && defined(powerpc_HOST_ARCH)
- // Symbols that don't have a leading underscore
- // on Mac OS X. They have to receive special treatment,
- // see machoInitSymbolsWithoutUnderscore()
-#define RTS_MACHO_NOUNDERLINE_SYMBOLS \
- SymI_NeedsProto(saveFP) \
- SymI_NeedsProto(restFP)
-#endif
-
/* entirely bogus claims about types of these symbols */
-/* to prevent a bit of define expansion, SymI_NeedsProto is a variadic
- * macro. And we'll concat vvv with the __VA_ARGS__. This prevents
- * vvv from getting macro expanded.
- */
-#define SymI_NeedsProto(vvv,...) extern void vvv ## __VA_ARGS__ (void);
+#define SymI_NeedsProto(vvv) extern void vvv(void);
#define SymI_NeedsDataProto(vvv) extern StgWord vvv[];
#if defined(COMPILING_WINDOWS_DLL)
#define SymE_HasProto(vvv) SymE_HasProto(vvv);
@@ -1209,8 +1026,6 @@ RTS_DARWIN_ONLY_SYMBOLS
RTS_OPENBSD_ONLY_SYMBOLS
RTS_LIBGCC_SYMBOLS
RTS_LIBFFI_SYMBOLS
-RTS_SSP_SYMBOLS
-RTS_LINKER_SYMBOLS
#undef SymI_NeedsProto
#undef SymI_NeedsDataProto
#undef SymI_HasProto
@@ -1230,7 +1045,7 @@ RTS_LINKER_SYMBOLS
#define SymE_HasDataProto(vvv) \
SymE_HasProto(vvv)
-#define SymI_NeedsProto(vvv,...) SymI_HasProto(vvv ## __VA_ARGS__)
+#define SymI_NeedsProto(vvv) SymI_HasProto(vvv)
#define SymI_NeedsDataProto(vvv) SymI_HasDataProto(vvv)
#define SymE_NeedsProto(vvv) SymE_HasProto(vvv)
#define SymE_NeedsDataProto(vvv) SymE_HasDataProto(vvv)
@@ -1251,8 +1066,6 @@ RTS_LINKER_SYMBOLS
#define SymI_HasProto_deprecated(vvv) \
{ #vvv, (void*)0xBAADF00D, true },
-void *RTS_DYNAMIC = NULL;
-
RtsSymbolVal rtsSyms[] = {
RTS_SYMBOLS
RTS_RET_SYMBOLS
@@ -1264,14 +1077,11 @@ RtsSymbolVal rtsSyms[] = {
RTS_LIBGCC_SYMBOLS
RTS_LIBFFI_SYMBOLS
SymI_HasDataProto(nonmoving_write_barrier_enabled)
- RTS_SSP_SYMBOLS
- RTS_LINKER_SYMBOLS
#if defined(darwin_HOST_OS) && defined(i386_HOST_ARCH)
// dyld stub code contains references to this,
// but it should never be called because we treat
// lazy pointers as nonlazy.
{ "dyld_stub_binding_helper", (void*)0xDEADBEEF, false },
#endif
- { "_DYNAMIC", (void*)(&RTS_DYNAMIC), false },
{ 0, 0, false } /* sentinel */
};
--
2.25.4

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save