forked from hasufell/hasufell-repository
Compare commits
15 Commits
master
...
sipsimple_
| Author | SHA1 | Date | |
|---|---|---|---|
|
7e9f4bf7c5
|
|||
|
|
d0bdc1b926 | ||
|
|
69856c6391 | ||
| 6dd4e0f8ea | |||
| a749d5efb3 | |||
|
81afc50f2b
|
|||
|
a4ea000d0c
|
|||
|
b586e42edf
|
|||
| 006ff009ed | |||
| 7cdc48baa2 | |||
| e67b8f8e09 | |||
| 59d48f5815 | |||
| ab54bf85de | |||
| b14860cebf | |||
|
13d8406bd3
|
@@ -0,0 +1,30 @@
|
|||||||
|
# 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:
|
||||||
|
virtual/GHC
|
||||||
|
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
|
||||||
|
]]
|
||||||
|
"
|
||||||
|
|
||||||
|
BUGS_TO="hasufell@posteo.de"
|
||||||
|
|
||||||
|
WORK=${WORKBASE}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
dobin cabal
|
||||||
|
}
|
||||||
|
|
||||||
180
packages/dev-lang/GHC/GHC-8.6.3.exheres-0
Normal file
180
packages/dev-lang/GHC/GHC-8.6.3.exheres-0
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
|
|
||||||
@@ -20,6 +20,10 @@ DEPENDENCIES="
|
|||||||
dev-lang/perl:*[>=5.6.1]
|
dev-lang/perl:*[>=5.6.1]
|
||||||
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
|
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
|
||||||
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
|
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 [[
|
!dev-lang/ghc [[
|
||||||
description = [ Both install the same binaries/libs and alternatives ]
|
description = [ Both install the same binaries/libs and alternatives ]
|
||||||
resolution = uninstall-blocked-before
|
resolution = uninstall-blocked-before
|
||||||
96
packages/dev-lang/ghc-bin/ghc-bin-8.6.2-r1.exheres-0
Normal file
96
packages/dev-lang/ghc-bin/ghc-bin-8.6.2-r1.exheres-0
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
# 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[@]}"
|
||||||
|
}
|
||||||
96
packages/dev-lang/ghc-bin/ghc-bin-8.6.3.exheres-0
Normal file
96
packages/dev-lang/ghc-bin/ghc-bin-8.6.3.exheres-0
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
# 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[@]}"
|
||||||
|
}
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
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;
|
|
||||||
@@ -1,173 +0,0 @@
|
|||||||
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;
|
|
||||||
}
|
|
||||||
@@ -21,7 +21,8 @@ DEPENDENCIES="
|
|||||||
virtual/pkg-config
|
virtual/pkg-config
|
||||||
build+run:
|
build+run:
|
||||||
dev-db/sqlite:3
|
dev-db/sqlite:3
|
||||||
dev-python/python-application[>=2.0.0][python_abis:*(-)?]
|
dev-libs/icu:62.1
|
||||||
|
dev-python/python-application[>=2.5.0][python_abis:*(-)?]
|
||||||
media-libs/libvpx
|
media-libs/libvpx
|
||||||
media-libs/v4l-utils
|
media-libs/v4l-utils
|
||||||
sys-apps/util-linux
|
sys-apps/util-linux
|
||||||
@@ -48,8 +49,6 @@ DEPENDENCIES="
|
|||||||
|
|
||||||
DEFAULT_SRC_PREPARE_PATCHES=(
|
DEFAULT_SRC_PREPARE_PATCHES=(
|
||||||
"${FILES}"/${PNV}-fix-build.patch
|
"${FILES}"/${PNV}-fix-build.patch
|
||||||
"${FILES}"/${PNV}-pjmedia-ffmpeg-fix.patch
|
|
||||||
-p0 "${FILES}"/${PNV}-pjmedia-openh264-1.6.patch
|
|
||||||
)
|
)
|
||||||
|
|
||||||
src_compile() {
|
src_compile() {
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
# Distributed under the terms of the GNU General Public License v2
|
# 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 github [ user=clintbellanger project=flare-game tag=v${PV} pn=flare-game ]
|
||||||
require cmake desktop-utils gtk-icon-cache
|
require cmake [ api=2 ] desktop-utils gtk-icon-cache
|
||||||
|
|
||||||
SUMMARY="Free/Libre Action Roleplaying game"
|
SUMMARY="Free/Libre Action Roleplaying game"
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@ DEPENDENCIES="
|
|||||||
games-engines/flare[~${PV}]
|
games-engines/flare[~${PV}]
|
||||||
"
|
"
|
||||||
|
|
||||||
WORK=${WORKBASE}/${PN}-game-${PV}
|
CMAKE_SOURCE=${WORKBASE}/${PN}-game-${PV}
|
||||||
|
|
||||||
CMAKE_SRC_CONFIGURE_PARAMS=(
|
CMAKE_SRC_CONFIGURE_PARAMS=(
|
||||||
-DBINDIR="/usr/$(exhost --target)/bin"
|
-DBINDIR="/usr/$(exhost --target)/bin"
|
||||||
@@ -31,7 +31,5 @@ exec flare --game=flare-game "\$@"
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
install_desktop_entry "Name=Flare (game)" "Exec=flare-game"
|
install_desktop_entry "Name=Flare (game)" "Exec=flare-game"
|
||||||
|
|
||||||
dodoc README
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
SCM_CHECKOUT_TO=flare-game
|
SCM_CHECKOUT_TO=flare-game
|
||||||
require github [ user=clintbellanger project=flare-game pn=flare-game ]
|
require github [ user=clintbellanger project=flare-game pn=flare-game ]
|
||||||
require cmake desktop-utils gtk-icon-cache
|
require cmake [ api=2 ] desktop-utils gtk-icon-cache
|
||||||
|
|
||||||
SUMMARY="Free/Libre Action Roleplaying game"
|
SUMMARY="Free/Libre Action Roleplaying game"
|
||||||
|
|
||||||
@@ -30,7 +30,5 @@ exec flare --game=flare-game "\$@"
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
install_desktop_entry "Name=Flare (game)" "Exec=flare-game"
|
install_desktop_entry "Name=Flare (game)" "Exec=flare-game"
|
||||||
|
|
||||||
dodoc README
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ PNMIXER_RELEASE=$(exparam release)
|
|||||||
PNMIXER_PV=$(exparam pv)
|
PNMIXER_PV=$(exparam pv)
|
||||||
|
|
||||||
require github [ user='nicklan' release="${PNMIXER_RELEASE}" pv="${PNMIXER_PV}" suffix="tar.gz" ]
|
require github [ user='nicklan' release="${PNMIXER_RELEASE}" pv="${PNMIXER_PV}" suffix="tar.gz" ]
|
||||||
require cmake
|
require cmake [ api=2 ]
|
||||||
require gtk-icon-cache
|
require gtk-icon-cache
|
||||||
|
|
||||||
SUMMARY="Simple ALSA mixer application designed to run in system tray"
|
SUMMARY="Simple ALSA mixer application designed to run in system tray"
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ DEPENDENCIES="
|
|||||||
dev-python/PyQt5[>=5.0][webkit][python_abis:*(-)?]
|
dev-python/PyQt5[>=5.0][webkit][python_abis:*(-)?]
|
||||||
dev-python/google-api-python-client[python_abis:*(-)?]
|
dev-python/google-api-python-client[python_abis:*(-)?]
|
||||||
dev-python/lxml[python_abis:*(-)?]
|
dev-python/lxml[python_abis:*(-)?]
|
||||||
dev-python/python-application[>=2.0.0][python_abis:*(-)?]
|
dev-python/python-application[>=2.5.0][python_abis:*(-)?]
|
||||||
dev-python/python-cjson[python_abis:*(-)?]
|
dev-python/python-cjson[python_abis:*(-)?]
|
||||||
dev-python/python-dateutil[python_abis:*(-)?]
|
dev-python/python-dateutil[python_abis:*(-)?]
|
||||||
dev-python/python-eventlib[python_abis:*(-)?]
|
dev-python/python-eventlib[python_abis:*(-)?]
|
||||||
Reference in New Issue
Block a user