Compare commits

..

1 Commits

Author SHA1 Message Date
Julian Ospald cc71b79a28
Add GHC-8.2.2 2018-09-21 02:10:49 +08:00
154 changed files with 836 additions and 5480 deletions

View File

@ -1,81 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
# Purpose: an exlib dealing with installation of GOG games
# Maintainer: Julian Ospald <hasufell@posteo.de>
# Exports: pkg_nofetch, pkg_setup, src_unpack
# Side-effects: - adds build dependencies
# - sets $WORK, $DOWNLOADS, $LICENSES, $RESTRICT and $HOMEPAGE
#
# Usage
# exparams: - installer: the shell script installer (required)
# - unzip: whether to unzip and add unzip dependency (default: true)
# - install_dir: installation dir (default: /opt/${PN})
# variables: - GOG_SH: set to exparam installer
# - GOG_INSTALL_DIR: set to exparam install_dir, use this in src_install
myexparam installer=
myexparam -b unzip=true
myexparam install_dir=/opt/${PN}
exparam -v GOG_SH installer
exparam -v GOG_INSTALL_DIR install_dir
if [[ -z $(exparam installer) ]]; then
die "installer needs to be set!"
fi
if [[ "$GOG_INSTALL_DIR" != /* ]]; then
die "${GOG_INSTALL_DIR} must be absolute!"
fi
export_exlib_phases pkg_nofetch pkg_setup src_unpack
HOMEPAGE="https://www.gog.com"
DOWNLOADS="manual: ${GOG_SH}"
LICENCES="all-rights-reserved GOG-EULA"
RESTRICT="fetch"
if exparam -b unzip ; then
DEPENDENCIES+="
build:
virtual/unzip
"
fi
WORK="${WORKBASE}/data/noarch"
# Exported 'pkg_nofetch'.
#
# Arguments: none
# Side-effects: prints einfo
gog_pkg_nofetch() {
einfo
einfo "Please buy & download \"${GOG_SH}\""
einfo "from:"
einfo " ${HOMEPAGE}"
einfo "and move/link it to \"${FETCHEDDIR}\""
einfo
}
# Exported 'pkg_setup'.
#
# Arguments: none
# Side-effects: makes sure /opt is allowed to be installed into
gog_pkg_setup() {
exdirectory --allow "$(dirname "${GOG_INSTALL_DIR}")"
}
# Exported 'src_unpack'.
#
# Arguments: none
# Side-effects: unpacks the data
gog_src_unpack() {
if exparam -b unzip ; then
unzip -qo "${FETCHEDDIR}/${GOG_SH}"
[[ $? -le 1 ]] || die "unpacking ${GOG_SH} failed!"
fi
}

View File

@ -1,140 +0,0 @@
-----BEGIN PGP SIGNED MESSAGE-----
ooooo ooo ooooooooo. ooooooo ooooo
`888' `8' `888 `Y88. `8888 d8'
888 8 888 .d88' Y888..8P
888 8 888ooo88P' `8888'
888 8 888 .8PY888.
`88. .8' 888 d8' `888b
`YbodP' o888o o888o o88888o
The Ultimate Packer for eXecutables
Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar
http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
http://www.nexus.hu/upx
http://upx.tsx.org
PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN
TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION.
ABSTRACT
========
UPX and UCL are copyrighted software distributed under the terms
of the GNU General Public License (hereinafter the "GPL").
The stub which is imbedded in each UPX compressed program is part
of UPX and UCL, and contains code that is under our copyright. The
terms of the GNU General Public License still apply as compressing
a program is a special form of linking with our stub.
As a special exception we grant the free usage of UPX for all
executables, including commercial programs.
See below for details and restrictions.
COPYRIGHT
=========
UPX and UCL are copyrighted software. All rights remain with the authors.
UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
UPX is Copyright (C) 1996-2000 Laszlo Molnar
UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
GNU GENERAL PUBLIC LICENSE
==========================
UPX and the UCL library are free software; you can redistribute them
and/or modify them under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
UPX and UCL are distributed in the hope that they will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES
============================================
The stub which is imbedded in each UPX compressed program is part
of UPX and UCL, and contains code that is under our copyright. The
terms of the GNU General Public License still apply as compressing
a program is a special form of linking with our stub.
Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special
permission to freely use and distribute all UPX compressed programs
(including commercial ones), subject to the following restrictions:
1. You must compress your program with a completely unmodified UPX
version; either with our precompiled version, or (at your option)
with a self compiled version of the unmodified UPX sources as
distributed by us.
2. This also implies that the UPX stub must be completely unmodfied, i.e.
the stub imbedded in your compressed program must be byte-identical
to the stub that is produced by the official unmodified UPX version.
3. The decompressor and any other code from the stub must exclusively get
used by the unmodified UPX stub for decompressing your program at
program startup. No portion of the stub may get read, copied,
called or otherwise get used or accessed by your program.
ANNOTATIONS
===========
- You can use a modified UPX version or modified UPX stub only for
programs that are compatible with the GNU General Public License.
- We grant you special permission to freely use and distribute all UPX
compressed programs. But any modification of the UPX stub (such as,
but not limited to, removing our copyright string or making your
program non-decompressible) will immediately revoke your right to
use and distribute a UPX compressed program.
- UPX is not a software protection tool; by requiring that you use
the unmodified UPX version for your proprietary programs we
make sure that any user can decompress your program. This protects
both you and your users as nobody can hide malicious code -
any program that cannot be decompressed is highly suspicious
by definition.
- You can integrate all or part of UPX and UCL into projects that
are compatible with the GNU GPL, but obviously you cannot grant
any special exceptions beyond the GPL for our code in your project.
- We want to actively support manufacturers of virus scanners and
similar security software. Please contact us if you would like to
incorporate parts of UPX or UCL into such a product.
Markus F.X.J. Oberhumer Laszlo Molnar
markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu
Linz, Austria, 25 Feb 2000
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv
iQCVAwUBOLaLS210fyLu8beJAQFYVAP/ShzENWKLTvedLCjZbDcwaBEHfUVcrGMI
wE7frMkbWT2zmkdv9hW90WmjMhOBu7yhUplvN8BKOtLiolEnZmLCYu8AGCwr5wBf
dfLoClxnzfTtgQv5axF1awp4RwCUH3hf4cDrOVqmAsWXKPHtm4hx96jF6L4oHhjx
OO03+ojZdO8=
=CS52
-----END PGP SIGNATURE-----

View File

@ -5,7 +5,6 @@ app-crypt
app-diagram
app-editors
app-ergonomics
app-misc
app-office
dev-cpp
dev-db
@ -15,12 +14,10 @@ dev-haskell
dev-java
dev-lang
dev-libs
dev-lua
dev-ocaml
dev-perl
dev-python
dev-ruby
dev-scm
dev-tcl
dev-util
games-action
@ -52,11 +49,9 @@ sci-mathematics
sys-apps
sys-boot
sys-process
virtual
voip
www-apps
www-servers
x11-apps
x11-misc
x11-themes
xfce-extra

View File

@ -11,7 +11,6 @@
games-rpg/flare[~scm]
games-rpg/valyriatear[~scm]
games-strategy/freesynd[~scm]
games-strategy/s25rttr[~scm]
media-gfx/pinta[~scm]
media-sound/pnmixer-rs[~scm]
media-sound/pnmixer[~scm]
@ -19,16 +18,12 @@
net-im/gajim-omemo[~scm]
net-im/lurch[~scm]
net-im/pidgin-opensteamworks[~scm]
net-im/purple-xmpp-http-upload[~scm]
net-misc/remmina[~scm]
net-misc/trickle[~scm]
sys-apps/fd[~scm]
sys-apps/lenovo-throttling-fix[~scm]
sys-apps/lsd[~scm]
x11-apps/terminator[~scm]
x11-misc/cbatticon[~scm]
x11-misc/fsearch[~scm]
x11-misc/polybar[~scm]
x11-wm/i3[~scm]
) [[
*author = [ Julian Ospald <hasufell@posteo.de> ]

View File

@ -0,0 +1,34 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require cmake [ api=2 ]
SUMMARY="A system information and benchmark tool for Linux systems"
HOMEPAGE="http://hardinfo.org/"
DOWNLOADS="https://dev.gentoo.org/~hasufell/distfiles/${PNV}.tar.xz"
LICENCES="GPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
dev-libs/glib:2
gnome-desktop/libsoup
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/pango
"
REMOTE_IDS="github:lpereira/${PN}"
src_prepare() {
edo sed -i \
-e '/PREFIX/s:@CMAKE_INSTALL_PREFIX@/share:@CMAKE_INSTALL_DATAROOTDIR@:' \
"${CMAKE_SOURCE}"/config.h.cmake
cmake_src_prepare
}

View File

@ -1,41 +0,0 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
# Snapshot until release work in progress: https://github.com/lpereira/hardinfo/issues/530
GITHUB_REVISION=f6a4f52868c2404f3ad58ef04e513ffe5fa090c7
require github [ user=lpereira ]
require cmake
require gtk-icon-cache
SUMMARY="A system information and benchmark tool for Linux systems"
HOMEPAGE="http://hardinfo.org/"
LICENCES="GPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
sys-devel/gettext
virtual/pkg-config
build+run:
core/json-glib
dev-libs/glib:2
gnome-desktop/libsoup
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/pango
suggestion:
app-benchmarks/sysbench [[ description = [ additional cpu/memory benchmarks ] ]]
sys-apps/fwupd [[ description = [ read firmware details ] ]]
sys-apps/udisks [[ description = [ read nvme storage information ] ]]
x11-dri/mesa-demos [[ description = [ show GLX info ] ]]
"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DHARDINFO_GTK3:BOOL=TRUE
)

View File

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
require openrc-service [ openrc_confd_files=[ "${FILES}"/openrc/confd ] ]
require setup-py [ import=setuptools test=pytest ]
require setup-py [ import=setuptools blacklist="3" ]
require pypi
SUMMARY="A system for controlling process state under UNIX"
@ -14,9 +14,10 @@ PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/meld3[python_abis:*(-)?]
test:
dev-python/pexpect[python_abis:*(-)?]
python_abis:2.7? ( dev-python/mock[python_abis:2.7] )
dev-python/mock[python_abis:*(-)?]
"
RESTRICT="test" # sydbox violations

View File

@ -1,33 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="Ultimate Packer for eXecutables (free version using UCL compression and not NRV)"
HOMEPAGE="http://upx.github.io/"
DOWNLOADS="https://github.com/upx/upx/releases/download/v${PV}/${PNV}-src.tar.xz"
LICENCES="GPL-2 UPX-exception"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS=""
DEPENDENCIES="
build:
dev-lang/perl
build+run:
dev-libs/ucl
sys-libs/zlib
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}/${PNV}-src
src_compile() {
emake CXXFLAGS_WERROR="" all
}
src_install() {
newbin src/upx.out upx
dodoc BUGS NEWS PROJECTS README* THANKS doc/*.txt doc/upx.html
doman doc/upx.1
}

View File

@ -1,32 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user='mattn' tag="v${PV}" ]
SUMMARY="General purpose Language Server"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
dev-lang/go
"
BUGS_TO="hasufell@posteo.de"
src_compile() {
export GOPATH="${WORK}"/.gopath
export GOBIN="${WORK}"/.bin
esandbox disable_net
edo go get ./...
edo go build
esandbox enable_net
}
src_install() {
newbin efm-langserver-${PV} efm-langserver
emagicdocs
}

View File

@ -1,55 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require qmake [ slot=5 ]
require github [ user="gottcode" ]
require gtk-icon-cache freedesktop-desktop
SUMMARY="Fullscreen and distraction-free word processor"
DESCRIPTION="
FocusWriter is a simple, distraction-free writing environment. It utilizes a hide-away interface that you access by moving your mouse to the edges of the screen, allowing the program to have a familiar look and feel to it while still getting out of the way so that you can immerse yourself in your work. Its available for Linux, Windows, and Mac OS X, and has been translated into many different languages.
"
HOMEPAGE="https://gottcode.org/${PN}/ ${HOMEPAGE}"
DOWNLOADS="https://gottcode.org/${PN}/${PNV}-src.tar.bz2"
LICENCES="GPL-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
app-spell/hunspell:=
sys-libs/zlib
x11-libs/qtbase:5
x11-libs/qtmultimedia:5
"
BUGS_TO="hasufell@posteo.de"
UPSTREAM_CHANGELOG="https://github.com/gottcode/${PN}/blob/master/ChangeLog"
DEFAULT_SRC_INSTALL_PARAMS=(
INSTALL_ROOT="${IMAGE}"
)
src_configure() {
EQMAKE_PARAMS=(
PREFIX=/usr
BINDIR=/usr/$(exhost --target)/bin
)
qmake_src_configure
}
pkg_postinst() {
gtk-icon-cache_pkg_postinst
freedesktop-desktop_pkg_postinst
}
pkg_postrm() {
gtk-icon-cache_pkg_postrm
freedesktop-desktop_pkg_postrm
}

View File

@ -1,50 +0,0 @@
Upstream: yes
Reason: https://github.com/daa84/neovim-gtk/issues/208
From c1dbe9b9549383b22807a2de9c76094ca9204f51 Mon Sep 17 00:00:00 2001
From: daa <daa@localhost.localdomain>
Date: Tue, 26 Nov 2019 19:25:42 +0300
Subject: [PATCH] Try to fix render issues due to changes in pango_1.44 (#208)
---
src/render/context.rs | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/src/render/context.rs b/src/render/context.rs
index 8168296..0c19437 100644
--- a/src/render/context.rs
+++ b/src/render/context.rs
@@ -111,21 +111,19 @@ pub struct CellMetrics {
impl CellMetrics {
fn new(font_metrics: &pango::FontMetrics, line_space: i32) -> Self {
+ let ascent = (f64::from(font_metrics.get_ascent()) / f64::from(pango::SCALE)).ceil();
+ let descent = (f64::from(font_metrics.get_descent()) / f64::from(pango::SCALE)).ceil();
+ let underline_position = (f64::from(font_metrics.get_underline_position()) / f64::from(pango::SCALE)).ceil();
CellMetrics {
pango_ascent: font_metrics.get_ascent(),
pango_descent: font_metrics.get_descent(),
pango_char_width: font_metrics.get_approximate_digit_width(),
- ascent: f64::from(font_metrics.get_ascent()) / f64::from(pango::SCALE),
- line_height: f64::from(font_metrics.get_ascent() + font_metrics.get_descent())
- / f64::from(pango::SCALE)
- + f64::from(line_space),
- char_width: f64::from(font_metrics.get_approximate_digit_width())
- / f64::from(pango::SCALE),
- underline_position: f64::from(
- font_metrics.get_ascent() - font_metrics.get_underline_position(),
- ) / f64::from(pango::SCALE),
- underline_thickness: f64::from(font_metrics.get_underline_thickness())
- / f64::from(pango::SCALE),
+ ascent,
+ line_height: ascent + descent + f64::from(line_space),
+ char_width: (f64::from(font_metrics.get_approximate_digit_width())
+ / f64::from(pango::SCALE)).ceil(),
+ underline_position: ascent - underline_position,
+ underline_thickness: f64::from(font_metrics.get_underline_thickness()) / f64::from(pango::SCALE),
}
}
--
2.30.0

View File

@ -11,13 +11,16 @@ DEPENDENCIES="
app-editors/neovim
dev-libs/glib:2
x11-libs/cairo
x11-libs/gtk+:3[>=3.22.0]
x11-libs/gtk+:3[>=3.10.0]
x11-libs/pango
run:
gnome-desktop/gsettings-desktop-schemas
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/Try-to-fix-render-issues-due-to-changes-in-pango_1.4.patch
)
src_install() {
ecargo_install
insinto /usr/share/applications
doins desktop/*.desktop
insinto /usr/share/icons/hicolor/128x128/apps
doins desktop/nvim-gtk.png
}

View File

@ -15,11 +15,24 @@ DEPENDENCIES="
x11-libs/cairo
x11-libs/gtk+:3[>=3.22.0]
x11-libs/pango[>=1.38]
run:
gnome-desktop/gsettings-desktop-schemas
"
src_unpack() {
cargo_src_unpack
}
src_install() {
ecargo_install
insinto /usr/share/nvim-gtk
doins -r runtime
insinto /usr/share/applications
doins desktop/*.desktop
insinto /usr/share/icons/hicolor/48x48/apps
doins desktop/org.daa.NeovimGtk.png
insinto /usr/share/icons/hicolor/scalable/apps
doins desktop/org.daa.NeovimGtk.svg
}

View File

@ -11,26 +11,11 @@ HOMEPAGE="https://github.com/daa84/neovim-gtk ${HOMEPAGE}"
LICENCES="GPL-3.0"
MYOPTIONS=""
src_install() {
ecargo_install
BUGS_TO="hasufell@posteo.de"
insinto /usr/share/nvim-gtk
doins -r runtime
insinto /usr/share/applications
doins desktop/*.desktop
local s
for s in 48 128; do
insinto /usr/share/icons/hicolor/${s}x${s}/apps
newins desktop/org.daa.NeovimGtk_${s}.png org.daa.NeovimGtk.png
done
insinto /usr/share/icons/hicolor/scalable/apps
newins desktop/org.daa.NeovimGtk.svg org.daa.NeovimGtk.png
insinto /usr/share/icons/hicolor/symbolic/apps
newins desktop/org.daa.NeovimGtk-symbolic.svg org.daa.NeovimGtk.png
src_prepare() {
default
export PREFIX=/usr
}
pkg_postinst() {

View File

@ -21,7 +21,6 @@ SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
gconf [[ description = [ compile with Gnome gconf2 support ] ]]
gnome [[ description = [ Add support for gnome panel ] ]]
pulseaudio
xfce4-panel [[ description = [ Add support for XFCE panel ] ]]
@ -36,26 +35,21 @@ DEPENDENCIES="
virtual/pkg-config
x11-proto/xorgproto
build+run:
dev-cpp/cairomm:1.0
dev-cpp/libsigc++:2
dev-libs/atk
dev-libs/glib:2
gnome-bindings/atkmm:1.6
gnome-bindings/glibmm:2.4
gnome-bindings/gtkmm:3
gnome-bindings/pangomm:1.4
gnome-desktop/gobject-introspection:=
media-libs/gstreamer:1.0[gobject-introspection]
media-plugins/gst-plugins-base:1.0[gobject-introspection]
media-plugins/gst-plugins-good:1.0
x11-libs/cairo
x11-libs/gdk-pixbuf:2.0
x11-libs/gtk+:3[gobject-introspection]
x11-libs/libSM
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXmu
x11-libs/libXt
x11-libs/libXtst
x11-libs/pango:0
gconf? ( gnome-platform/GConf:2 )
gnome? ( gnome-base/gnome-shell )
pulseaudio? ( media-sound/pulseaudio )
xfce4-panel? (
@ -71,6 +65,7 @@ DEFAULT_SRC_CONFIGURE_PARAMS=(
--disable-distribution
--enable-exercises
--disable-experimental
--disable-gnome2
--disable-static
--disable-xml
--disable-indicator
@ -82,7 +77,6 @@ DEFAULT_SRC_CONFIGURE_PARAMS=(
)
DEFAULT_SRC_CONFIGURE_OPTION_ENABLES=(
'gconf gconf'
'gnome gnome3'
'pulseaudio pulse'
'xfce4-panel xfce'

View File

@ -1,23 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user=rabite0 tag="v${PV}" ]
require cargo [ channel=nightly ]
SUMMARY="Ranger-like file browser written in rust"
LICENCES="WTFPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-libs/glib:2
media-libs/gstreamer
media-libs/libsixel
media-plugins/gst-plugins-base
"
BUGS_TO="hasufell@posteo.de"

View File

@ -1,20 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user=phiresky ] cargo
SUMMARY="rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc."
LICENCES="AGPL-3"
SLOT="0"
PLATFORMS="~amd64"
DEPENDENCIES="
run:
dev-rust/ripgrep
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}/ripgrep_all-${PV}

View File

@ -1,23 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="Haskell tldr client with support for viewing tldr pages"
HOMEPAGE="https://github.com/psibi/tldr-hs"
DOWNLOADS="https://github.com/psibi/tldr-hs/releases/download/v${PV}/tldr-linux-v${PV}.tar.gz"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS=""
DEPENDENCIES="
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_install() {
newbin tldr tldr-hs
}

View File

@ -20,7 +20,7 @@ DEPENDENCIES="
build:
dev-libs/boost
build+run:
dev-db/mysql
virtual/mysql
providers:libressl? ( dev-libs/libressl:= )
providers:openssl? ( dev-libs/openssl )
"

View File

@ -26,7 +26,6 @@ DEPENDENCIES="
dev-cpp/ctemplate
dev-cpp/libsigc++:2
dev-db/libiodbc
dev-db/mysql
dev-db/mysql-connector-c++[>=${PV}]
dev-db/vsqlite++
dev-java/antlr:4
@ -48,6 +47,7 @@ DEPENDENCIES="
gnome-platform/libglade:2
net-libs/libssh
sci-libs/gdal
virtual/mysql
x11-dri/mesa
x11-libs/cairo
x11-libs/gdk-pixbuf:2.0

View File

@ -1,15 +0,0 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/logrotate.mysql,v 1.1 2007/01/12 16:54:20 chtekk Exp $
/var/log/mysql/mysql.err /var/log/mysql/mysql.log /var/log/mysql/mysqld.err {
monthly
create 660 mysql mysql
notifempty
size 5M
sharedscripts
missingok
postrotate
/usr/bin/kill -HUP `cat /run/mysqld/mysqld.pid`
endscript
}

View File

@ -1,28 +0,0 @@
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

View File

@ -1,79 +0,0 @@
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
@@ -186,7 +186,8 @@ MACRO (MYSQL_CHECK_SSL)
OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
)
ENDIF()
- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
+ IF(HAVE_TLS1_3_VERSION)
ADD_DEFINITIONS(-DHAVE_TLSv13)
SET(HAVE_TLSv13 1)
IF(SOLARIS)
@@ -196,7 +197,7 @@ MACRO (MYSQL_CHECK_SSL)
IF(OPENSSL_INCLUDE_DIR AND
OPENSSL_LIBRARY AND
CRYPTO_LIBRARY AND
- OPENSSL_MAJOR_VERSION STREQUAL "1"
+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
)
SET(OPENSSL_FOUND TRUE)
ELSE()
--- a/sql/auth/sha2_password_common.cc
+++ b/sql/auth/sha2_password_common.cc
@@ -116,7 +116,8 @@ bool SHA256_digest::retrieve_digest(unsigned char *digest,
DBUG_RETURN(true);
}
m_ok= EVP_DigestFinal_ex(md_context, m_digest, NULL);
-#if defined(HAVE_WOLFSSL) || OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(HAVE_WOLFSSL) || OPENSSL_VERSION_NUMBER < 0x10100000L || \
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x02090000fL)
EVP_MD_CTX_cleanup(md_context);
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
EVP_MD_CTX_reset(md_context);
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -3419,7 +3419,7 @@ int warn_self_signed_ca()
static int init_ssl()
{
#ifdef HAVE_OPENSSL
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
CRYPTO_malloc_init();
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
OPENSSL_malloc_init();
--- a/vio/viosslfactories.c
+++ b/vio/viosslfactories.c
@@ -123,21 +123,19 @@ static DH *get_dh2048(void)
DH *dh;
if ((dh=DH_new()))
{
- BIGNUM *p= BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL);
- BIGNUM *g= BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL);
- if (!p || !g
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
- || !DH_set0_pqg(dh, p, NULL, g)
-#endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */
- ) {
- /* DH_free() will free 'p' and 'g' at once. */
+ BIGNUM *p = BN_bin2bn(dh2048_p,sizeof(dh2048_p), NULL);
+ BIGNUM *g = BN_bin2bn(dh2048_g,sizeof(dh2048_g), NULL);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ dh->p=p;
+ dh->g=g;
+ if (! dh->p || ! dh->g)
+#else
+ if (!DH_set0_pqg(dh, p, NULL, g))
+#endif
+ {
DH_free(dh);
- return NULL;
+ dh = NULL;
}
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
- dh->p= p;
- dh->g= g;
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
}
return(dh);
}

View File

@ -1,296 +0,0 @@
# Copyright 2008, 2009, 2010 Ingmar Vanhassel <ingmar@exherbo.org>
# Copyright 2011-2019 Timo Gurr <tgurr@exherbo.org>
# Distributed under the terms of the GNU General Public License v2
require cmake systemd-service
MYSQL_MAJOR_VERSION=$(ever range 1-2)
# In order to provide a stable code base, MySQL depends on a specific version of Boost.
# Currently only Boost.Geometry headers are used and boost is just required at build time.
BOOST_PV=1.59.0
# Miraculously works for MySQL >= 5.1 till at least 5.6
SPHINX_PV="2.2.9"
SUMMARY="A relational database management system (RDBMS)"
HOMEPAGE="https://www.mysql.com/"
DOWNLOADS="
mirror://mysql/Downloads/MySQL-$(ever range 1-2)/${PNV}.tar.gz
mirror://sourceforge/boost/boost_${BOOST_PV//./_}.tar.bz2
https://downloads.mysql.com/archives/${PN}-$(ever range 1-2)/${PNV}.tar.gz
sphinx? ( http://sphinxsearch.com/files/sphinx-${SPHINX_PV}-release.tar.gz )
"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_CHANGELOG="
https://dev.mysql.com/doc/relnotes/mysql/${MYSQL_MAJOR_VERSION}/en/news-$(ever replace_all '-').html [[ lang = [ en ] ]]
"
UPSTREAM_DOCUMENTATION="
https://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/index.html [[ lang = [ en ] ]]
https://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/postinstallation.html [[ lang = [ en ] note = [ Postinstallation documentation ] ]]
https://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/upgrading-downgrading.html [[ lang = [ en ] note = [ Upgrading or downgrading documentation ] ]]
"
UPSTREAM_RELEASE_NOTES="
https://dev.mysql.com/doc/relnotes/mysql/${MYSQL_MAJOR_VERSION}/en/ [[ lang = [ en ] ]]
"
LICENCES="GPL-2" # with-exceptions
SLOT="0"
MYOPTIONS="
debug
embedded-server [[ description = [ The embedded MySQL server library (DEPRECATED and slated for removal) ] ]]
memcached [[ description = [ Enable using memcached for InnoDb tables (don't know it? Don't enable it.) ] ]]
sphinx [[ description = [ Add the Sphinx Search Engine with fulltext search support (external engine) ] ]]
systemd
tcpd
( providers: libressl openssl ) [[ number-selected = exactly-one ]]
"
PLATFORMS="~amd64 ~x86"
DEPENDENCIES="
build:
virtual/pkg-config
systemd? ( sys-apps/systemd )
build+run:
group/${PN}
user/${PN}
app-admin/eclectic[>=2.0.18] [[ note = [ Split ld-*.path, @TARGET@ substitution ] ]]
app-arch/lz4
dev-libs/libaio
dev-libs/libedit
dev-libs/protobuf:=[>=2.6.1]
sys-libs/zlib[>=1.2.11]
providers:libressl? ( dev-libs/libressl:= )
providers:openssl? ( dev-libs/openssl )
tcpd? ( sys-apps/tcp-wrappers )
!dev-db/mariadb [[
description = [ MariaDB is a drop-in replacement for MySQL with same binary names ]
resolution = manual
]]
!dev-db/Percona-Server [[
description = [ Percona-Server is a drop-in replacement for MySQL with same binary names ]
resolution = manual
]]
recommendation:
memcached? ( net/memcached [[ description = [ The option provides the bundled memcached but you might want to use a stand-alone memcached as well ] ]] )
suggestion:
app-admin/logrotate [[ description = [ Use logrotate for rotating logs ] ]]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/mysql-5.7.29-fix-libressl-support.patch
)
# event_comment
# >= 5.6 needs libevent[>=1.4.12&<2.0] but
# a) we only have 2.0.22 at the time of writing
# b) lots of other stuff needs >=2.0
#
# Options:
#
# 1. Add libevent 1.4.x, imlement the dep as [>=1.4.12&<2.0] and watch the fun
# 2. Us the bundled libevent for MySQL to ensure it's always the right version.
# 3. Add libevent 1.4.x as SLOT=1.4, slot 2.0.x as SLOT=2.0, dep on the 1.4 slot here.
#
# I prefer 3., of course, but I went with 2. for now to be on the safe side.
#
# dev-libs/libevent[>=1.4.12]
pkg_pretend() {
# Sanity check when upgrading to a different x.y version of mysql
if [[ -z ${MYSQL_MAJOR_UPGRADE} ]] && has_version ${CATEGORY}/${PN} && \
! has_version ${CATEGORY}/${PN}[=${MYSQL_MAJOR_VERSION}*] ; then
ewarn "To install a different major version of MySQL, you have to dump/reload your database."
ewarn "When you've done this, please set 'MYSQL_MAJOR_UPGRADE=YesPlease', to continue the upgrade."
ewarn "For more information visit:"
ewarn "http://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/upgrading.html"
ewarn "http://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/downgrading.html"
die "Dump your databases before doing a major version upgrade of MySQL."
fi
if [[ -f "${ROOT}"/etc/tmpfiles.d/${PN}.conf ]] ; then
ewarn "The configuration file /etc/tmpfiles.d/${PN}.conf has been moved to"
ewarn "/usr/$(exhost --target)/lib/tmpfiles.d/${PN}.conf and can be safely removed after upgrade"
ewarn "if you did not make any changes to it."
fi
}
src_prepare() {
cmake_src_prepare
# https://bugs.mysql.com/bug.php?id=72353 (only relevant when using system libevent)
edo sed \
-e "s:\(LIBEVENT_LIBRAR\)IES:\1Y:" \
-i "${WORKBASE}"/${PNV}/cmake/libevent.cmake
# don't link statically against crypto libs
edo sed \
-e '/REVERSE CMAKE_FIND_LIBRARY_SUFFIXES/d' \
-i "${CMAKE_SOURCE}"/cmake/ssl.cmake
# disable the automagic LDAP SASL Authentication Plugin (client-side)
# if added it requires cyrus-sasl -DWITH_SASL:STRING=system and openldap and -DWITH_AUTHENTICATION_LDAP:BOOL=TRUE
edo sed \
-e '/ADD_SUBDIRECTORY(authentication_ldap)/d' \
-i "${CMAKE_SOURCE}"/libmysql/CMakeLists.txt
edo rm -rf "${WORKBASE}"/${PNV}/libmysql/authentication_ldap
option sphinx && edo ln -s "${WORKBASE}"/sphinx-${SPHINX_PV}-release/mysqlse "${WORKBASE}"/${PNV}/storage/sphinx
}
src_configure() {
local cmakeargs=(
-DBOOST_INCLUDE_DIR:PATH="${WORKBASE}"/boost_${BOOST_PV//./_}
-DBUILD_CONFIG:STRING=mysql_release
# The default layout STANDALONE breaks all the scripts.
-DINSTALL_LAYOUT:STRING="RPM"
-DCMAKE_DISABLE_FIND_PACKAGE_Git:BOOL=TRUE
-DCMAKE_INSTALL_PREFIX:PATH=/usr
-DCOMPILATION_COMMENT:STRING="Exherbo"
-DDEFAULT_CHARSET:STRING=utf8
-DDEFAULT_COLLATION:STRING=utf8_general_ci
-DFEATURE_SET:STRING=community
-DINSTALL_BINDIR:PATH=$(exhost --target)/bin
-DINSTALL_DOCDIR:PATH=share/doc/${PNVR}
-DINSTALL_DOCREADMEDIR:PATH=share/doc/${PNVR}
-DINSTALL_INCLUDEDIR:PATH=$(exhost --target)/include/mysql
-DINSTALL_INFODIR:PATH=share/mysql/info
-DINSTALL_LIBDIR:PATH=$(exhost --target)/lib/mysql
-DINSTALL_MANDIR:PATH=share/man
-DINSTALL_MYSQLSHAREDIR:PATH=share/mysql
# Empty value to not install the mysql-test directory
-DINSTALL_MYSQLTESTDIR:STRING=
-DINSTALL_PLUGINDIR:PATH=$(exhost --target)/lib/mysql/plugin
-DINSTALL_SBINDIR:PATH=$(exhost --target)/bin
-DINSTALL_SCRIPTDIR:PATH=$(exhost --target)/bin
-DINSTALL_SHAREDIR:PATH=share
-DINSTALL_SUPPORTFILESDIR:PATH=share/mysql
-DMYSQL_DATADIR:PATH=/var/lib/mysql
-DMYSQL_UNIX_ADDR:PATH=/run/mysqld/mysqld.sock
-DREPRODUCIBLE_BUILD:BOOL=FALSE
-DSYSCONFDIR:PATH=/etc/mysql
-DENABLE_DTRACE:BOOL=FALSE
-DENABLE_GCOV:BOOL=FALSE
-DENABLE_GPROF:BOOL=FALSE
-DENABLED_LOCAL_INFILE:BOOL=TRUE
-DENABLED_PROFILING:BOOL=TRUE
-DWITH_ASAN:BOOL=FALSE
-DWITH_ASAN_SCOPE:BOOL=FALSE
-DWITH_BOOST:PATH="${WORKBASE}"/boost_${BOOST_PV//./_}
-DWITH_CLIENT_PROTOCOL_TRACING:BOOL=FALSE
# Curl is only used with yassl
-DWITH_CURL:BOOL=FALSE
-DWITH_EDITLINE:STRING=system
-DWITH_EXTRA_CHARSETS:STRING=all
# Search for event_comment in this exlib for the reason for using bundled
-DWITH_LIBEVENT:STRING=bundled
-DWITH_LZ4:STRING=system
-DWITH_MSAN:BOOL=FALSE
-DWITH_NUMA:BOOL=FALSE
-DWITH_PROTOBUF:STRING=system
-DWITH_RAPID:BOOL=FALSE
-DWITH_SSL:STRING=/usr/$(exhost --target)
-DWITH_TEST_TRACE_PLUGIN:BOOL=FALSE
-DWITH_UBSAN:BOOL=FALSE
-DWITH_UNIT_TESTS:BOOL=TRUE
-DWITH_VALGRIND:BOOL=FALSE
-DWITH_ZLIB:STRING=system
# Default ENGINES for MySQL 5.6 community build (currently == xlarge) minus embedded
-DWITH_ARCHIVE_STORAGE_ENGINE:BOOL=TRUE
-DWITH_BLACKHOLE_STORAGE_ENGINE:BOOL=TRUE
-DWITH_FEDERATED_STORAGE_ENGINE:BOOL=TRUE
-DWITH_INNOBASE_STORAGE_ENGINE:BOOL=TRUE
)
if option debug ; then
cmakeargs+=(
-DCMAKE_BUILD_TYPE:STRING=Debug
)
else
cmakeargs+=(
-DCMAKE_BUILD_TYPE:STRING=Release
)
fi
if option memcached ; then
cmakeargs+=(
# Unfortunately, the InnoDb/memcached interface needs libevent 1.4.x
# as bundled with MySQL or trying to use memcached WILL make MySQL
# segfault immediately.
# (Keeping this comment even though the bundled lib is used anyway in
# order to remember *why* I changed it.)
-DWITH_LIBEVENT:STRING=bundled
-DWITH_INNODB_MEMCACHED:BOOL=TRUE
)
fi
if option sphinx ; then
cmakeargs+=(
-DWITH_SPHINX_STORAGE_ENGINE:BOOL=TRUE
)
fi
if option systemd ; then
cmakeargs+=(
-DWITH_SYSTEMD:BOOL=TRUE
-DSYSTEMD_PID_DIR:PATH=/run/mysqld
-DSYSTEMD_SERVICES_DIR:PATH=${SYSTEMDSYSTEMUNITDIR}
-DSYSTEMD_TMPFILES_DIR:PATH=/usr/$(exhost --target)/lib/tmpfiles.d
)
else
cmakeargs+=(
-DWITH_SYSTEMD:BOOL=FALSE
)
fi
ecmake \
"${cmakeargs[@]}" \
$(cmake_with debug DEBUG)\
$(cmake_with embedded-server EMBEDDED_SERVER)\
$(cmake_with tcpd LIBWRAP)
}
src_install() {
cmake_src_install
# Remove empty directories
edo rmdir "${IMAGE}"/usr/share/mysql/info
! option debug && edo rmdir "${IMAGE}"/usr/$(exhost --target)/lib/mysql/plugin/debug
keepdir /etc/mysql
insinto /etc/mysql
newins "${FILES}"/mysql-$(ever range 1-2)-my.cnf my.cnf
hereenvd 46mysql <<EOF
LDPATH=/usr/@TARGET@/lib/mysql
EOF
insinto /etc/logrotate.d
newins "${FILES}"/logrotate.mysql mysql
keepdir /var/lib/mysql-files
edo chown mysql:mysql "${IMAGE}"/var/lib/mysql-files
edo chmod 0750 "${IMAGE}"/var/lib/mysql-files
}
pkg_postinst() {
if option sphinx ; then
elog "In order to finalise your installation of the Sphinx Search Engine, you must install"
elog "it in MySQL using the following command as an administrative user:"
elog ""
elog "mysql> INSTALL PLUGIN SPHINX SONAME 'ha_sphinx.so';"
elog ""
fi
if option memcached ; then
elog "In order to finalise your installation of the memcached plugin, you must install"
elog "it in MySQL using the following command as an administrative user:"
elog ""
elog "mysql> install plugin daemon_memcached soname "libmemcached.so";"
elog ""
fi
}

View File

@ -23,6 +23,7 @@ LICENCES="wxWinLL-3 LGPL-2.1"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
( providers: ffmpeg libav ) [[ number-selected = exactly-one ]]
( providers: ijg-jpeg jpeg-turbo ) [[ number-selected = exactly-one ]]
"
@ -32,7 +33,6 @@ DEPENDENCIES="
build+run:
app-text/poppler[cairo]
dev-libs/glib:2
media/ffmpeg
media-libs/freetype:2
media-libs/giflib:=
media-libs/gstreamer:1.0
@ -49,8 +49,10 @@ DEPENDENCIES="
x11-libs/cairo
x11-libs/libX11
x11-libs/libXrandr
providers:ffmpeg? ( media/ffmpeg )
providers:ijg-jpeg? ( media-libs/jpeg:= )
providers:jpeg-turbo? ( media-libs/libjpeg-turbo )
providers:libav? ( media/libav )
"
CMAKE_SRC_CONFIGURE_PARAMS=(

View File

@ -3,7 +3,7 @@
SUMMARY="cabal-install is the command line interface to Cabal and hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
DOWNLOADS="https://downloads.haskell.org/~cabal/cabal-install-${PV}/cabal-install-${PV}-x86_64-unknown-linux.tar.xz"
DOWNLOADS="https://www.haskell.org/cabal/release/cabal-install-${PV}/cabal-install-${PV}-x86_64-unknown-linux.tar.gz"
LICENCES="BSD-3"
SLOT="0"
@ -12,13 +12,12 @@ MYOPTIONS=""
DEPENDENCIES="
run:
dev-lang/ghc-bin
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
!dev-haskell/cabal-install [[
description = [ Both install the same binary ]
resolution = uninstall-blocked-after
]]
recommendation:
virtual/GHC
"
BUGS_TO="hasufell@posteo.de"

View File

@ -1,37 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="cabal-install is the command line interface to Cabal and hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
DOWNLOADS="https://downloads.haskell.org/~debian/pool/main/c/cabal-install-2.4/cabal-install-2.4_2.4%2Bgit20180920.1.60e200d-6~deb9_amd64.deb"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
!dev-haskell/cabal-install [[
description = [ Both install the same binary ]
resolution = uninstall-blocked-after
]]
recommendation:
virtual/GHC
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_unpack() {
default
unpack ./data.tar.xz
}
src_install() {
dobin opt/cabal/2.4/bin/cabal
doman opt/cabal/2.4/share/man/man1/*
}

View File

@ -1,31 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="cabal-install is the command line interface to Cabal and hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
DOWNLOADS="https://downloads.haskell.org/~cabal/cabal-install-${PV}/cabal-install-${PV}-x86_64-unknown-linux.tar.xz"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
!dev-haskell/cabal-install [[
description = [ Both install the same binary ]
resolution = uninstall-blocked-after
]]
recommendation:
virtual/GHC
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_install() {
dobin cabal
}

View File

@ -1,31 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="cabal-install is the command line interface to Cabal and hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
DOWNLOADS="https://downloads.haskell.org/~cabal/cabal-install-${PV}/cabal-install-${PV}-x86_64-unknown-linux.tar.xz"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
!dev-haskell/cabal-install [[
description = [ Both install the same binary ]
resolution = uninstall-blocked-after
]]
recommendation:
virtual/GHC
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_install() {
dobin cabal
}

View File

@ -1,35 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="Painless installation of GHC toolchain"
HOMEPAGE="https://www.haskell.org/ghcup/ https://gitlab.haskell.org/haskell/ghcup-hs"
DOWNLOADS="
platform:amd64? ( https://downloads.haskell.org/~ghcup/${PV}/x86_64-linux-ghcup-${PV} )
platform:x86? ( https://downloads.haskell.org/~ghcup/${PV}/i386-linux-ghcup-${PV} )
"
LICENCES="LGPL-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
platform: amd64 x86
"
DEPENDENCIES="
recommendation:
net-misc/curl [[ description = [ GHCup uses curl by default for downloads ] ]]
suggestion:
net-misc/wget [[ description = [ GHCup can use wget instead of curl ] ]]
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_unpack() {
edo cp "${FETCHEDDIR}/${ARCHIVES}" ghcup
}
src_install() {
dobin ghcup
}

View File

@ -16,6 +16,7 @@ MYOPTIONS=""
DEPENDENCIES="
run:
dev-lang/ghc-bin
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
"

View File

@ -22,7 +22,7 @@ HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://hawkings.mailstation.de/~hasufell/ghc-${PV}-x86_64-unknown-linux.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-deb7-linux.tar.xz
"
PLATFORMS="-* ~amd64"
@ -46,10 +46,12 @@ RESTRICT="test"
DEPENDENCIES="
build:
dev-libs/libxslt[>=1.1.2]
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libedit
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
@ -59,7 +61,7 @@ DEPENDENCIES="
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-unknown-linux.tar.xz
unpack ghc-${PV}-x86_64-deb7-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
@ -67,6 +69,7 @@ src_unpack() {
src_prepare() {
# prepare pre-built ghc
# we are not building, shut up already
edo mkdir "${TEMP}"/bin
edo ln -s /usr/$(exhost --target)/bin/$(exhost --tool-prefix)ar "${TEMP}/bin/ar"
edo ln -s /usr/$(exhost --target)/bin/true "${TEMP}"/bin/strip
@ -161,19 +164,14 @@ src_install() {
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
)
done
}
src_test_expensive() {

View File

@ -1,179 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -46,10 +46,12 @@ RESTRICT="test"
DEPENDENCIES="
build:
dev-libs/libxslt[>=1.1.2]
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libedit
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
@ -159,19 +161,13 @@ src_install() {
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
)
done
}
src_test_expensive() {

View File

@ -1,179 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,184 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
BOOTSTRAP_PV="8.6.5"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${BOOTSTRAP_PV}/ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/${PNV}-no-alex.patch
)
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
edo mv ghc-${BOOTSTRAP_PV} "bootstrap-ghc"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORKBASE}/bootstrap-ghc"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
GHC=${TEMP}/ghc-pre/bin/ghc econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
BOOTSTRAP_PV="8.6.5"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${BOOTSTRAP_PV}/ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
edo mv ghc-${BOOTSTRAP_PV} "bootstrap-ghc"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORKBASE}/bootstrap-ghc"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
GHC=${TEMP}/ghc-pre/bin/ghc econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,188 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
BOOTSTRAP_PV="8.6.5"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
bootstrap? ( https://downloads.haskell.org/~ghc/${BOOTSTRAP_PV}/ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz )
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
bootstrap [[ description = [ Use official bindist for bootstrapping ] ]]
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
!bootstrap? (
dev-lang/GHC:${BOOTSTRAP_PV}
)
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
if option bootstrap ; then
unpack ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
edo mv ghc-${BOOTSTRAP_PV} "bootstrap-ghc"
fi
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
if option bootstrap ; then
# prepare pre-built ghc
edo pushd "${WORKBASE}/bootstrap-ghc"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
fi
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
GHC=ghc-${BOOTSTRAP_PV} econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,33 +0,0 @@
https://github.com/gentoo-haskell/gentoo-haskell/issues/959
From 144abba394c6a23eb877fbde727111a5e75b9d47 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Wed, 18 Sep 2019 23:50:20 -0400
Subject: [PATCH] configure: Don't depend upon alex in source dist build
This fixes #16860 by verifying that the generated sources don't already
exist before asserting that the `alex` executable was found. This
replicates the logic already used for `happy` in the case of `alex`.
---
aclocal.m4 | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -984,8 +984,11 @@ else
fi;
changequote([, ])dnl
])
-FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[3.1.7],
- [AC_MSG_ERROR([Alex version 3.1.7 or later is required to compile GHC.])])[]
+if test ! -f compiler/parser/Lexer.hs
+then
+ FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[3.1.7],
+ [AC_MSG_ERROR([Alex version 3.1.7 or later is required to compile GHC.])])[]
+fi
AlexVersion=$fptools_cv_alex_version;
AC_SUBST(AlexVersion)
])
--
2.23.0

View File

@ -1,62 +0,0 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="evhub" tag="v${PV}" ]
require pypi setup-py [ import=setuptools ]
SUMMARY="Simple, elegant, Pythonic functional programming"
DESCRIPTION="
Coconut is a functional programming language that compiles to Python. Since all
valid Python is valid Coconut, using Coconut will only extend and enhance what
you're already capable of in Python.
Why use Coconut? Coconut is built to be fundamentally useful. Coconut enhances
the repertoire of Python programmers to include the tools of modern functional
programming, in such a way that those tools are easy to use and immensely
powerful; that is, Coconut does to functional programming what Python did to
imperative programming. And Coconut code runs the same on any Python version,
making the Python 2/3 split a thing of the past.
"
HOMEPAGE="http://coconut-lang.org/ ${HOMEPAGE}"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
RESTRICT="test" # missing deps
# python setup.py egg_info
# cat coconut.egg-info/requires.txt
# we ignore upper bounds of:
# * cPyparsing
# * mypy
# * prompt_toolkit[python_abis:2.7]
DEPENDENCIES="
build+run:
dev-python/Pygments[>=2.3.1][python_abis:*(-)?]
dev-python/prompt_toolkit[>=1.0][python_abis:*(-)?]
dev-python/cPyparsing[>=2.4.5.0.1.1][python_abis:*(-)?]
python_abis:2.7? (
dev-python/futures[>=3.3][python_abis:2.7]
dev-python/prompt_toolkit[>=1.0][python_abis:*(-)?]
)
suggestion:
dev-python/mypy[>=0.540] [[ description = [ coconut can run mypy on the compiled python code ] ]]
dev-python/psutil[>=5] [[ description = [ improves use of the --jobs flag ] ]]
dev-python/watchdog[>=0.9] [[ description = [ enables use of the --watch flag ] ]]
python_abis:2.7? (
dev-python/trollius[>=2.2] [[ description = [ enables use of the asyncio library on Python 2 versions by making use of trollius ] ]]
)
"
BUGS_TO="hasufell@posteo.de"
prepare_one_multibuild() {
python_prepare_one_multibuild
# https://github.com/evhub/coconut/issues/527
edo iconv -c -f utf-8 -t ascii README.rst > "${TEMP}"/README.rst
edo $(exhost --tool-prefix)strings "${TEMP}"/README.rst > README.rst
}

View File

@ -20,10 +20,6 @@ DEPENDENCIES="
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before

View File

@ -20,10 +20,6 @@ DEPENDENCIES="
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -20,10 +20,6 @@ DEPENDENCIES="
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -36,7 +36,7 @@ DEPENDENCIES="
sys-libs/zlib
test:
dev-lang/perl:*
dev-lang/python:*[>=3]
dev-lang/python[>=3]
"
CMAKE_SRC_CONFIGURE_PARAMS=(

View File

@ -1,134 +0,0 @@
From: Nathan Phillip Brink <binki@gentoo.org>
Subject: Respect CCASFLAGS (which often defaults to CFLAGS). Fixes
compilation for portage-multilib users.
diff -r c090ed619e90 configure.ac
--- a/configure.ac Sun Jun 26 16:00:09 2011 -0400
+++ b/configure.ac Sun Jun 26 20:52:01 2011 -0400
@@ -47,14 +47,12 @@
AC_CANONICAL_TARGET
AM_MAINTAINER_MODE
-if test -z "$ac_abs_top_srcdir"; then
- _AC_SRCPATHS(.)
-fi
if test -r .Conf.settings1; then
. ./.Conf.settings1
fi
AC_PROG_CC
+AM_PROG_AS
AC_PROG_CPP
mfx_PROG_CPPFLAGS
AC_C_CONST
@@ -84,13 +82,13 @@
if test "X$enable_asm" != Xno; then
mfx_compile_S='${CC-cc} -c conftest.S 1>&AS_MESSAGE_LOG_FD'
cat > conftest.S <<EOF
-#include "$ac_abs_top_srcdir/asm/i386/src_gas/crc_asm.S"
+#include "$srcdir/asm/i386/src_gas/crc_asm.S"
EOF
enable_asm=no
if AC_TRY_EVAL(mfx_compile_S); then
if AC_TRY_COMMAND([test -s conftest.$ac_objext]); then
enable_asm=yes
- UCL_ASM_VPATH=":$ac_abs_top_srcdir/asm/i386/src_gas"
+ UCL_ASM_VPATH=":\$(top_srcdir)/asm/i386/src_gas"
fi
fi
if test "X$enable_asm" = Xno; then
@@ -160,11 +158,6 @@
AC_SUBST(UCL_CFLAGS)
AC_SUBST(UCL_EXTRA_CFLAGS)
-configure_CPPFLAGS=$CPPFLAGS
-configure_CFLAGS=$CFLAGS
-AC_SUBST(configure_CPPFLAGS)
-AC_SUBST(configure_CFLAGS)
-
AC_CONFIG_FILES([Makefile examples/Makefile include/Makefile include/ucl/Makefile src/Makefile])
AC_OUTPUT
diff -r c090ed619e90 src/Makefile.am
--- a/src/Makefile.am Sun Jun 26 16:00:09 2011 -0400
+++ b/src/Makefile.am Sun Jun 26 20:52:01 2011 -0400
@@ -4,11 +4,10 @@
#
VPATH = @srcdir@@UCL_ASM_VPATH@
-SUFFIXES = .S
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-CPPFLAGS = $(UCL_CPPFLAGS) $(configure_CPPFLAGS) $(UCL_EXTRA_CPPFLAGS)
-CFLAGS = $(UCL_CFLAGS) $(configure_CFLAGS) $(UCL_EXTRA_CFLAGS)
+AM_CPPFLAGS = $(UCL_CPPFLAGS) $(UCL_EXTRA_CPPFLAGS)
+AM_CFLAGS = $(UCL_CFLAGS) $(UCL_EXTRA_CFLAGS)
lib_LTLIBRARIES = libucl.la
@@ -16,51 +15,37 @@
libucl_la_SOURCES = \
alloc.c \
+ getbit.h \
n2b_99.c n2b_d.c n2b_ds.c n2b_to.c \
n2d_99.c n2d_d.c n2d_ds.c n2d_to.c \
n2e_99.c n2e_d.c n2e_ds.c n2e_to.c \
+ ucl_conf.h \
ucl_crc.c \
ucl_init.c \
- ucl_ptr.c \
+ ucl_ptr.c ucl_ptr.h \
ucl_str.c \
ucl_util.c
EXTRA_DIST = \
- getbit.h \
n2_99.ch \
- ucl_conf.h \
ucl_dll.ch \
ucl_mchw.ch \
- ucl_ptr.h \
ucl_swd.ch
-libucl_la_LIBADD = $(UCL_ASM_OBJECTS)
-libucl_la_DEPENDENCIES = $(libucl_la_LIBADD)
-
-
# /***********************************************************************
# // assembler support
# ************************************************************************/
if UCL_USE_ASM
-
-UCL_ASM_OBJECTS = \
- cpuid.lo crc_asm.lo crcs_asm.lo rdtsc.lo rdtsca.lo \
- n2b_d_f1.lo n2b_d_f2.lo n2b_d_f3.lo n2b_d_f4.lo n2b_d_f5.lo n2b_d_f6.lo \
- n2b_d_n1.lo n2b_d_n2.lo n2b_d_n3.lo n2b_d_n4.lo n2b_d_n5.lo n2b_d_n6.lo \
- n2b_d_s1.lo n2b_d_s2.lo n2b_d_s3.lo n2b_d_s4.lo n2b_d_s5.lo n2b_d_s6.lo \
- n2d_d_f1.lo n2d_d_f2.lo n2d_d_f3.lo n2d_d_f4.lo n2d_d_f5.lo n2d_d_f6.lo \
- n2d_d_n1.lo n2d_d_n2.lo n2d_d_n3.lo n2d_d_n4.lo n2d_d_n5.lo n2d_d_n6.lo \
- n2d_d_s1.lo n2d_d_s2.lo n2d_d_s3.lo n2d_d_s4.lo n2d_d_s5.lo n2d_d_s6.lo \
- n2e_d_f1.lo n2e_d_f2.lo n2e_d_f3.lo n2e_d_f4.lo n2e_d_f5.lo n2e_d_f6.lo \
- n2e_d_n1.lo n2e_d_n2.lo n2e_d_n3.lo n2e_d_n4.lo n2e_d_n5.lo n2e_d_n6.lo \
- n2e_d_s1.lo n2e_d_s2.lo n2e_d_s3.lo n2e_d_s4.lo n2e_d_s5.lo n2e_d_s6.lo
-
-.S.o:
- $(CC) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(CC) -c $<
-
+libucl_la_SOURCES += \
+ cpuid.S crc_asm.S crcs_asm.S rdtsc.S rdtsca.S \
+ n2b_d_f1.S n2b_d_f2.S n2b_d_f3.S n2b_d_f4.S n2b_d_f5.S n2b_d_f6.S \
+ n2b_d_n1.S n2b_d_n2.S n2b_d_n3.S n2b_d_n4.S n2b_d_n5.S n2b_d_n6.S \
+ n2b_d_s1.S n2b_d_s2.S n2b_d_s3.S n2b_d_s4.S n2b_d_s5.S n2b_d_s6.S \
+ n2d_d_f1.S n2d_d_f2.S n2d_d_f3.S n2d_d_f4.S n2d_d_f5.S n2d_d_f6.S \
+ n2d_d_n1.S n2d_d_n2.S n2d_d_n3.S n2d_d_n4.S n2d_d_n5.S n2d_d_n6.S \
+ n2d_d_s1.S n2d_d_s2.S n2d_d_s3.S n2d_d_s4.S n2d_d_s5.S n2d_d_s6.S \
+ n2e_d_f1.S n2e_d_f2.S n2e_d_f3.S n2e_d_f4.S n2e_d_f5.S n2e_d_f6.S \
+ n2e_d_n1.S n2e_d_n2.S n2e_d_n3.S n2e_d_n4.S n2e_d_n5.S n2e_d_n6.S \
+ n2e_d_s1.S n2e_d_s2.S n2e_d_s3.S n2e_d_s4.S n2e_d_s5.S n2e_d_s6.S
endif
-

View File

@ -1,173 +0,0 @@
port ucl to the x32 ABI
https://bugs.gentoo.org/426334
--- a/acc/acc_arch.h
+++ b/acc/acc_arch.h
@@ -19,6 +19,7 @@
* ACC_ARCH_UNKNOWN [default]
* ACC_ARCH_ALPHA
* ACC_ARCH_AMD64 aka x86-64 or ia32e
+ * ACC_ARCH_X32 aka x86-32
* ACC_ARCH_C166
* ACC_ARCH_IA16 Intel Architecture (8088, 8086, 80186, 80286)
* ACC_ARCH_IA32 Intel Architecture (80386+)
@@ -42,8 +43,13 @@
# define ACC_ARCH_IA16 1
# define ACC_INFO_ARCH "ia16"
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
+# ifdef __ILP32__
+# define ACC_ARCH_X32 1
+# define ACC_INFO_ARCH "x32"
+# else
# define ACC_ARCH_AMD64 1
# define ACC_INFO_ARCH "amd64"
+# endif
#elif (UINT_MAX <= ACC_0xffffL) && defined(__AVR__)
# define ACC_ARCH_AVR 1
# define ACC_INFO_ARCH "avr"
@@ -92,7 +98,7 @@
#endif
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA16 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA16 || ACC_ARCH_IA32 || ACC_ARCH_X32)
# define ACC_ENDIAN_LITTLE_ENDIAN 1
# define ACC_INFO_ENDIAN "little-endian"
#elif (ACC_ARCH_M68K)
--- a/acc/acc_chk.ch
+++ b/acc/acc_chk.ch
@@ -407,7 +407,7 @@
#if (ACC_ARCH_IA16)
ACCCHK_ASSERT(sizeof(size_t) == 2)
ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#elif (ACC_ARCH_IA32 || ACC_ARCH_M68K)
+#elif (ACC_ARCH_IA32 || ACC_ARCH_M68K || ACC_ARCH_X32)
ACCCHK_ASSERT(sizeof(size_t) == 4)
ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
--- a/acc/acc_lib.h
+++ b/acc/acc_lib.h
@@ -423,13 +423,13 @@ ACCLIB_EXTERN(void, acc_set_le64) (acc_hvoid_p, acc_uint64l_t);
#endif
/* inline versions */
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
# define ACC_GET_LE16(p) (* (const unsigned short *) (p))
# define ACC_GET_LE32(p) (* (const acc_uint32e_t *) (p))
# define ACC_SET_LE16(p,v) (* (unsigned short *) (p) = (unsigned short) (v))
# define ACC_SET_LE32(p,v) (* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v))
#endif
-#if (ACC_ARCH_AMD64)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
# define ACC_GET_LE64(p) (* (const acc_uint64l_t *) (p))
# define ACC_SET_LE64(p,v) (* (acc_uint64l_t *) (p) = (acc_uint64l_t) (v))
#endif
--- a/acc/acclib/bele.ch
+++ b/acc/acclib/bele.ch
@@ -71,7 +71,7 @@ ACCLIB_PUBLIC(void, acc_set_be32) (acc_hvoid_p p, acc_uint32l_t v)
ACCLIB_PUBLIC(unsigned, acc_get_le16) (const acc_hvoid_p p)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
return (* (const unsigned short *) (p));
#else
const acc_hbyte_p b = (const acc_hbyte_p) p;
@@ -87,7 +87,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le24) (const acc_hvoid_p p)
ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p p)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
return (* (const acc_uint32e_t *) (p));
#else
const acc_hbyte_p b = (const acc_hbyte_p) p;
@@ -102,7 +102,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p p)
ACCLIB_PUBLIC(void, acc_set_le16) (acc_hvoid_p p, unsigned v)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
(* (unsigned short *) (p) = (unsigned short) (v));
#else
acc_hbyte_p b = (acc_hbyte_p) p;
@@ -121,7 +121,7 @@ ACCLIB_PUBLIC(void, acc_set_le24) (acc_hvoid_p p, acc_uint32l_t v)
ACCLIB_PUBLIC(void, acc_set_le32) (acc_hvoid_p p, acc_uint32l_t v)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
(* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v));
#else
acc_hbyte_p b = (acc_hbyte_p) p;
@@ -191,7 +191,7 @@ ACCLIB_PUBLIC(void, acc_set_be64) (acc_hvoid_p p, acc_uint64l_t v)
ACCLIB_PUBLIC(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p p)
{
-#if (ACC_ARCH_AMD64)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
return (* (const acc_uint64l_t *) (p));
#elif (ACC_ARCH_IA32)
const acc_uint32e_t* b = (const acc_uint32e_t*) p;
@@ -211,7 +211,7 @@ ACCLIB_PUBLIC(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p p)
ACCLIB_PUBLIC(void, acc_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
{
-#if (ACC_ARCH_AMD64)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
(* (acc_uint64l_t *) (p)) = v;
#elif (ACC_ARCH_IA32)
(((acc_uint32e_t *)(p))[0] = (acc_uint32e_t) (v >> 0));
--- a/acc/acclib/perfctr.ch
+++ b/acc/acclib/perfctr.ch
@@ -63,7 +63,7 @@ ACCLIB_PUBLIC(int, acc_perfctr_open) (acc_perfctr_handle_p h)
break; /* no working TSC available */
case PERFCTR_X86_AMD_K7:
#endif
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
case PERFCTR_X86_AMD_K8:
case PERFCTR_X86_AMD_K8C:
cc->tsc_on = 1; cc->nractrs = 2;
--- a/acc/acclib/rdtsc.ch
+++ b/acc/acclib/rdtsc.ch
@@ -21,7 +21,7 @@
#if defined(acc_int32e_t)
-#if ((ACC_ARCH_AMD64 || ACC_ARCH_IA32) && ACC_CC_GNUC)
+#if ((ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && ACC_CC_GNUC)
# if (ACC_CC_GNUC >= 0x020000ul)
# define __ACCLIB_RDTSC_REGS : : "r" (t) : "cc", "memory", "eax", "edx"
# else
@@ -38,7 +38,7 @@
ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32) && defined(__ACCLIB_RDTSC_REGS)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && defined(__ACCLIB_RDTSC_REGS)
__asm__ __volatile__(
"clc \n" ".byte 0x0f, 0x31\n"
"movl %%eax,(%0)\n" "movl %%edx,4(%0)\n"
@@ -73,7 +73,7 @@ ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
ACCLIB_PUBLIC(int, acc_tsc_read_add) (acc_uint32e_t* t)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32) && defined(__ACCLIB_RDTSC_REGS)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && defined(__ACCLIB_RDTSC_REGS)
__asm__ __volatile__(
"clc \n" ".byte 0x0f, 0x31\n"
"addl %%eax,(%0)\n" "adcl $0,%%edx\n" "addl %%edx,4(%0)\n"
--- a/src/ucl_conf.h
+++ b/src/ucl_conf.h
@@ -172,7 +172,7 @@
#undef UA_SET2
#undef UA_GET4
#undef UA_SET4
-#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
# define UA_GET2(p) (* (const ucl_ushortp) (p))
# define UA_SET2(p) (* (ucl_ushortp) (p))
# define UA_GET4(p) (* (const acc_uint32e_t *) (p))

View File

@ -1,35 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.16 ] ]
SUMMARY="The UCL Compression Library"
HOMEPAGE="http://www.oberhumer.com/opensource/ucl/"
DOWNLOADS="http://www.oberhumer.com/opensource/ucl/download/${PNV}.tar.gz"
LICENCES="GPL-2"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS=""
DEPENDENCIES="
"
BUGS_TO="hasufell@posteo.de"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/${PNV}-CFLAGS.patch
"${FILES}"/${PNV}-x32.patch
)
src_prepare() {
edo sed -n -e '/^AC_DEFUN.*mfx_/,/^])#$/p' aclocal.m4 > acinclude.m4
edo sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac
autotools_src_prepare
}
src_configure() {
econf --enable-shared CFLAGS="${CFLAGS} -std=c90"
}

