diff -Nru ghc-7.10.2-7.10.2/debian/changelog ghc-7.10.2-7.10.2/debian/changelog --- ghc-7.10.2-7.10.2/debian/changelog 2016-10-12 19:15:13.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/changelog 2016-10-22 14:03:33.000000000 +0000 @@ -1,5 +1,5 @@ -ghc-7.10.2 (7.10.2-12~precise) precise; urgency=medium +ghc-7.10.2 (7.10.2-13~12.04) precise; urgency=medium * Initial release - -- Herbert Valerio Riedel Wed, 12 Oct 2016 21:15:13 +0200 + -- Herbert Valerio Riedel Sat, 22 Oct 2016 16:03:33 +0200 diff -Nru ghc-7.10.2-7.10.2/debian/control ghc-7.10.2-7.10.2/debian/control --- ghc-7.10.2-7.10.2/debian/control 2016-10-12 19:15:13.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/control 2016-10-22 14:03:33.000000000 +0000 @@ -14,13 +14,13 @@ Package: ghc-7.10.2-prof Architecture: amd64 i386 -Depends: ghc-7.10.2 (= 7.10.2-12~precise) +Depends: ghc-7.10.2 (= 7.10.2-13~12.04) Description: The Glasgow Haskell Compilation system This package contains the profiling libs Package: ghc-7.10.2-dyn Architecture: amd64 i386 -Depends: ghc-7.10.2 (= 7.10.2-12~precise) +Depends: ghc-7.10.2 (= 7.10.2-13~12.04) Description: The Glasgow Haskell Compilation system This package is an empty transitional package. You can safely remove it. diff -Nru ghc-7.10.2-7.10.2/debian/ghc-7.10.2.postinst ghc-7.10.2-7.10.2/debian/ghc-7.10.2.postinst --- ghc-7.10.2-7.10.2/debian/ghc-7.10.2.postinst 2016-10-12 19:15:13.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/ghc-7.10.2.postinst 2016-10-22 14:03:33.000000000 +0000 @@ -1,2 +1,6 @@ #! /bin/sh +set -e + touch /opt/ghc/7.10.2/lib/ghc-*/package.conf.d/package.cache + +update-alternatives --install /opt/ghc/bin/ghc opt-ghc /opt/ghc/bin/ghc-7.10.2 71002 --slave /opt/ghc/bin/runghc opt-runghc /opt/ghc/bin/runghc-7.10.2 --slave /opt/ghc/bin/ghci opt-ghci /opt/ghc/bin/ghci-7.10.2 --slave /opt/ghc/bin/ghc-pkg opt-ghc-pkg /opt/ghc/bin/ghc-pkg-7.10.2 --slave /opt/ghc/bin/haddock opt-haddock /opt/ghc/bin/haddock-ghc-7.10.2 #DEBHELPER# diff -Nru ghc-7.10.2-7.10.2/debian/ghc-7.10.2.prerm ghc-7.10.2-7.10.2/debian/ghc-7.10.2.prerm --- ghc-7.10.2-7.10.2/debian/ghc-7.10.2.prerm 1970-01-01 00:00:00.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/ghc-7.10.2.prerm 2016-10-22 14:03:33.000000000 +0000 @@ -0,0 +1,9 @@ +#! /bin/sh +set -e + +if test "$1" != upgrade +then + update-alternatives --remove opt-ghc /opt/ghc/bin/ghc-7.10.2 +fi + +#DEBHELPER# diff -Nru ghc-7.10.2-7.10.2/debian/patches/ghc-7.0-pie.patch ghc-7.10.2-7.10.2/debian/patches/ghc-7.0-pie.patch --- ghc-7.10.2-7.10.2/debian/patches/ghc-7.0-pie.patch 1970-01-01 00:00:00.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/patches/ghc-7.0-pie.patch 2016-10-22 14:03:33.000000000 +0000 @@ -0,0 +1,43 @@ +Index: ghc-7.0.4-7.0.4/compiler/main/DriverPipeline.hs +=================================================================== +--- ghc-7.0.4-7.0.4.orig/compiler/main/DriverPipeline.hs ++++ ghc-7.0.4-7.0.4/compiler/main/DriverPipeline.hs +@@ -1212,6 +1212,7 @@ runPhase SplitAs _stop hsc_env _basename + SysTools.Option "-nostdlib", + SysTools.Option "-nodefaultlibs", + SysTools.Option "-Wl,-r", ++ SysTools.Option "-no-pie", + SysTools.Option ld_x_flag, + SysTools.Option "-o", + SysTools.FileOption "" output_fn ] +@@ -1514,7 +1515,7 @@ linkBinary dflags o_files dep_packages = + extra_ld_inputs <- readIORef v_Ld_inputs + + -- opts from -optl- (including -l options) +- let extra_ld_opts = getOpts dflags opt_l ++ let extra_ld_opts = "-no-pie" : getOpts dflags opt_l + + let ways = wayNames dflags + +@@ -1696,7 +1697,7 @@ linkDynLib dflags o_files dep_packages = + extra_ld_inputs <- readIORef v_Ld_inputs + + let (md_c_flags, _) = machdepCCOpts dflags +- let extra_ld_opts = getOpts dflags opt_l ++ let extra_ld_opts = "-no-pie" : getOpts dflags opt_l + + rtsEnabledObj <- mkRtsOptionsLevelObj dflags + +Index: ghc-7.0.4-7.0.4/compiler/main/DynFlags.hs +=================================================================== +--- ghc-7.0.4-7.0.4.orig/compiler/main/DynFlags.hs ++++ ghc-7.0.4-7.0.4/compiler/main/DynFlags.hs +@@ -2186,7 +2186,7 @@ machdepCCOpts' _dflags + + #elif x86_64_TARGET_ARCH + = ( +- [], ++ ["-fno-PIE"], + ["-fomit-frame-pointer", + "-fno-asynchronous-unwind-tables", + -- the unwind tables are unnecessary for HC code, diff -Nru ghc-7.10.2-7.10.2/debian/patches/ghc-7.2-pie.patch ghc-7.10.2-7.10.2/debian/patches/ghc-7.2-pie.patch --- ghc-7.10.2-7.10.2/debian/patches/ghc-7.2-pie.patch 1970-01-01 00:00:00.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/patches/ghc-7.2-pie.patch 2016-10-22 14:03:33.000000000 +0000 @@ -0,0 +1,50 @@ +Index: ghc-7.2.1/compiler/main/DriverPipeline.hs +=================================================================== +--- ghc-7.2.1.orig/compiler/main/DriverPipeline.hs ++++ ghc-7.2.1/compiler/main/DriverPipeline.hs +@@ -1010,7 +1010,7 @@ runPhase Cmm input_fn dflags + runPhase cc_phase input_fn dflags + | cc_phase `eqPhase` Cc || cc_phase `eqPhase` Ccpp || cc_phase `eqPhase` HCc || cc_phase `eqPhase` Cobjc + = do +- let cc_opts = getOpts dflags opt_c ++ let cc_opts = "-fno-PIE" : getOpts dflags opt_c + hcc = cc_phase `eqPhase` HCc + + let cmdline_include_paths = includePaths dflags +@@ -1624,7 +1624,7 @@ linkBinary dflags o_files dep_packages = + extra_ld_inputs <- readIORef v_Ld_inputs + + -- opts from -optl- (including -l options) +- let extra_ld_opts = getOpts dflags opt_l ++ let extra_ld_opts = "-no-pie" : getOpts dflags opt_l + + let ways = wayNames dflags + +@@ -1808,7 +1808,7 @@ linkDynLib dflags o_files dep_packages = + -- probably _stub.o files + extra_ld_inputs <- readIORef v_Ld_inputs + +- let extra_ld_opts = getOpts dflags opt_l ++ let extra_ld_opts = "-no-pie" : getOpts dflags opt_l + + extraLinkObj <- mkExtraObjToLinkIntoBinary dflags dep_packages + +@@ -1947,7 +1947,7 @@ doCpp dflags raw include_cc_opts input_f + let verbFlags = getVerbFlags dflags + + let cc_opts +- | include_cc_opts = getOpts dflags opt_c ++ | include_cc_opts = "-fno-PIE" : getOpts dflags opt_c + | otherwise = [] + + let cpp_prog args | raw = SysTools.runCpp dflags args +@@ -1995,7 +1995,8 @@ joinObjectFiles dflags o_files output_fn + let ld_r args = SysTools.runLink dflags ([ + SysTools.Option "-nostdlib", + SysTools.Option "-nodefaultlibs", +- SysTools.Option "-Wl,-r" ++ SysTools.Option "-Wl,-r", ++ SysTools.Option "-no-pie" + ] + -- gcc on sparc sets -Wl,--relax implicitly, but + -- -r and --relax are incompatible for ld, so diff -Nru ghc-7.10.2-7.10.2/debian/patches/ghc-7.4-pragma-lexer-bug.patch ghc-7.10.2-7.10.2/debian/patches/ghc-7.4-pragma-lexer-bug.patch --- ghc-7.10.2-7.10.2/debian/patches/ghc-7.4-pragma-lexer-bug.patch 1970-01-01 00:00:00.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/patches/ghc-7.4-pragma-lexer-bug.patch 2016-10-22 14:03:33.000000000 +0000 @@ -0,0 +1,13 @@ +Index: ghc-7.4.2/compiler/main/HeaderInfo.hs +=================================================================== +--- ghc-7.4.2.orig/compiler/main/HeaderInfo.hs 2012-06-06 19:10:25.000000000 +0200 ++++ ghc-7.4.2/compiler/main/HeaderInfo.hs 2016-10-12 11:54:22.217961979 +0200 +@@ -155,7 +155,7 @@ + + blockSize :: Int + -- blockSize = 17 -- for testing :-) +-blockSize = 1024 ++blockSize = 32768 + + lazyGetToks :: DynFlags -> FilePath -> Handle -> IO [Located Token] + lazyGetToks dflags filename handle = do diff -Nru ghc-7.10.2-7.10.2/debian/patches/ghc-74-pragma-lexer-bug.patch ghc-7.10.2-7.10.2/debian/patches/ghc-74-pragma-lexer-bug.patch --- ghc-7.10.2-7.10.2/debian/patches/ghc-74-pragma-lexer-bug.patch 2016-10-12 19:15:13.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/patches/ghc-74-pragma-lexer-bug.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -Index: ghc-7.4.2/compiler/main/HeaderInfo.hs -=================================================================== ---- ghc-7.4.2.orig/compiler/main/HeaderInfo.hs 2012-06-06 19:10:25.000000000 +0200 -+++ ghc-7.4.2/compiler/main/HeaderInfo.hs 2016-10-12 11:54:22.217961979 +0200 -@@ -155,7 +155,7 @@ - - blockSize :: Int - -- blockSize = 17 -- for testing :-) --blockSize = 1024 -+blockSize = 32768 - - lazyGetToks :: DynFlags -> FilePath -> Handle -> IO [Located Token] - lazyGetToks dflags filename handle = do diff -Nru ghc-7.10.2-7.10.2/debian/patches/ticket-5005.patch ghc-7.10.2-7.10.2/debian/patches/ticket-5005.patch --- ghc-7.10.2-7.10.2/debian/patches/ticket-5005.patch 1970-01-01 00:00:00.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/patches/ticket-5005.patch 2016-10-22 14:03:33.000000000 +0000 @@ -0,0 +1,60 @@ +Description: Never use epoll_create1 + See GHC Ticket #5005 + . + ghc-7.0.1 (7.0.1-1) precise; urgency=low + . + * Initial release +Author: Herbert Valerio Riedel + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +--- ghc-7.0.1-7.0.1.orig/libraries/base/System/Event/EPoll.hsc ++++ ghc-7.0.1-7.0.1/libraries/base/System/Event/EPoll.hsc +@@ -47,9 +47,7 @@ import GHC.Num (Num(..)) + import GHC.Real (ceiling, fromIntegral) + import GHC.Show (Show) + import System.Posix.Internals (c_close) +-#if !defined(HAVE_EPOLL_CREATE1) + import System.Posix.Internals (setCloseOnExec) +-#endif + import System.Posix.Types (Fd(..)) + + import qualified System.Event.Array as A +@@ -159,12 +157,8 @@ newtype EventType = EventType { + epollCreate :: IO EPollFd + epollCreate = do + fd <- throwErrnoIfMinus1 "epollCreate" $ +-#if defined(HAVE_EPOLL_CREATE1) +- c_epoll_create1 (#const EPOLL_CLOEXEC) +-#else + c_epoll_create 256 -- argument is ignored + setCloseOnExec fd +-#endif + let !epollFd' = EPollFd fd + return epollFd' + +@@ -196,13 +190,8 @@ fromTimeout :: Timeout -> Int + fromTimeout Forever = -1 + fromTimeout (Timeout s) = ceiling $ 1000 * s + +-#if defined(HAVE_EPOLL_CREATE1) +-foreign import ccall unsafe "sys/epoll.h epoll_create1" +- c_epoll_create1 :: CInt -> IO CInt +-#else + foreign import ccall unsafe "sys/epoll.h epoll_create" + c_epoll_create :: CInt -> IO CInt +-#endif + + foreign import ccall unsafe "sys/epoll.h epoll_ctl" + c_epoll_ctl :: CInt -> CInt -> CInt -> Ptr Event -> IO CInt diff -Nru ghc-7.10.2-7.10.2/debian/rules ghc-7.10.2-7.10.2/debian/rules --- ghc-7.10.2-7.10.2/debian/rules 2016-10-12 19:15:13.000000000 +0000 +++ ghc-7.10.2-7.10.2/debian/rules 2016-10-22 14:03:33.000000000 +0000 @@ -10,7 +10,7 @@ %: - dh $@ + dh $@ --parallel override_dh_auto_configure: echo "HADDOCK_DOCS=YES" > mk/build.mk @@ -22,12 +22,13 @@ echo "BUILD_DOCBOOK_PDF=NO" >> mk/build.mk echo "BUILD_DOCBOOK_PS=NO" >> mk/build.mk echo "GhcLibWays=v dyn p" >> mk/build.mk + echo "V=0" >> mk/build.mk ./configure $(EXTRA_CONFIGURE_FLAGS) --prefix=/opt/ghc/$(GHCDEBVER) override_dh_auto_test: override_dh_auto_build: - make V=0 -j3 + dh_auto_build override_dh_shlibdeps: