summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2021-04-16 23:04:15 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2021-04-16 23:11:37 +0100
commit9de2814211ceca4a2b501584b815defa6cea11fe (patch)
tree130a47bcbfc1d98590664022a974a6490e55617b /dev-haskell
parentdev-haskell/wxdirect: switch to WX_GTK_VER="3.0-gtk3" (diff)
downloadgentoo-9de2814211ceca4a2b501584b815defa6cea11fe.tar.gz
gentoo-9de2814211ceca4a2b501584b815defa6cea11fe.tar.bz2
gentoo-9de2814211ceca4a2b501584b815defa6cea11fe.zip
dev-haskell/wxc: switch to WX_GTK_VER="3.0-gtk3"
Reported-by: David Seifert Closes: https://bugs.gentoo.org/781038 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-haskell')
-rw-r--r--dev-haskell/wxc/files/wxc-0.92.3.0-cabal-3.2.patch27
-rw-r--r--dev-haskell/wxc/wxc-0.92.3.0-r1.ebuild68
2 files changed, 95 insertions, 0 deletions
diff --git a/dev-haskell/wxc/files/wxc-0.92.3.0-cabal-3.2.patch b/dev-haskell/wxc/files/wxc-0.92.3.0-cabal-3.2.patch
new file mode 100644
index 000000000000..096e971de4b7
--- /dev/null
+++ b/dev-haskell/wxc/files/wxc-0.92.3.0-cabal-3.2.patch
@@ -0,0 +1,27 @@
+--- a/Setup.hs
++++ b/Setup.hs
+@@ -81,7 +81,12 @@ rawShellSystemStdInOut :: Verbosity -- Verbosity level
+ -> FilePath -- Path to command
+ -> [String] -- Command arguments
+ -> IO (String, String, ExitCode) -- (Command result, Errors, Command exit status)
+-#if MIN_VERSION_Cabal(2,2,0)
++
++#if MIN_VERSION_Cabal(3,2,0)
++rawShellSystemStdInOut v f as = do
++ (so, se, c) <- rawSystemStdInOut v "sh" (f:as) Nothing Nothing Nothing DSU.IODataModeText
++ return (so, se, c)
++#elif MIN_VERSION_Cabal(2,2,0)
+ rawShellSystemStdInOut v f as = do
+ (~(DSU.IODataText so), se, c) <- rawSystemStdInOut v "sh" (f:as) Nothing Nothing Nothing DSU.IODataModeText
+ return (so, se, c)
+@@ -444,7 +449,9 @@ deMsysPaths bi = do
+ if b
+ then do
+ let cor ph = do
+-#if MIN_VERSION_Cabal(2,2,0)
++#if MIN_VERSION_Cabal(3,2,0)
++ (r, e, c) <- rawSystemStdInOut normal "sh" ["-c", "cd " ++ ph ++ "; pwd -W"] Nothing Nothing Nothing DSU.IODataModeText
++#elif MIN_VERSION_Cabal(2,2,0)
+ (~(DSU.IODataText r), e, c) <- rawSystemStdInOut normal "sh" ["-c", "cd " ++ ph ++ "; pwd -W"] Nothing Nothing Nothing DSU.IODataModeText
+ #else
+ (r, e, c ) <- rawSystemStdInOut normal "sh" ["-c", "cd " ++ ph ++ "; pwd -W"] Nothing Nothing Nothing False
diff --git a/dev-haskell/wxc/wxc-0.92.3.0-r1.ebuild b/dev-haskell/wxc/wxc-0.92.3.0-r1.ebuild
new file mode 100644
index 000000000000..d9c666dfccae
--- /dev/null
+++ b/dev-haskell/wxc/wxc-0.92.3.0-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# ebuild generated by hackport 0.5.3.9999
+
+WX_GTK_VER="3.0-gtk3"
+
+CABAL_FEATURES="lib profile" # ho docs as it has no haskell files
+inherit haskell-cabal multilib wxwidgets
+
+DESCRIPTION="wxHaskell C++ wrapper"
+HOMEPAGE="https://wiki.haskell.org/WxHaskell"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="wxWinLL-3.1"
+SLOT="${WX_GTK_VER}/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="gstreamer"
+
+RDEPEND=">dev-haskell/split-0:=[profile?]
+ >=dev-haskell/wxdirect-0.90.1.1:${WX_GTK_VER}=[profile?]
+ x11-libs/wxGTK:${WX_GTK_VER}=[X,gstreamer?,opengl]
+ >=dev-lang/ghc-7.6.1:=
+ !!dev-haskell/wxc:3.0
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.23
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.92.3.0-cabal-2.2.patch
+ "${FILESDIR}"/${PN}-0.92.3.0-cabal-3.patch
+ "${FILESDIR}"/${PN}-0.92.3.0-cabal-3.2.patch
+)
+
+src_prepare() {
+ default
+
+ setup-wxwidgets
+
+ sed -e "s@\"wx-config\"@\"${WX_CONFIG}\"@g" \
+ -i "${S}/Setup.hs" || die "Could not specify wx-config in Setup.hs"
+}
+
+src_configure() {
+ local cgcc=()
+ for i in ${CXXFLAGS}
+ do
+ cgcc+=( --gcc-option="${i}" )
+ done
+ # Trying to specify the LDFLAGS in --ld-option does not work, as ld does
+ # not understand ld options prefixed with -Wl,
+ # The linker that is used to link the libwxc.so shared library is hard coded
+ # in Setup.hs. So the --with-ld would not change the linker used when
+ # linking libwxc.so. --with-ld="gcc" does not help, as then cabal passes
+ # ld options like -x to gcc which then returns a non-zero exit status, then
+ # cabal ignores all the --ld-option parameters.
+ # So I place all the LDFLAGS in --gcc-option parameters. They are ignored
+ # when building .o files.
+ local cld=()
+ for i in ${LDFLAGS}
+ do
+ cld+=( --gcc-option="${i}" )
+ done
+ cabal_src_configure ${cgcc[*]} ${cld[*]} --verbose=3
+}