View File

@ -1,35 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PV=${PV/_p/-}
WORK=${WORKBASE}/${PN}-${MY_PV}
require cmake [ api=2 ]
SUMMARY="Bare libuv bindings for lua"
HOMEPAGE="https://github.com/luvit/luv"
DOWNLOADS="https://github.com/luvit/luv/releases/download/${MY_PV}/luv-${MY_PV}.tar.gz"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
dev-lang/LuaJIT
dev-libs/libuv
"
BUGS_TO="hasufell@posteo"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DBUILD_MODULE=OFF
-DBUILD_SHARED_LIBS=ON
-DLUA_BUILD_TYPE=System
-DWITH_LUA_ENGINE="LuaJIT"
-DWITH_SHARED_LIBUV=ON
)

View File

@ -1,35 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PV=${PV/_p/-}
WORK=${WORKBASE}/${PN}-${MY_PV}
require cmake [ api=2 ]
SUMMARY="Bare libuv bindings for lua"
HOMEPAGE="https://github.com/luvit/luv"
DOWNLOADS="https://github.com/luvit/luv/releases/download/${MY_PV}/luv-${MY_PV}.tar.gz"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
dev-lang/LuaJIT
dev-libs/libuv
"
BUGS_TO="hasufell@posteo"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DBUILD_MODULE=OFF
-DBUILD_SHARED_LIBS=ON
-DLUA_BUILD_TYPE=System
-DWITH_LUA_ENGINE="LuaJIT"
-DWITH_SHARED_LIBUV=ON
)

