diff options
Diffstat (limited to 'dev-haskell')
-rw-r--r-- | dev-haskell/wxc/files/wxc-0.92.3.0-cabal-3.2.patch | 27 | ||||
-rw-r--r-- | dev-haskell/wxc/wxc-0.92.3.0-r1.ebuild | 68 |
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 +} |