View File

@ -1,12 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=setuptools ]
SUMMARY="Cython implementation of PyParsing created for use in Coconut and Undebt"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""

View File

@ -1,23 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PNV="${PN}-${PV/_p/.post}"
require setup-py [ import=setuptools work="${MY_PNV}" ]
require pypi
SUMMARY="Easily include Font Awesome icons in your python scripts"
LICENCES="Apache-2.0 OFL-1.1"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
prepare_one_multibuild() {
edo sed -i \
-e '/pypandoc/d' \
setup.py
setup-py_prepare_one_multibuild
}

View File

@ -23,29 +23,35 @@ MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-python/typed-ast[>=1.4.0&<1.5.0][python_abis:*(-)?]
dev-python/mypy_extensions[>=0.4.3&<0.5.0][python_abis:*(-)?]
dev-python/typing-extensions[>=3.7.4][python_abis:*(-)?]
dev-python/typed-ast[>=1.1.0&<1.2.0][python_abis:*(-)?]
python_abis:3.4? (
dev-python/typing[>=3.5.3][python_abis:3.4]
)
test:
dev-python/attrs[>=18.0][python_abis:*(-)?]
dev-python/flake8[>=3.7][python_abis:*(-)?]
dev-python/lxml[>=4.2.4][python_abis:*(-)?]
dev-python/psutil[>=4.0][python_abis:*(-)?]
dev-python/py[>=1.5.2][python_abis:*(-)?]
dev-python/pytest[>=4.4][python_abis:*(-)?]
dev-python/pytest[>=3.0][python_abis:*(-)?]
dev-python/pytest-cov[>=2.4.0][python_abis:*(-)?]
dev-python/pytest-xdist[>=1.22][python_abis:*(-)?]
dev-python/pytest-xdist[>=1.18][python_abis:*(-)?]
dev-python/virtualenv[python_abis:*(-)?]
suggestion:
dev-python/psutil[>=4.0][python_abis:*(-)?] [[
dev-python/psutil[>=5.4.0&<5.5.0][python_abis:*(-)?] [[
description = [ Show memory stats in 'dmypy status -v' ] ]]
"
BUGS_TO="hasufell@posteo.de"
# Require unpackaged: flake8-bugbear, flake8-pyi, pytest 4.4+
# Require upstream release with https://github.com/python/mypy/pull/5191 included
# Require unpackaged: flake8-bugbear, flake8-pyi
RESTRICT="test"
prepare_one_multibuild() {
edo sed -i \
-e "/target = /s|lib|$(exhost --target)/lib|" \
setup.py
setup-py_prepare_one_multibuild
}
test_one_multibuild() {
PYTHONPATH="${PWD}" edo ${PYTHON} -B runtests.py -x lint
}

View File

@ -1,15 +0,0 @@
# Copyright 2018 Alexander Kapshuna <kapsh@kap.sh>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=setuptools ]
SUMMARY="Experimental type system extensions for programs checked with the mypy typechecker"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
"

View File

@ -7,7 +7,7 @@ SUMMARY="OAuth 2.0 client library"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~armv7 ~armv8 ~x86"
PLATFORMS="~amd64 ~armv7 ~x86"
MYOPTIONS=""
DEPENDENCIES="

View File

@ -16,6 +16,7 @@ DEPENDENCIES="
build+run:
dev-python/six[>=1.9.0][python_abis:*(-)?]
dev-python/wcwidth[python_abis:*(-)?]
"
BUGS_TO="hasufell@posteo.de"

View File

@ -1,7 +0,0 @@
# Copyright 2012-2016 Wulf C. Krueger <philantrop@exherbo.org>
# Distributed under the terms of the GNU General Public License v2
require psutil
PLATFORMS="~amd64 ~x86"

View File

@ -1,24 +0,0 @@
# Copyright 2012-2016 Wulf C. Krueger <philantrop@exherbo.org>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=setuptools test=nose blacklist="none" ]
SUMMARY="Cross-platform lib for process and system monitoring in Python"
BUGS_TO="philantrop@exherbo.org"
LICENCES="BSD-3"
SLOT="0"
MYOPTIONS=""
# The tests are broken; they try to mess with mount points, devices & other funny
# stuff. (last checked: 5.0.0)
RESTRICT="test"
DEPENDENCIES="
build+run:
python_abis:2.7? (
dev-python/enum34[python_abis:2.7]
)
"

View File

@ -1,8 +1,7 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-application" tag="${PV}" ]
require pypi setup-py [ import=distutils blacklist="3" ]
SUMMARY="Basic building blocks for python applications"
HOMEPAGE="http://ag-projects.com/"

View File

@ -0,0 +1,15 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Tue Sep 8 01:22:40 UTC 2015
Subject: fix compatibility with libressl
Upstream: not yet
--- a/eventlib/green/socket.py
+++ b/eventlib/green/socket.py
@@ -89,7 +89,6 @@
else:
# some constants the SSL module exports but not in __all__
from eventlib.green.ssl import (RAND_add,
- RAND_egd,
RAND_status,
SSL_ERROR_ZERO_RETURN,
SSL_ERROR_WANT_READ,

View File

@ -1,11 +1,11 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="AGProjects" pn="python3-eventlib" tag="${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require setup-py [ import=distutils blacklist="3" ]
SUMMARY="Coroutine-based networking library"
HOMEPAGE="http://sipsimpleclient.org"
DOWNLOADS="http://download.ag-projects.com/SipClient/${PNV}.tar.gz"
LICENCES="MIT"
SLOT="0"
@ -16,6 +16,8 @@ MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/greenlet[python_abis:*(-)?]
net-twisted/Twisted[python_abis:*(-)?]
net-twisted/TwistedCore[python_abis:*(-)?]
"
DEFAULT_SRC_PREPARE_PATCHES=( "${FILES}/${PNV}-libressl.patch" )

View File

@ -1,8 +1,7 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-gnutls" tag="${PV}" ]
require pypi setup-py [ import=distutils blacklist="3" ]
SUMMARY="High level object oriented wrapper around libgnutls"
HOMEPAGE="http://ag-projects.com/"

View File

@ -0,0 +1,23 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="3" ]
SUMMARY="Client library for MSRP protocol and its relay extension"
HOMEPAGE="http://sipsimpleclient.org"
DOWNLOADS="http://download.ag-projects.com/MSRP/${PNV}.tar.gz"
LICENCES="LGPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/python-application[python_abis:*(-)?]
dev-python/python-eventlib[python_abis:*(-)?]
dev-python/python-gnutls[>=3.0.0][python_abis:*(-)?]
net-twisted/TwistedCore[python_abis:*(-)?]
net-twisted/TwistedNames[python_abis:*(-)?]
"

View File

@ -1,22 +0,0 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="AGProjects" pn="python3-msrplib" tag="${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
SUMMARY="Client library for MSRP protocol and its relay extension"
HOMEPAGE="http://sipsimpleclient.org"
LICENCES="LGPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
dev-python/python-eventlib[>=0.3.0][python_abis:*(-)?]
dev-python/python-gnutls[>=3.1.8][python_abis:*(-)?]
net-twisted/Twisted[python_abis:*(-)?]
"

View File

@ -1,8 +1,7 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-otr" tag="${PV}" ]
require pypi setup-py [ import=distutils blacklist="3" ]
SUMMARY="Off-The-Record Messaging protocol implementation for Python"
HOMEPAGE="https://github.com/AGProjects/python-otr"
@ -14,9 +13,10 @@ MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-python/cryptography[>=1.6][python_abis:*(-)?]
dev-python/cryptography[python_abis:*(-)?]
dev-python/enum34[python_abis:*(-)?]
dev-python/gmpy2[python_abis:*(-)?]
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
dev-python/python-application[python_abis:*(-)?]
dev-python/zopeinterface[python_abis:*(-)?]
net-libs/libotr
"

View File

@ -1,36 +0,0 @@
Upstream: Yes
Source: https://github.com/AGProjects/python3-sipsimple/commit/d75b225e566cae2c998504dc5cd76bb30226cb43
From d75b225e566cae2c998504dc5cd76bb30226cb43 Mon Sep 17 00:00:00 2001
From: Adrian Georgescu <ag@ag-projects.com>
Date: Tue, 16 Mar 2021 13:54:03 +0000
Subject: [PATCH] Decode uri.transport if is bytes in DNS Lookup
---
sipsimple/lookup.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/sipsimple/lookup.py b/sipsimple/lookup.py
index 8ce86a92..27672da7 100644
--- a/sipsimple/lookup.py
+++ b/sipsimple/lookup.py
@@ -255,8 +255,9 @@ def lookup_sip_proxy(self, uri, supported_transports, timeout=3.0, lifetime=15.0
try:
# If the host part of the URI is an IP address, we will not do any lookup
+ transport = uri.transport.decode() if isinstance(uri.transport, bytes) else uri.transport
if re.match("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", uri.host.decode()):
- transport = 'tls' if uri.secure else uri.transport.lower()
+ transport = 'tls' if uri.secure else transport.lower()
if transport not in supported_transports:
raise DNSLookupError("IP transport %s dictated by URI is not supported" % transport)
port = uri.port or (5061 if transport=='tls' else 5060)
@@ -270,7 +271,7 @@ def lookup_sip_proxy(self, uri, supported_transports, timeout=3.0, lifetime=15.0
# If the port is specified in the URI, we will only do an A lookup
if uri.port:
- transport = 'tls' if uri.secure else uri.transport.lower()
+ transport = 'tls' if uri.secure else transport.lower()
if transport not in supported_transports:
raise DNSLookupError("Host transport %s dictated by URI is not supported" % transport)
addresses = self._lookup_a_records(resolver, [uri.host.decode()], log_context=log_context)

View File

@ -0,0 +1,45 @@
From f786808a36deab01f301905ecdae27e6e17ce197 Mon Sep 17 00:00:00 2001
From: Charles Barcza <info@blackpanther.hu>
Date: Mon, 13 Mar 2017 14:46:34 +0100
Subject: [PATCH 1/2] Build fix on Linux
Upstream: submitted, https://github.com/AGProjects/python-sipsimple/pull/1
---
setup_pjsip.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/setup_pjsip.py b/setup_pjsip.py
index 4760e64..a43533d 100644
--- a/setup_pjsip.py
+++ b/setup_pjsip.py
@@ -157,6 +157,7 @@ def configure_pjsip(self):
if sys_platform == "win32":
cmd = ["bash", "configure"]
else:
+ os.system("chmod +x "+ self.build_dir +"/*configure")
cmd = ["./configure"]
cmd.extend(["--disable-g7221-codec"])
ffmpeg_path = env.get("SIPSIMPLE_FFMPEG_PATH", None)
From b80cf7ee9d4c32b4e068eb74492f31ccab1296b2 Mon Sep 17 00:00:00 2001
From: Charles Barcza <info@blackpanther.hu>
Date: Mon, 13 Mar 2017 14:55:29 +0100
Subject: [PATCH 2/2] Build fix on Linux
---
setup_pjsip.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup_pjsip.py b/setup_pjsip.py
index a43533d..5f1b27b 100644
--- a/setup_pjsip.py
+++ b/setup_pjsip.py
@@ -157,7 +157,7 @@ def configure_pjsip(self):
if sys_platform == "win32":
cmd = ["bash", "configure"]
else:
- os.system("chmod +x "+ self.build_dir +"/*configure")
+ os.system("chmod +x "+ self.build_dir +"/*configure")
cmd = ["./configure"]
cmd.extend(["--disable-g7221-codec"])
ffmpeg_path = env.get("SIPSIMPLE_FFMPEG_PATH", None)

View File

@ -0,0 +1,30 @@
Upstream: https://github.com/AGProjects/python-sipsimple/pull/3
From f96d1e8637f817dc76188742d2e0e1b7b2776581 Mon Sep 17 00:00:00 2001
From: Benjamin Lamowski <benjamin@lamowski.net>
Date: Tue, 22 May 2018 10:11:06 -0400
Subject: [PATCH] pjsip: fix compilation error with FFmpeg 2.8.14
---
deps/pjsip/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/deps/pjsip/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c b/deps/pjsip/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c
index cf859408..097479f6 100644
--- a/deps/pjsip/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c
+++ b/deps/pjsip/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c
@@ -1684,12 +1684,12 @@ static pj_status_t ffmpeg_codec_decode_whole(pjmedia_vid_codec *codec,
avpacket.size = (int)input->size;
/* ffmpeg warns:
- * - input buffer padding, at least FF_INPUT_BUFFER_PADDING_SIZE
+ * - input buffer padding, at least AV_INPUT_BUFFER_PADDING_SIZE
* - null terminated
* Normally, encoded buffer is allocated more than needed, so lets just
* bzero the input buffer end/pad, hope it will be just fine.
*/
- pj_bzero(avpacket.data+avpacket.size, FF_INPUT_BUFFER_PADDING_SIZE);
+ pj_bzero(avpacket.data+avpacket.size, AV_INPUT_BUFFER_PADDING_SIZE);
output->bit_info = 0;
output->timestamp = input->timestamp;

View File

@ -0,0 +1,173 @@
Upstream: https://trac.pjsip.org/repos/changeset/5405/pjproject/trunk/pjmedia/src/pjmedia-codec/openh264.cpp
Reason: Support for OpenH264 v1.6.0 codec
Index: deps/pjsip/pjmedia/src/pjmedia-codec/openh264.cpp
===================================================================
--- deps/pjsip/pjmedia/src/pjmedia-codec/openh264.cpp (revision 5045)
+++ deps/pjsip/pjmedia/src/pjmedia-codec/openh264.cpp (revision 5405)
@@ -164,6 +164,6 @@
struct SLayerPEncCtx
{
- pj_int32_t iDLayerQp;
- SSliceConfig sSliceCfg;
+ pj_int32_t iDLayerQp;
+ SSliceArgument sSliceArgument;
};
@@ -471,16 +471,17 @@
/* Init encoder parameters */
- pj_bzero(&eprm, sizeof(eprm));
- eprm.iInputCsp = videoFormatI420;
+ oh264_data->enc->GetDefaultParams (&eprm);
+ eprm.iComplexityMode = MEDIUM_COMPLEXITY;
eprm.sSpatialLayers[0].uiProfileIdc = PRO_BASELINE;
eprm.iPicWidth = param->enc_fmt.det.vid.size.w;
+ eprm.iUsageType = CAMERA_VIDEO_REAL_TIME;
eprm.iPicHeight = param->enc_fmt.det.vid.size.h;
eprm.fMaxFrameRate = (param->enc_fmt.det.vid.fps.num *
1.0f /
param->enc_fmt.det.vid.fps.denum);
- eprm.uiFrameToBeCoded = (unsigned int) -1;
eprm.iTemporalLayerNum = 1;
eprm.uiIntraPeriod = 0; /* I-Frame interval in frames */
- eprm.bEnableSpsPpsIdAddition = (oh264_data->whole? false : true);
+ eprm.eSpsPpsIdStrategy = (oh264_data->whole ? CONSTANT_ID :
+ INCREASING_ID);
eprm.bEnableFrameCroppingFlag = true;
eprm.iLoopFilterDisableIdc = 0;
@@ -505,16 +506,17 @@
pj_bzero(&elayer_ctx, sizeof (SLayerPEncCtx));
elayer_ctx.iDLayerQp = 24;
- elayer_ctx.sSliceCfg.uiSliceMode = (oh264_data->whole ?
- SM_SINGLE_SLICE : SM_DYN_SLICE);
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceSizeConstraint = param->enc_mtu;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceNum = 1;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[0] = 960;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[1] = 0;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[2] = 0;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[3] = 0;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[4] = 0;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[5] = 0;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[6] = 0;
- elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[7] = 0;
+ elayer_ctx.sSliceArgument.uiSliceMode = (oh264_data->whole ?
+ SM_SINGLE_SLICE :
+ SM_SIZELIMITED_SLICE);
+ elayer_ctx.sSliceArgument.uiSliceSizeConstraint = param->enc_mtu;
+ elayer_ctx.sSliceArgument.uiSliceNum = 1;
+ elayer_ctx.sSliceArgument.uiSliceMbNum[0] = 960;
+ elayer_ctx.sSliceArgument.uiSliceMbNum[1] = 0;
+ elayer_ctx.sSliceArgument.uiSliceMbNum[2] = 0;
+ elayer_ctx.sSliceArgument.uiSliceMbNum[3] = 0;
+ elayer_ctx.sSliceArgument.uiSliceMbNum[4] = 0;
+ elayer_ctx.sSliceArgument.uiSliceMbNum[5] = 0;
+ elayer_ctx.sSliceArgument.uiSliceMbNum[6] = 0;
+ elayer_ctx.sSliceArgument.uiSliceMbNum[7] = 0;
elayer->iVideoWidth = eprm.iPicWidth;
@@ -524,12 +526,12 @@
elayer->iSpatialBitrate = eprm.iTargetBitrate;
elayer->iDLayerQp = elayer_ctx.iDLayerQp;
- elayer->sSliceCfg.uiSliceMode = elayer_ctx.sSliceCfg.uiSliceMode;
-
- memcpy( &elayer->sSliceCfg,
- &elayer_ctx.sSliceCfg,
- sizeof (SSliceConfig));
- memcpy( &elayer->sSliceCfg.sSliceArgument.uiSliceMbNum[0],
- &elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum[0],
- sizeof (elayer_ctx.sSliceCfg.sSliceArgument.uiSliceMbNum));
+ elayer->sSliceArgument.uiSliceMode = elayer_ctx.sSliceArgument.uiSliceMode;
+
+ memcpy ( &elayer->sSliceArgument,
+ &elayer_ctx.sSliceArgument,
+ sizeof (SSliceArgument));
+ memcpy ( &elayer->sSliceArgument.uiSliceMbNum[0],
+ &elayer_ctx.sSliceArgument.uiSliceMbNum[0],
+ sizeof (elayer_ctx.sSliceArgument.uiSliceMbNum));
/* Init input picture */
@@ -553,11 +555,18 @@
}
+ int videoFormat = videoFormatI420;
+ rc = oh264_data->enc->SetOption (ENCODER_OPTION_DATAFORMAT, &videoFormat);
+ if (rc != cmResultSuccess) {
+ PJ_LOG(4,(THIS_FILE, "SVC encoder SetOption videoFormatI420 failed, "
+ "rc=%d", rc));
+ return PJMEDIA_CODEC_EFAILED;
+ }
+
/*
* Decoder
*/
sDecParam.sVideoProperty.size = sizeof (sDecParam.sVideoProperty);
- sDecParam.iOutputColorFormat = videoFormatI420;
sDecParam.uiTargetDqLayer = (pj_uint8_t) - 1;
- sDecParam.uiEcActiveFlag = 1;
+ sDecParam.eEcActiveIdc = ERROR_CON_SLICE_COPY;
sDecParam.sVideoProperty.eVideoBsType = VIDEO_BITSTREAM_DEFAULT;
@@ -575,12 +584,4 @@
PJ_LOG(4,(THIS_FILE, "Decoder initialization failed, rc=%d", rc));
return PJMEDIA_CODEC_EFAILED;
- }
-
- pj_int32_t color_fmt = videoFormatI420;
- rc = oh264_data->dec->SetOption (DECODER_OPTION_DATAFORMAT, &color_fmt);
- if (rc) {
- PJ_LOG(4,(THIS_FILE,
- "Warning: SetOption(DECODER_OPTION_DATAFORMAT) failed, rc=%d",
- rc));
}
@@ -662,5 +663,5 @@
}
- if (oh264_data->bsi.eOutputFrameType == videoFrameTypeSkip) {
+ if (oh264_data->bsi.eFrameType == videoFrameTypeSkip) {
output->size = 0;
output->type = PJMEDIA_FRAME_TYPE_NONE;
@@ -682,11 +683,11 @@
/* Find which layer with biggest payload */
oh264_data->ilayer = 0;
- payload_size = oh264_data->bsi.sLayerInfo[0].iNalLengthInByte[0];
+ payload_size = oh264_data->bsi.sLayerInfo[0].pNalLengthInByte[0];
for (i=0; i < (unsigned)oh264_data->bsi.iLayerNum; ++i) {
unsigned j;
pLayerBsInfo = &oh264_data->bsi.sLayerInfo[i];
for (j=0; j < (unsigned)pLayerBsInfo->iNalCount; ++j) {
- if (pLayerBsInfo->iNalLengthInByte[j] > (int)payload_size) {
- payload_size = pLayerBsInfo->iNalLengthInByte[j];
+ if (pLayerBsInfo->pNalLengthInByte[j] > (int)payload_size) {
+ payload_size = pLayerBsInfo->pNalLengthInByte[j];
oh264_data->ilayer = i;
}
@@ -704,5 +705,5 @@
payload_size = 0;
for (int inal = pLayerBsInfo->iNalCount - 1; inal >= 0; --inal) {
- payload_size += pLayerBsInfo->iNalLengthInByte[inal];
+ payload_size += pLayerBsInfo->pNalLengthInByte[inal];
}
@@ -761,5 +762,5 @@
output->size = payload_len;
- if (oh264_data->bsi.eOutputFrameType == videoFrameTypeIDR) {
+ if (oh264_data->bsi.eFrameType == videoFrameTypeIDR) {
output->bit_info |= PJMEDIA_VID_FRM_KEYFRAME;
}
@@ -783,5 +784,5 @@
oh264_data->enc_frame_size = 0;
for (int inal = pLayerBsInfo->iNalCount - 1; inal >= 0; --inal) {
- oh264_data->enc_frame_size += pLayerBsInfo->iNalLengthInByte[inal];
+ oh264_data->enc_frame_size += pLayerBsInfo->pNalLengthInByte[inal];
}
@@ -810,5 +811,5 @@
output->size = payload_len;
- if (oh264_data->bsi.eOutputFrameType == videoFrameTypeIDR) {
+ if (oh264_data->bsi.eFrameType == videoFrameTypeIDR) {
output->bit_info |= PJMEDIA_VID_FRM_KEYFRAME;
}

View File

@ -1,22 +0,0 @@
From f786808a36deab01f301905ecdae27e6e17ce197 Mon Sep 17 00:00:00 2001
From: Charles Barcza <info@blackpanther.hu>
Date: Mon, 13 Mar 2017 14:46:34 +0100
Subject: [PATCH 1/2] Build fix on Linux
Upstream: submitted, https://github.com/AGProjects/python-sipsimple/pull/1
---
setup_pjsip.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/setup_pjsip.py b/setup_pjsip.py
index 7dd6c13ff..82e7bd1ca 100644
--- a/setup_pjsip.py
+++ b/setup_pjsip.py
@@ -160,6 +160,7 @@ class PJSIP_build_ext(build_ext):
if sys_platform == "win32":
cmd = ["bash", "configure"]
else:
+ os.system("chmod +x "+ self.build_dir +"/*configure")
cmd = ["./configure"]
cmd.extend(["--disable-g7221-codec"])
ffmpeg_path = env.get("SIPSIMPLE_FFMPEG_PATH", None)

View File

@ -1,25 +0,0 @@
Upstream: Submitted
Source: https://github.com/AGProjects/python-sipsimple/pull/10
From 052f7301a0c906c4117dff5453222f12e768bb49 Mon Sep 17 00:00:00 2001
From: Tom Briden <tom@decompile.me.uk>
Date: Thu, 23 Jul 2020 19:22:30 +0100
Subject: [PATCH] Fix multiple definition of `PJ_ATTR_MAY_ALIAS' with GCC-10
---
deps/pjsip/pjlib/include/pj/list.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deps/pjsip/pjlib/include/pj/list.h b/deps/pjsip/pjlib/include/pj/list.h
index 880f58d4..50510fe3 100644
--- a/deps/pjsip/pjlib/include/pj/list.h
+++ b/deps/pjsip/pjlib/include/pj/list.h
@@ -71,7 +71,7 @@ PJ_BEGIN_DECL
* must initialize the 'value' member to an appropriate value (typically the
* owner itself).
*/
-struct pj_list
+extern struct pj_list
{
PJ_DECL_LIST_MEMBER(void);
} PJ_ATTR_MAY_ALIAS; /* may_alias avoids warning with gcc-4.4 -Wall -O2 */

View File

@ -1,8 +1,8 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="AGProjects" pn="python3-sipsimple" tag="${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" tag="release-${PV}" ]
require setup-py [ import=distutils blacklist="3" work="${PN}-release-${PV}" ]
SUMMARY="SIP SIMPLE client SDK is a Software Development Kit"
HOMEPAGE="http://sipsimpleclient.org ${HOMEPAGE}"
@ -12,6 +12,7 @@ SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
( providers: libressl openssl ) [[ number-selected = exactly-one ]]
( providers: ffmpeg libav ) [[ number-selected = exactly-one ]]
"
DEPENDENCIES="
@ -20,34 +21,35 @@ DEPENDENCIES="
virtual/pkg-config
build+run:
dev-db/sqlite:3
dev-libs/icu:=
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
media/ffmpeg[h264]
dev-python/python-application[>=2.0.0][python_abis:*(-)?]
media-libs/libvpx
media-libs/v4l-utils
sys-apps/util-linux
sys-sound/alsa-lib
providers:ffmpeg? ( media/ffmpeg[h264] )
providers:libav? ( media/libav[h264] )
providers:libressl? ( dev-libs/libressl:= )
providers:openssl? ( dev-libs/openssl )
run:
dev-python/dnspython[python_abis:*(-)?]
dev-python/greenlet[python_abis:*(-)?]
dev-python/lxml[python_abis:*(-)?]
dev-python/python-cjson[python_abis:*(-)?]
dev-python/python-dateutil[python_abis:*(-)?]
dev-python/python-eventlib[>=0.3.0][python_abis:*(-)?]
dev-python/python-gnutls[>=3.1.8][python_abis:*(-)?]
dev-python/python-msrplib[>=0.21.0][python_abis:*(-)?]
dev-python/python-otr[>=2.0.1][python_abis:*(-)?]
dev-python/python-xcaplib[>=2.0.0][python_abis:*(-)?]
dev-python/python-eventlib[python_abis:*(-)?]
dev-python/python-gnutls[python_abis:*(-)?]
dev-python/python-msrplib[>=0.19.0][python_abis:*(-)?]
dev-python/python-otr[>=1.2.0][python_abis:*(-)?]
dev-python/python-xcaplib[python_abis:*(-)?]
dev-python/zopeinterface[python_abis:*(-)?]
media-libs/x264[-10bit]
net-twisted/Twisted[python_abis:*(-)?]
net-twisted/TwistedCore[python_abis:*(-)?]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/${PN}-fix-build.patch
"${FILES}"/${PN}-gcc10-fix.patch
"${FILES}"/d75b225e566cae2c998504dc5cd76bb30226cb43.patch
"${FILES}"/${PNV}-fix-build.patch
"${FILES}"/${PNV}-pjmedia-ffmpeg-fix.patch
-p0 "${FILES}"/${PNV}-pjmedia-openh264-1.6.patch
)
src_compile() {

View File

@ -1,70 +0,0 @@
Upstream: Yes
Source: https://github.com/AGProjects/python3-xcaplib/commit/066759cf355b152375767bee4c3858dc0b8087e4
From 066759cf355b152375767bee4c3858dc0b8087e4 Mon Sep 17 00:00:00 2001
From: Worawut Boonpeang <worawut@ag-projects.com>
Date: Fri, 4 Dec 2020 13:49:54 +0000
Subject: [PATCH] xcaplib (Python3) work with eventlib
---
xcaplib/green.py | 4 +++-
xcaplib/xcapclient.py | 10 ++++++++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/xcaplib/green.py b/xcaplib/green.py
index 237d9d8..d01ee11 100644
--- a/xcaplib/green.py
+++ b/xcaplib/green.py
@@ -2,6 +2,8 @@
from eventlib.green import socket, ssl, httplib, urllib2
from xcaplib import httpclient
from xcaplib import client
+import urllib
+import http
class HTTPConnection(httplib.HTTPConnection):
@@ -22,7 +24,7 @@ def http_open(self, req):
class HTTPSHandler(urllib.request.HTTPSHandler):
def https_open(self, req):
- return self.do_open(HTTPSConnection, req)
+ return self.do_open(http.client.HTTPSConnection, req)
class HTTPClient(httpclient.HTTPClient):
diff --git a/xcaplib/xcapclient.py b/xcaplib/xcapclient.py
index cd409df..384c237 100755
--- a/xcaplib/xcapclient.py
+++ b/xcaplib/xcapclient.py
@@ -129,6 +129,8 @@ def setup_parser_request(parser):
parser.add_option('--etag', help="perform a conditional operation", metavar='ETAG')
parser.add_option('--add-header', dest='headers',
action='append', default=[], help=optparse.SUPPRESS_HELP)
+ parser.add_option("--eventlib", dest='eventlib_enable',
+ help="Enables non-blocking mode using eventlib library")
parser.add_option("-i", dest='input_filename',
help="source file for the PUT request; default is <stdin>")
parser.add_option("-o", dest='output_filename',
@@ -366,7 +368,11 @@ def update_options_from_config(options):
setattr(options, key, value)
def parse_args():
- argv = sys.argv[1:]
+ argv = None
+ if "--eventlib" in sys.argv[1:]:
+ argv = sys.argv[2:]
+ else:
+ argv = sys.argv[1:]
if not argv:
sys.exit('Type %s -h for help.' % sys.argv[0])
@@ -496,7 +502,7 @@ def get_exit_code(http_error):
return 3
def main():
- if sys.argv[0].endswith('-eventlib'):
+ if "--eventlib" in sys.argv[1:]:
from xcaplib.green import XCAPClient as client_class
else:
client_class = XCAPClient

View File

@ -1,11 +1,11 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-xcaplib" tag="${PV}" ]
require setup-py [ import=distutils blacklist="3" ]
SUMMARY="Python library for managing XML documents on XCAP server"
HOMEPAGE="http://sipsimpleclient.org"
DOWNLOADS="http://download.ag-projects.com/XCAP/${PNV}.tar.gz"
LICENCES="GPL-2"
SLOT="0"
@ -15,10 +15,6 @@ MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/lxml[python_abis:*(-)?]
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
dev-python/python-application[python_abis:*(-)?]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/${PN}-work-with-eventlib.patch
)

View File

@ -0,0 +1,18 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=setuptools ]
SUMMARY="Pure-Python RSA implementation"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~armv7 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-python/pyasn1[python_abis:*(-)?]
"

View File

@ -1,12 +1,9 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PN="typed_ast"
MY_PNV="${MY_PN}-${PV}"
require github [ user="python" project="${MY_PN}" ]
require pypi [ pnv="${MY_PNV}" ]
require setup-py [ import=setuptools blacklist=2 work="${MY_PNV}" ]
require github [ user="python" project="typed_ast" ]
require pypi
require setup-py [ import=setuptools blacklist=2 ]
SUMMARY="A fork of Python 2 and 3 ast modules with type comment support"
DESCRIPTION="
@ -15,6 +12,7 @@ typed_ast is a Python 3 package that provides a Python 2.7 and Python 3 parser s
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
BUGS_TO="hasufell@posteo.de"

View File

@ -0,0 +1,19 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="python" project="typed_ast" ]
require pypi
require setup-py [ import=setuptools blacklist=2 ]
SUMMARY="A fork of Python 2 and 3 ast modules with type comment support"
DESCRIPTION="
typed_ast is a Python 3 package that provides a Python 2.7 and Python 3 parser similar to the standard ast library. Unlike ast, the parsers in typed_ast include PEP 484 type comments and are independent of the version of Python under which they are run. The typed_ast parsers produce the standard Python AST (plus type comments), and are both fast and correct, as they are based on the CPython 2.7 and 3.6 parser
"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
BUGS_TO="hasufell@posteo.de"

View File

@ -1,7 +0,0 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require typed-ast
PLATFORMS="~amd64 ~x86"

View File

@ -0,0 +1,15 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="jquast" ]
require pypi setup-py [ import=setuptools test=pytest ]
SUMMARY="Measures number of Terminal column cells of wide-character codes"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
BUGS_TO="hasufell@posteo.de"

View File

@ -1,35 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user=mhagger tag="v${PV}" ]
require python [ has_bin=true multibuild=false blacklist=2 ]
require bash-completion
SUMMARY="Incremental merge for git"
LICENCES="GPL-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-scm/git
"
BUGS_TO="hasufell@posteo.de"
src_prepare() {
default
# fix shebang
edo sed -i \
-e "s:/usr/bin/env python.*$:/usr/$(exhost --target)/bin/env ${PYTHON##*/}:" \
${PN}
}
src_install() {
dodoc README.rst
dobashcompletion ${PN}.bashcomplete
dobin ${PN}
}

View File

@ -1,19 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require cargo [ channel=stable ]
require github [ user=MitMaro tag="${PV}" ]
SUMMARY="Native cross platform full feature terminal based sequence editor for git interactive rebase"
HOMEPAGE="https://crates.io/crates/git-interactive-rebase-tool ${HOMEPAGE}"
LICENCES="GPL-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
"
BUGS_TO="hasufell@posteo.de"

View File

@ -1,44 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion zsh-completion
require github [ user='cli' pn='cli' tag="v${PV}" ]
SUMMARY="Github CLI"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS=""
DEPENDENCIES="
build:
dev-lang/go
run:
dev-scm/git
"
BUGS_TO="hasufell@posteo.de"
src_compile() {
export GOPATH="${WORK}"/.gopath
export GOBIN="${WORK}"/.bin
unset LDFLAGS
esandbox disable_net
emake
emake manpages
edo go run ./cmd/gh completion -s bash > gh.bash-completion
edo go run ./cmd/gh completion -s zsh > gh.zsh-completion
esandbox enable_net
}
src_install() {
dobin bin/gh
emagicdocs
doman share/man/man?/gh*.?
dobashcompletion gh.bash-completion
dozshcompletion gh.zsh-completion
}

View File

@ -1,21 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require cargo [ channel=stable ]
require github [ user="extrawurst" tag="v${PV}" ]
SUMMARY="Blazing fast terminal-ui for git written in rust"
HOMEPAGE="https://crates.io/crates/gitui ${HOMEPAGE}"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-scm/libgit2
"
BUGS_TO="hasufell@posteo.de"

View File

@ -1,19 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require cargo [ channel=stable ]
require github [ user="dan-t" tag="v${PV}" ]
SUMMARY="Create ctags/etags for a cargo project"
HOMEPAGE="https://crates.io/crates/rusty-tags ${HOMEPAGE}"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
"
BUGS_TO="hasufell@posteo.de"

View File

@ -2,41 +2,38 @@
# Distributed under the terms of the GNU General Public License v2
require alternatives github [ user='universal-ctags' pn='ctags' ]
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.16 ] ]
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="Universal ctags"
LICENCES="GPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
json [[ description = [ Add support for JSON format as output ] ]]
seccomp [[ description = [ Add support for libseccomp library ] ]]
xml
yaml [[ description = [ Add support for YAML format as output ] ]]
"
MYOPTIONS="json xml yaml"
DEPENDENCIES="
build+run:
json? ( dev-libs/jansson )
seccomp? ( sys-libs/libseccomp )
xml? ( dev-libs/libxml2:2.0[>=2.7.7] )
xml? ( dev-libs/libxml2:2.0 )
yaml? ( dev-libs/libyaml )
build:
dev-python/docutils
virtual/pkg-config
"
# input-encoding-option and output-encoding-option fail as of 20-03-2020
RESTRICT="test"
DEFAULT_SRC_CONFIGURE_OPTION_ENABLES=(
'json'
'seccomp'
'xml'
'yaml'
)
src_prepare() {
# autogen.sh usually runs this
edo ./misc/dist-test-cases > makefiles/test-cases.mak
autotools_src_prepare
}
src_install() {
default

View File

@ -0,0 +1,100 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require desktop-utils
SUMMARY="Faster Than Light: A spaceship simulation real-time roguelike-like game"
HP="http://www.ftlgame.com"
GOG_HP="https://www.gog.com/game/faster_than_light"
HOMEPAGE="${HP} ${GOG_HP}"
FTL_SH="gog_ftl_advanced_edition_2.0.0.2.sh"
FTL_TAR="FTL.${PV}.tar.gz"
DOWNLOADS="
gog? ( manual: ${FTL_SH} )
!gog? ( manual: ${FTL_TAR} )
"
LICENCES="all-rights-reserved Boost-1.0 free-noncomm MIT FTL LGPL-2.1 ZLIB libpng"
SLOT="0"
PLATFORMS="-* ~amd64 ~x86"
MYOPTIONS="
gog [[ description = [ Use the gog advanced edition version ] ]]
( platform: amd64 x86 )
"
RESTRICT="fetch"
DEPENDENCIES="
run:
media-libs/DevIL
media-libs/SDL:0[X]
media-libs/freetype:2
sys-libs/zlib
x11-dri/mesa
build:
virtual/unzip
"
WORK="${WORKBASE}"
pkg_nofetch() {
local hp=${HP}
optionq gog && hp=${GOG_HP}
local file=${FTL_TAR}
optionq gog && file=${FTL_SH}
einfo "Please buy & download ${file} from:"
einfo " ${hp}"
einfo "and move it to ${FETCHEDDIR}"
einfo
}
pkg_setup() {
exdirectory --allow /opt
}
src_unpack() {
if optionq gog ; then
unzip -qo "${FETCHEDDIR}/${FTL_SH}"
[[ $? -le 1 ]] || die "unpacking ${FTL_SH} failed!"
else
default
fi
}
src_install() {
local dir=/opt/${PN}
local arch=$(option platform:amd64 "amd64" "x86")
local datadir=${WORKBASE}/${PN}/data
optionq gog && datadir=${WORKBASE}/data/noarch/game/data
local htmldir=${WORKBASE}/${PN}
optionq gog && htmldir=${WORKBASE}/data/noarch/docs
insinto "${dir}"
doins -r "${datadir}"/resources
exeinto "${dir}"/bin
doexe "${datadir}"/${arch}/bin/${PN}
exeinto "${dir}"/lib
doexe "${datadir}"/${arch}/lib/*.so*
herebin ${PN} << EOF
#!/bin/sh
cd "/opt/FTL"
if [ "\${LD_LIBRARY_PATH+set}" = "set" ] ; then
export LD_LIBRARY_PATH="\${LD_LIBRARY_PATH}:/opt/FTL/lib"
else
export LD_LIBRARY_PATH="/opt/FTL/lib"
fi
exec /opt/FTL/bin/FTL "\$@"
EOF
install_desktop_entry "Name=Faster Than Light" \
"Icon=/usr/share/pixmaps/FTL.bmp"
insinto /usr/share/pixmaps
newins "${datadir}"/resources/exe_icon.bmp FTL.bmp
insinto /usr/share/doc/${PNVR}/html
doins "${htmldir}"/${PN}_README.html
}

View File

@ -7,7 +7,7 @@ SUMMARY="Faster Than Light: A spaceship simulation real-time roguelike-like game
HP="http://www.ftlgame.com"
GOG_HP="https://www.gog.com/game/faster_than_light"
HOMEPAGE="${HP} ${GOG_HP}"
FTL_SH="ftl_advanced_edition_1_6_12_2_35269.sh"
FTL_SH="ftl_advanced_edition_en_1_6_3_17917.sh"
DOWNLOADS="manual: ${FTL_SH}"
LICENCES="all-rights-reserved Boost-1.0 free-noncomm MIT FTL LGPL-2.1 ZLIB libpng"

View File

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
require github [ user=clintbellanger project=flare-game tag=v${PV} pn=flare-game ]
require cmake [ api=2 ] desktop-utils gtk-icon-cache
require cmake desktop-utils gtk-icon-cache
SUMMARY="Free/Libre Action Roleplaying game"
@ -15,7 +15,7 @@ DEPENDENCIES="
games-engines/flare[~${PV}]
"
CMAKE_SOURCE=${WORKBASE}/${PN}-game-${PV}
WORK=${WORKBASE}/${PN}-game-${PV}
CMAKE_SRC_CONFIGURE_PARAMS=(
-DBINDIR="/usr/$(exhost --target)/bin"
@ -31,5 +31,7 @@ exec flare --game=flare-game "\$@"
EOF
install_desktop_entry "Name=Flare (game)" "Exec=flare-game"
dodoc README
}

View File

@ -3,7 +3,7 @@
SCM_CHECKOUT_TO=flare-game
require github [ user=clintbellanger project=flare-game pn=flare-game ]
require cmake [ api=2 ] desktop-utils gtk-icon-cache
require cmake desktop-utils gtk-icon-cache
SUMMARY="Free/Libre Action Roleplaying game"
@ -30,5 +30,7 @@ exec flare --game=flare-game "\$@"
EOF
install_desktop_entry "Name=Flare (game)" "Exec=flare-game"
dodoc README
}

View File

@ -1,46 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require gog [ installer="stardew_valley_1_4_5_433754439_36068.sh" ]
require desktop-utils
SUMMARY="Stardew Valley is a farming simulation role-playing video game"
HOMEPAGE="https://www.gog.com/game/stardew_valley"
SLOT="0"
PLATFORMS="-* ~amd64 ~x86"
MYOPTIONS="
( platform: amd64 x86 )
"
DEPENDENCIES="
run:
media-libs/fontconfig
media-libs/freetype
x11-apps/xterm
x11-dri/mesa
"
src_install() {
local arch=$(option platform:amd64 "x86_64" "x86")
local noarch=$(option platform:amd64 "x86" "x86_64")
local nolib=$(option platform:amd64 "lib" "lib64")
herebin ${PN} <<EOF
#!/bin/sh
cd "${GOG_INSTALL_DIR}/game"
export TERM=xterm
exec "./StardewValley.bin.${arch}" "\$@"
EOF
install_desktop_entry "Name=Stardew Valley"
edo rm "${WORK}/game/StardewValley.bin.${noarch}"
edo rm -r "${WORK}/game/${nolib}"
insinto "${GOG_INSTALL_DIR}"
doins -r "${WORK}/game"
edo chmod +x "${IMAGE%/}${GOG_INSTALL_DIR}/game/StardewValley.bin.${arch}"
edo ln -sf mcs.bin.${arch} "${IMAGE%/}${GOG_INSTALL_DIR}"/game/mcs
}

View File

@ -1,66 +0,0 @@
Upstream: yes, cherrry-picked from master
Reason: Fix build with boost[>=1.69.0] which removed the signals lib
From 72a634ef6262dc1401298adb28000d1c89442482 Mon Sep 17 00:00:00 2001
From: geoffthemedio <geoffthemedio@gmail.com>
Date: Fri, 26 Oct 2018 09:06:46 +0200
Subject: [PATCH] Remove all references to signals library from CMakeLists.txt
---
CMakeLists.txt | 5 -----
GG/CMakeLists.txt | 2 +-
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 927c8c165..8d3832049 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -205,7 +205,6 @@ find_package(Boost ${MINIMUM_BOOST_VERSION}
log_setup
regex
serialization
- signals
system
thread
REQUIRED)
@@ -357,7 +356,6 @@ target_link_libraries(freeorioncommon
${Boost_LOG_SETUP_LIBRARY}
${Boost_REGEX_LIBRARY}
${Boost_SERIALIZATION_LIBRARY}
- ${Boost_SIGNALS_LIBRARY}
${Boost_SYSTEM_LIBRARY}
${Boost_THREAD_LIBRARY}
${ZLIB_LIBRARIES}
@@ -668,8 +666,6 @@ if(APPLE)
${CMAKE_COMMAND} -E copy_if_different "${Boost_PYTHON_LIBRARY}" "$<TARGET_FILE_DIR:freeorion>/../SharedSupport"
COMMAND
${CMAKE_COMMAND} -E copy_if_different "${Boost_SERIALIZATION_LIBRARY}" "$<TARGET_FILE_DIR:freeorion>/../SharedSupport"
- COMMAND
- ${CMAKE_COMMAND} -E copy_if_different "${Boost_SIGNALS_LIBRARY}" "$<TARGET_FILE_DIR:freeorion>/../SharedSupport"
COMMAND
${CMAKE_COMMAND} -E copy_if_different "${Boost_SYSTEM_LIBRARY}" "$<TARGET_FILE_DIR:freeorion>/../SharedSupport"
COMMAND
@@ -769,7 +765,6 @@ if(WIN32)
boost_python-vc90-mt-1_44.dll
boost_regex-vc90-mt-1_44.dll
boost_serialization-vc90-mt-1_44.dll
- boost_signals-vc90-mt-1_44.dll
boost_system-vc90-mt-1_44.dll
boost_thread-vc90-mt-1_44.dll
glew32.dll
diff --git a/GG/CMakeLists.txt b/GG/CMakeLists.txt
index 1e5f29d93..238cc44d0 100644
--- a/GG/CMakeLists.txt
+++ b/GG/CMakeLists.txt
@@ -91,7 +91,7 @@ if(NOT USE_STATIC_LIBS)
endif()
set(Boost_USE_STATIC_LIBS ${USE_STATIC_LIBS})
-find_package(Boost ${MINIMUM_BOOST_VERSION} COMPONENTS date_time filesystem regex signals system thread log REQUIRED)
+find_package(Boost ${MINIMUM_BOOST_VERSION} COMPONENTS date_time filesystem regex system thread log REQUIRED)
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
--
2.20.1

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