You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(68) |
Aug
(4) |
Sep
|
Oct
(23) |
Nov
(95) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(3) |
Feb
|
Mar
|
Apr
(51) |
May
(81) |
Jun
(2) |
Jul
(86) |
Aug
(143) |
Sep
(3) |
Oct
(31) |
Nov
(63) |
Dec
(90) |
2005 |
Jan
(277) |
Feb
(157) |
Mar
(99) |
Apr
(195) |
May
(151) |
Jun
(148) |
Jul
(98) |
Aug
(123) |
Sep
(20) |
Oct
(174) |
Nov
(155) |
Dec
(26) |
2006 |
Jan
(51) |
Feb
(19) |
Mar
(16) |
Apr
(12) |
May
(5) |
Jun
|
Jul
(11) |
Aug
(7) |
Sep
(10) |
Oct
(31) |
Nov
(174) |
Dec
(56) |
2007 |
Jan
(45) |
Feb
(52) |
Mar
(10) |
Apr
(5) |
May
(47) |
Jun
(16) |
Jul
(80) |
Aug
(29) |
Sep
(14) |
Oct
(59) |
Nov
(46) |
Dec
(16) |
2008 |
Jan
(10) |
Feb
(1) |
Mar
|
Apr
|
May
(49) |
Jun
(26) |
Jul
(8) |
Aug
(4) |
Sep
(25) |
Oct
(53) |
Nov
(9) |
Dec
(1) |
2009 |
Jan
(66) |
Feb
(11) |
Mar
(1) |
Apr
(14) |
May
(8) |
Jun
(1) |
Jul
(2) |
Aug
(2) |
Sep
(9) |
Oct
(23) |
Nov
(35) |
Dec
|
2010 |
Jan
(7) |
Feb
(2) |
Mar
(39) |
Apr
(19) |
May
(161) |
Jun
(19) |
Jul
(32) |
Aug
(65) |
Sep
(113) |
Oct
(120) |
Nov
(2) |
Dec
|
2012 |
Jan
|
Feb
(5) |
Mar
(4) |
Apr
(7) |
May
(9) |
Jun
(14) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(12) |
Dec
(2) |
2013 |
Jan
(1) |
Feb
(17) |
Mar
(4) |
Apr
(4) |
May
(9) |
Jun
|
Jul
(8) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Duncan C. <dun...@wo...> - 2007-07-05 16:01:13
|
Thu Jul 5 08:58:24 PDT 2007 Duncan Coutts <du...@ha...> * Update DirList demo to work on Windows and include file modification times Thanks to Bulat Ziganshin for the patch. I also updated it to use multiple columns with titles and to avoid the use of unsafePerformIO by using the :=> monadic attribute assignment operator. hunk ./demo/treeList/DirList.hs 7 +import Control.Exception (handle) hunk ./demo/treeList/DirList.hs 9 -import System.Posix.Files +import System.IO +import System.Locale +import System.Time hunk ./demo/treeList/DirList.hs 15 - fSize :: Integer + fSize :: Integer, + fTime :: ClockTime hunk ./demo/treeList/DirList.hs 27 - status <- getFileStatus f - return FileInfo { fName = f, - fSize = fromIntegral (fileSize status) } + s <- handle (\_ -> return 0) $ + do h <- openFile f ReadMode + s <- hFileSize h + hClose h + return s + t <- getModificationTime f + return FileInfo { fName = f + , fSize = s + , fTime = t } hunk ./demo/treeList/DirList.hs 40 - win `containerAdd` tv + containerAdd win tv hunk ./demo/treeList/DirList.hs 43 + set tvc [ New.treeViewColumnTitle := "File name" + , New.treeViewColumnResizable := True ] hunk ./demo/treeList/DirList.hs 47 - text <- New.cellRendererTextNew - New.treeViewColumnPackStart tvc text True - New.cellLayoutSetAttributes tvc text store - (\FileInfo { fName = name } -> [New.cellText := name]) + name <- New.cellRendererTextNew + New.treeViewColumnPackStart tvc name True + New.cellLayoutSetAttributes tvc name store $ \FileInfo { fName = name } -> + [ New.cellText := name ] + + tvc <- New.treeViewColumnNew + set tvc [ New.treeViewColumnTitle := "Size" + , New.treeViewColumnResizable := True ] + New.treeViewAppendColumn tv tvc hunk ./demo/treeList/DirList.hs 59 - New.cellLayoutSetAttributes tvc size store - (\FileInfo { fSize = size } -> [New.cellText := show size]) + New.cellLayoutSetAttributes tvc size store $ \FileInfo { fSize = size } -> + [ New.cellText := show size ] + + tvc <- New.treeViewColumnNew + set tvc [ New.treeViewColumnTitle := "Modification time" + , New.treeViewColumnResizable := True ] + New.treeViewAppendColumn tv tvc + + time <- New.cellRendererTextNew + New.treeViewColumnPackStart tvc time True + New.cellLayoutSetAttributes tvc time store $ \FileInfo { fTime = time } -> + [ New.cellText :=> do + calTime <- toCalendarTime time + return (formatCalendarTime defaultTimeLocale "%D %T" calTime) + ] |
From: Duncan C. <dun...@wo...> - 2007-07-05 16:01:13
|
Thu Jul 5 08:58:24 PDT 2007 Duncan Coutts <du...@ha...> * Update DirList demo to work on Windows and include file modification times Thanks to Bulat Ziganshin for the patch. I also updated it to use multiple columns with titles and to avoid the use of unsafePerformIO by using the :=> monadic attribute assignment operator. hunk ./demo/treeList/DirList.hs 7 +import Control.Exception (handle) hunk ./demo/treeList/DirList.hs 9 -import System.Posix.Files +import System.IO +import System.Locale +import System.Time hunk ./demo/treeList/DirList.hs 15 - fSize :: Integer + fSize :: Integer, + fTime :: ClockTime hunk ./demo/treeList/DirList.hs 27 - status <- getFileStatus f - return FileInfo { fName = f, - fSize = fromIntegral (fileSize status) } + s <- handle (\_ -> return 0) $ + do h <- openFile f ReadMode + s <- hFileSize h + hClose h + return s + t <- getModificationTime f + return FileInfo { fName = f + , fSize = s + , fTime = t } hunk ./demo/treeList/DirList.hs 40 - win `containerAdd` tv + containerAdd win tv hunk ./demo/treeList/DirList.hs 43 + set tvc [ New.treeViewColumnTitle := "File name" + , New.treeViewColumnResizable := True ] hunk ./demo/treeList/DirList.hs 47 - text <- New.cellRendererTextNew - New.treeViewColumnPackStart tvc text True - New.cellLayoutSetAttributes tvc text store - (\FileInfo { fName = name } -> [New.cellText := name]) + name <- New.cellRendererTextNew + New.treeViewColumnPackStart tvc name True + New.cellLayoutSetAttributes tvc name store $ \FileInfo { fName = name } -> + [ New.cellText := name ] + + tvc <- New.treeViewColumnNew + set tvc [ New.treeViewColumnTitle := "Size" + , New.treeViewColumnResizable := True ] + New.treeViewAppendColumn tv tvc hunk ./demo/treeList/DirList.hs 59 - New.cellLayoutSetAttributes tvc size store - (\FileInfo { fSize = size } -> [New.cellText := show size]) + New.cellLayoutSetAttributes tvc size store $ \FileInfo { fSize = size } -> + [ New.cellText := show size ] + + tvc <- New.treeViewColumnNew + set tvc [ New.treeViewColumnTitle := "Modification time" + , New.treeViewColumnResizable := True ] + New.treeViewAppendColumn tv tvc + + time <- New.cellRendererTextNew + New.treeViewColumnPackStart tvc time True + New.cellLayoutSetAttributes tvc time store $ \FileInfo { fTime = time } -> + [ New.cellText :=> do + calTime <- toCalendarTime time + return (formatCalendarTime defaultTimeLocale "%D %T" calTime) + ] |
From: Duncan C. <dun...@wo...> - 2007-07-05 14:47:48
|
Thu Jul 5 07:47:00 PDT 2007 Duncan Coutts <du...@ha...> * Note that parallel make does not work. hunk ./INSTALL 122 + +Note: using make -j2 will *not* work. Our makefiles are not safe for + use with parallel make unfortunately. + |
From: Duncan C. <dun...@wo...> - 2007-07-05 14:47:48
|
Thu Jul 5 07:47:00 PDT 2007 Duncan Coutts <du...@ha...> * Note that parallel make does not work. hunk ./INSTALL 122 + +Note: using make -j2 will *not* work. Our makefiles are not safe for + use with parallel make unfortunately. + |
From: Duncan C. <dun...@wo...> - 2007-07-05 01:27:03
|
Wed Jul 4 18:24:50 PDT 2007 Duncan Coutts <du...@ha...> * Really add the SVG backend, forgot to add the main file. I'm clearly going mad. The file got included in the tarball, so I didn't notice it's absence from the darcs repo. addfile ./cairo/Graphics/Rendering/Cairo/Internal/Surfaces/SVG.chs.pp hunk ./cairo/Graphics/Rendering/Cairo/Internal/Surfaces/SVG.chs.pp 1 +----------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.Cairo.Internal.Surfaces.SVG +-- Copyright : (c) Duncan Coutts 2007 +-- License : BSD-style (see doc/COPYRIGHT) +-- +-- Maintainer : p.m...@ne... +-- Stability : experimental +-- Portability : portable +-- +-- Rendering SVG images. +----------------------------------------------------------------------------- + +module Graphics.Rendering.Cairo.Internal.Surfaces.SVG where + +{#import Graphics.Rendering.Cairo.Types#} + +import Foreign +import Foreign.C + +{#context lib="cairo" prefix="cairo"#} + +#ifdef ENABLE_CAIRO_SVG_SURFACE + +{#fun svg_surface_create as svgSurfaceCreate { withCString* `FilePath', `Double', `Double' } -> `Surface' mkSurface*#} + +#endif |
From: Duncan C. <dun...@wo...> - 2007-07-05 01:27:03
|
Wed Jul 4 18:24:50 PDT 2007 Duncan Coutts <du...@ha...> * Really add the SVG backend, forgot to add the main file. I'm clearly going mad. The file got included in the tarball, so I didn't notice it's absence from the darcs repo. addfile ./cairo/Graphics/Rendering/Cairo/Internal/Surfaces/SVG.chs.pp hunk ./cairo/Graphics/Rendering/Cairo/Internal/Surfaces/SVG.chs.pp 1 +----------------------------------------------------------------------------- +-- | +-- Module : Graphics.Rendering.Cairo.Internal.Surfaces.SVG +-- Copyright : (c) Duncan Coutts 2007 +-- License : BSD-style (see doc/COPYRIGHT) +-- +-- Maintainer : p.m...@ne... +-- Stability : experimental +-- Portability : portable +-- +-- Rendering SVG images. +----------------------------------------------------------------------------- + +module Graphics.Rendering.Cairo.Internal.Surfaces.SVG where + +{#import Graphics.Rendering.Cairo.Types#} + +import Foreign +import Foreign.C + +{#context lib="cairo" prefix="cairo"#} + +#ifdef ENABLE_CAIRO_SVG_SURFACE + +{#fun svg_surface_create as svgSurfaceCreate { withCString* `FilePath', `Double', `Double' } -> `Surface' mkSurface*#} + +#endif |
From: Duncan C. <dun...@wo...> - 2007-07-04 17:15:20
|
Tue Jul 3 20:52:13 PDT 2007 Duncan Coutts <du...@ha...> * Update win32 build scripts to build sourceview but not svgcairo hunk ./tools/win32/download.sh 30 +wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-${SOURCEVIEW_VERSION}.zip +wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-dev-${SOURCEVIEW_VERSION}.zip + hunk ./tools/win32/download.sh 47 -if test ${GTK_EXTRAS} -then -wget -c $BASE_URL/librsvg/2.16/librsvg-${LIBRSVG_VERSION}.zip -wget -c $BASE_URL/librsvg/2.16/librsvg-dev-${LIBRSVG_VERSION}.zip -wget -c $BASE_URL/librsvg/2.16/svg-gdk-pixbuf-loader-${LIBRSVG_VERSION}.zip - -wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-${SOURCEVIEW_VERSION}.zip -wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-dev-${SOURCEVIEW_VERSION}.zip -fi +#if test ${GTK_EXTRAS} +#then +#wget -c $BASE_URL/librsvg/2.16/librsvg-${LIBRSVG_VERSION}.zip +#wget -c $BASE_URL/librsvg/2.16/librsvg-dev-${LIBRSVG_VERSION}.zip +#fi hunk ./tools/win32/fix.sh 37 -if test ${GTK_EXTRAS} -then -pushd librsvg-dev-${LIBRSVG_VERSION} -mv lib/librsvg-2.dll.a lib/rsvg-2.lib -popd - hunk ./tools/win32/fix.sh 41 -fi + +#if test ${GTK_EXTRAS} +#then +#pushd librsvg-dev-${LIBRSVG_VERSION} +#mv lib/librsvg-2.dll.a lib/rsvg-2.lib +#popd +#fi hunk ./tools/win32/gtk2hs.iss 47 -Filename: "{code:ghcpkg}"; Parameters: "update ""{app}\svgcairo.package.conf"""; StatusMsg: "Registering svgcairo package..."; Flags: runhidden[_^M_][_$_] +;Filename: "{code:ghcpkg}"; Parameters: "update ""{app}\svgcairo.package.conf"""; StatusMsg: "Registering svgcairo package..."; Flags: runhidden[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 59 -Filename: "{code:ghcpkg}"; Parameters: "unregister svgcairo-0.9.11.3"; RunOnceId: "svgcairo"; Flags: runhidden[_^M_][_$_] +;Filename: "{code:ghcpkg}"; Parameters: "unregister svgcairo-0.9.11.3"; RunOnceId: "svgcairo"; Flags: runhidden[_^M_][_$_] hunk ./tools/win32/versions.conf 8 +SOURCEVIEW_VERSION=1.8.5 hunk ./tools/win32/versions.conf 17 -if test ${GTK_EXTRAS} -then -LIBRSVG_VERSION=2.16.1 -SOURCEVIEW_VERSION=1.8.5 -fi +#if test ${GTK_EXTRAS} +#then +#LIBRSVG_VERSION=2.16.1 +#fi hunk ./tools/win32/win32-build-version.sh 40 -CONFIGURE_FLAGS="--enable-packager-mode --enable-split-objs --enable-libglade --enable-opengl"[_^M_][_$_] +CONFIGURE_FLAGS="--enable-packager-mode --enable-split-objs --enable-profiling"[_^M_][_$_] +ENABLE_PACKAGES="--enable-libglade --enable-opengl --enable-sourceview"[_^M_][_$_] hunk ./tools/win32/win32-build-version.sh 48 -./configure --prefix=/ ${CONFIGURE_FLAGS} ${CONFIGURE_EXTRAFLAGS}[_^M_][_$_] +./configure --prefix=/ ${CONFIGURE_FLAGS} ${ENABLE_PACKAGES} ${CONFIGURE_EXTRAFLAGS}[_^M_][_$_] |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:44
|
Tue Jul 3 20:26:35 PDT 2007 Duncan Coutts <du...@ha...> * Add Cairo SVG backend I swear I added this before, the cairo demo certainly already tests it. Somehow I must have managed to not record it, and then loose the code. Fortunately it was only a few lines, so quick to replace. Silly me. hunk ./Makefile.am 1259 + cairo/Graphics/Rendering/Cairo/Internal/Surfaces/SVG.chs.pp \ hunk ./cairo/Graphics/Rendering/Cairo/Internal.hs 28 + , module Graphics.Rendering.Cairo.Internal.Surfaces.SVG hunk ./cairo/Graphics/Rendering/Cairo/Internal.hs 45 +import Graphics.Rendering.Cairo.Internal.Surfaces.SVG hunk ./cairo/Graphics/Rendering/Cairo.hs.pp 195 +#ifdef ENABLE_CAIRO_SVG_SURFACE + -- ** SVG surfaces + , withSVGSurface +#endif + hunk ./cairo/Graphics/Rendering/Cairo.hs.pp 1645 + + +#ifdef ENABLE_CAIRO_SVG_SURFACE +-- | Creates a SVG surface of the specified size in points +-- be written to @filename@. +-- +withSVGSurface :: + FilePath -- ^ @filename@ - a filename for the SVG output (must be writable) + -> Double -- ^ width of the surface, in points (1 point == 1\/72.0 inch) + -> Double -- ^ height of the surface, in points (1 point == 1\/72.0 inch) + -> (Surface -> IO a) -- ^ an action that may use the surface. The surface is + -- only valid within in this action. + -> IO a +withSVGSurface filename width height f = + bracket (Internal.svgSurfaceCreate filename width height) + (\surface -> do status <- Internal.surfaceStatus surface + Internal.surfaceDestroy surface + unless (status == StatusSuccess) $ + Internal.statusToString status >>= fail) + (\surface -> f surface) +#endif |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:44
|
Tue Jul 3 17:52:40 PDT 2007 Duncan Coutts <du...@ha...> * Fix for the sed extra-ghci-libs hackery: some libs have '_' in their names hunk ./Makefile.am 1871 - s/"\([a-z0-9.-]*\.0\)"/"lib\1-0"/g; \ + s/"\([a-z0-9._-]*\.0\)"/"lib\1-0"/g; \ |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:43
|
Tue Jul 3 18:24:35 PDT 2007 Duncan Coutts <du...@ha...> * Reimplement the way we keep track of gthread initialisation state Sadly we cannot just call g_thread_supported() because this macro expands into a reference to a gloabl variable that lives in the gthread dynamic lib. On windows, GHCi's dynamic linker cannot cope with references to global vars from C dlls. So instead we keep a global var in the wrapper, so it's in the same package, rather than crossing a dll boundary. This allows us to track the state, and because the state is allocated in C land, it survives :reload in GHCi, which was the problem with the original scheme. Ugg. hunk ./gtk/Graphics/UI/Gtk/General/General.chs 163 -initialiseGThreads :: IO () -initialiseGThreads = do - gthreadsInitialised <- liftM (toBool . fromIntegral) gtk2hs_thread_supported - when (not gthreadsInitialised) $ do - {# call unsafe g_thread_init #} nullPtr - -foreign import ccall "hsgthread.h gtk2hs_thread_supported" - gtk2hs_thread_supported :: IO CInt +foreign import ccall "hsgthread.h gtk2hs_threads_initialise" + initialiseGThreads :: IO () hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 1 -/* Annoyingly, g_thread_supported is actuall a macro so we need this silly - * little wrapper functions. Grrr. */ +/* We would use the g_thread_supported macro here, but unfortunately on + * windows GHCi's dynamic linker cannot cope with references to global + * variables imported from dlls. + * + * So instead of asking glib if we (or indeed) anyone else has initialised + * the glib gthread system, we keep track of it ourselves. We still have to + * do it in C land so the state survives :reload in GHCi. So there is the + * danger in a mixed language program, of someone else initialising the + * glib thread system and us not being aware of it. :-( + */ hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 14 -int gtk2hs_thread_supported () { - return g_thread_supported(); +void gtk2hs_threads_initialise () { + static int threads_initialised = 0; + + if (!threads_initialised) { + threads_initialised = 1; + g_thread_init(NULL); + } hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.h 1 -/* g_thread_supported wrapper function */ - -int gtk2hs_thread_supported (); +int gtk2hs_threads_initialise (); |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:43
|
Tue Jul 3 20:52:13 PDT 2007 Duncan Coutts <du...@ha...> * Update win32 build scripts to build sourceview but not svgcairo hunk ./tools/win32/download.sh 30 +wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-${SOURCEVIEW_VERSION}.zip +wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-dev-${SOURCEVIEW_VERSION}.zip + hunk ./tools/win32/download.sh 47 -if test ${GTK_EXTRAS} -then -wget -c $BASE_URL/librsvg/2.16/librsvg-${LIBRSVG_VERSION}.zip -wget -c $BASE_URL/librsvg/2.16/librsvg-dev-${LIBRSVG_VERSION}.zip -wget -c $BASE_URL/librsvg/2.16/svg-gdk-pixbuf-loader-${LIBRSVG_VERSION}.zip - -wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-${SOURCEVIEW_VERSION}.zip -wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-dev-${SOURCEVIEW_VERSION}.zip -fi +#if test ${GTK_EXTRAS} +#then +#wget -c $BASE_URL/librsvg/2.16/librsvg-${LIBRSVG_VERSION}.zip +#wget -c $BASE_URL/librsvg/2.16/librsvg-dev-${LIBRSVG_VERSION}.zip +#fi hunk ./tools/win32/fix.sh 37 -if test ${GTK_EXTRAS} -then -pushd librsvg-dev-${LIBRSVG_VERSION} -mv lib/librsvg-2.dll.a lib/rsvg-2.lib -popd - hunk ./tools/win32/fix.sh 41 -fi + +#if test ${GTK_EXTRAS} +#then +#pushd librsvg-dev-${LIBRSVG_VERSION} +#mv lib/librsvg-2.dll.a lib/rsvg-2.lib +#popd +#fi hunk ./tools/win32/gtk2hs.iss 47 -Filename: "{code:ghcpkg}"; Parameters: "update ""{app}\svgcairo.package.conf"""; StatusMsg: "Registering svgcairo package..."; Flags: runhidden[_^M_][_$_] +;Filename: "{code:ghcpkg}"; Parameters: "update ""{app}\svgcairo.package.conf"""; StatusMsg: "Registering svgcairo package..."; Flags: runhidden[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 59 -Filename: "{code:ghcpkg}"; Parameters: "unregister svgcairo-0.9.11.3"; RunOnceId: "svgcairo"; Flags: runhidden[_^M_][_$_] +;Filename: "{code:ghcpkg}"; Parameters: "unregister svgcairo-0.9.11.3"; RunOnceId: "svgcairo"; Flags: runhidden[_^M_][_$_] hunk ./tools/win32/versions.conf 8 +SOURCEVIEW_VERSION=1.8.5 hunk ./tools/win32/versions.conf 17 -if test ${GTK_EXTRAS} -then -LIBRSVG_VERSION=2.16.1 -SOURCEVIEW_VERSION=1.8.5 -fi +#if test ${GTK_EXTRAS} +#then +#LIBRSVG_VERSION=2.16.1 +#fi hunk ./tools/win32/win32-build-version.sh 40 -CONFIGURE_FLAGS="--enable-packager-mode --enable-split-objs --enable-libglade --enable-opengl"[_^M_][_$_] +CONFIGURE_FLAGS="--enable-packager-mode --enable-split-objs --enable-profiling"[_^M_][_$_] +ENABLE_PACKAGES="--enable-libglade --enable-opengl --enable-sourceview"[_^M_][_$_] hunk ./tools/win32/win32-build-version.sh 48 -./configure --prefix=/ ${CONFIGURE_FLAGS} ${CONFIGURE_EXTRAFLAGS}[_^M_][_$_] +./configure --prefix=/ ${CONFIGURE_FLAGS} ${ENABLE_PACKAGES} ${CONFIGURE_EXTRAFLAGS}[_^M_][_$_] |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:43
|
Tue Jul 3 20:27:50 PDT 2007 Duncan Coutts <du...@ha...> * Update a demo to follow change in api for pixbufNewFromFile hunk ./demo/noughty/Noughty.hs 140 - Right noughtPic <- pixbufNewFromFile "Nought.png" - Right crossPic <- pixbufNewFromFile "Cross.png" + noughtPic <- pixbufNewFromFile "Nought.png" + crossPic <- pixbufNewFromFile "Cross.png" hunk ./demo/noughty/NoughtyGlade.hs 145 - Right noughtPic <- pixbufNewFromFile "Nought.png" - Right crossPic <- pixbufNewFromFile "Cross.png" + noughtPic <- pixbufNewFromFile "Nought.png" + crossPic <- pixbufNewFromFile "Cross.png" |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:41
|
Wed Jul 4 08:34:49 PDT 2007 Duncan Coutts <du...@ha...> * Bump version number to 0.9.11.3 First release candidate for 0.9.12 hunk ./configure.ac 25 -AC_INIT([gtk2hs],[0.9.11.2]) +AC_INIT([gtk2hs],[0.9.11.3]) |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:34
|
Wed Jul 4 08:35:15 PDT 2007 Duncan Coutts <du...@ha...> tagged 0.9.11.3 |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:09
|
Tue Jul 3 21:06:41 PDT 2007 Duncan Coutts <du...@ha...> * Fix typo in win32 build script hunk ./tools/win32/win32-build-version.sh 9 - ghc-6.6.1) PATH="${PATH}:${GHC_66_PATH}";;[_^M_][_$_] + ghc-6.6.1) PATH="${PATH}:${GHC_661_PATH}";;[_^M_][_$_] |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:35:09
|
Tue Jul 3 21:06:41 PDT 2007 Duncan Coutts <du...@ha...> * Fix typo in win32 build script hunk ./tools/win32/win32-build-version.sh 9 - ghc-6.6.1) PATH="${PATH}:${GHC_66_PATH}";;[_^M_][_$_] + ghc-6.6.1) PATH="${PATH}:${GHC_661_PATH}";;[_^M_][_$_] |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:31
|
Tue Jul 3 20:27:50 PDT 2007 Duncan Coutts <du...@ha...> * Update a demo to follow change in api for pixbufNewFromFile hunk ./demo/noughty/Noughty.hs 140 - Right noughtPic <- pixbufNewFromFile "Nought.png" - Right crossPic <- pixbufNewFromFile "Cross.png" + noughtPic <- pixbufNewFromFile "Nought.png" + crossPic <- pixbufNewFromFile "Cross.png" hunk ./demo/noughty/NoughtyGlade.hs 145 - Right noughtPic <- pixbufNewFromFile "Nought.png" - Right crossPic <- pixbufNewFromFile "Cross.png" + noughtPic <- pixbufNewFromFile "Nought.png" + crossPic <- pixbufNewFromFile "Cross.png" |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:31
|
Tue Jul 3 20:26:35 PDT 2007 Duncan Coutts <du...@ha...> * Add Cairo SVG backend I swear I added this before, the cairo demo certainly already tests it. Somehow I must have managed to not record it, and then loose the code. Fortunately it was only a few lines, so quick to replace. Silly me. hunk ./Makefile.am 1259 + cairo/Graphics/Rendering/Cairo/Internal/Surfaces/SVG.chs.pp \ hunk ./cairo/Graphics/Rendering/Cairo/Internal.hs 28 + , module Graphics.Rendering.Cairo.Internal.Surfaces.SVG hunk ./cairo/Graphics/Rendering/Cairo/Internal.hs 45 +import Graphics.Rendering.Cairo.Internal.Surfaces.SVG hunk ./cairo/Graphics/Rendering/Cairo.hs.pp 195 +#ifdef ENABLE_CAIRO_SVG_SURFACE + -- ** SVG surfaces + , withSVGSurface +#endif + hunk ./cairo/Graphics/Rendering/Cairo.hs.pp 1645 + + +#ifdef ENABLE_CAIRO_SVG_SURFACE +-- | Creates a SVG surface of the specified size in points +-- be written to @filename@. +-- +withSVGSurface :: + FilePath -- ^ @filename@ - a filename for the SVG output (must be writable) + -> Double -- ^ width of the surface, in points (1 point == 1\/72.0 inch) + -> Double -- ^ height of the surface, in points (1 point == 1\/72.0 inch) + -> (Surface -> IO a) -- ^ an action that may use the surface. The surface is + -- only valid within in this action. + -> IO a +withSVGSurface filename width height f = + bracket (Internal.svgSurfaceCreate filename width height) + (\surface -> do status <- Internal.surfaceStatus surface + Internal.surfaceDestroy surface + unless (status == StatusSuccess) $ + Internal.statusToString status >>= fail) + (\surface -> f surface) +#endif |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:31
|
Tue Jul 3 13:36:50 PDT 2007 Duncan Coutts <du...@ha...> * Updated windows installer script updated for latest Gtk2Hs version use a build for only a single ghc version (ghc 6.6.1) we previously included builds for both ghc 6.4.2 and 6.6 include the sourceview component hunk ./tools/win32/gtk2hs.iss 7 -AppVerName=Gtk2Hs 0.9.10.6[_^M_][_$_] -AppVersion=0.9.10.6[_^M_][_$_] +AppVerName=Gtk2Hs 0.9.11.3[_^M_][_$_] +AppVersion=0.9.11.3[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 15 -OutputBaseFilename=gtk2hs-0.9.10.6[_^M_][_$_] +OutputBaseFilename=gtk2hs-0.9.11.3[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 17 -VersionInfoVersion=0.9.10.6[_^M_][_$_] +VersionInfoVersion=0.9.11.3[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 27 -Name: "gtk2hs1"; Description: "Gtk2Hs libraries for GHC 6.4.2"; Check: UseWithGhcVersion('6.4.2'); Types: full compact custom; Flags: fixed[_^M_][_$_] -Name: "gtk2hs2"; Description: "Gtk2Hs libraries for GHC 6.6"; Check: UseWithGhcVersion('6.6'); Types: full compact custom; Flags: fixed[_^M_][_$_] +;Name: "gtk2hs1"; Description: "Gtk2Hs libraries for GHC 6.4.2"; Check: UseWithGhcVersion('6.4.2'); Types: full compact custom; Flags: fixed[_^M_][_$_] +Name: "gtk2hs2"; Description: "Gtk2Hs libraries for GHC 6.6.1"; Check: UseWithGhcVersion('6.6.1'); Types: full compact custom; Flags: fixed[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 33 -Source: "gtk+-2.10.9\*"; DestDir: "{app}"; Components: gtk; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] -Source: "gtk2hs-0.9.10.6-ghc-6.4.2-gtk-2.10\*"; DestDir: "{app}"; Components: gtk2hs1; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: AfterPkgInstall;[_^M_][_$_] -Source: "gtk2hs-0.9.10.6-ghc-6.6-gtk-2.10\*"; DestDir: "{app}"; Components: gtk2hs2; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: AfterPkgInstall;[_^M_][_$_] -Source: "gtk2hs-0.9.10.6-demo\*"; DestDir: "{app}\demos"; Components: demos; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] -Source: "gtk2hs-0.9.10.6-docs\*"; DestDir: "{app}\docs"; Components: docs; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] +Source: "gtk+-2.10.13\*"; DestDir: "{app}"; Components: gtk; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] +;Source: "gtk2hs-0.9.11.3-ghc-6.4.2-gtk-2.10\*"; DestDir: "{app}"; Components: gtk2hs1; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: AfterPkgInstall;[_^M_][_$_] +Source: "gtk2hs-0.9.11.3-ghc-6.6.1-gtk-2.10\*"; DestDir: "{app}"; Components: gtk2hs2; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: AfterPkgInstall;[_^M_][_$_] +Source: "gtk2hs-0.9.11.3-demo\*"; DestDir: "{app}\demos"; Components: demos; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] +Source: "gtk2hs-0.9.11.3-docs\*"; DestDir: "{app}\docs"; Components: docs; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 52 -[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "update ""{app}\sourceview.package.conf"""; StatusMsg: "Registering sourceview package..."; Flags: runhidden[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 54 -Filename: "{code:ghcpkg}"; Parameters: "unregister gtkglext-0.9.10.6"; RunOnceId: "gtkglext"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister soegtk-0.9.10.6"; RunOnceId: "soegtk"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister glade-0.9.10.6"; RunOnceId: "glade"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister gtk-0.9.10.6"; RunOnceId: "gtk"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister svgcairo-0.9.10.6"; RunOnceId: "svgcairo"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister cairo-0.9.10.6"; RunOnceId: "cairo"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister glib-0.9.10.6"; RunOnceId: "glib"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister sourceview-0.9.11.3"; RunOnceId: "gtkglext"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister gtkglext-0.9.11.3"; RunOnceId: "gtkglext"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister soegtk-0.9.11.3"; RunOnceId: "soegtk"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister glade-0.9.11.3"; RunOnceId: "glade"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister gtk-0.9.11.3"; RunOnceId: "gtk"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister svgcairo-0.9.11.3"; RunOnceId: "svgcairo"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister cairo-0.9.11.3"; RunOnceId: "cairo"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister glib-0.9.11.3"; RunOnceId: "glib"; Flags: runhidden[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 137 - Result := (Version = '6.4.2')[_^M_][_$_] - or (Version = '6.6');[_^M_][_$_] + Result := {-(Version = '6.4.2')[_^M_][_$_] + or-} (Version = '6.6.1');[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 174 - RegQueryStringValue(HKEY_CURRENT_USER, 'Software\Haskell\GHC\ghc-6.6', 'InstallDir', GhcInstallDir);[_^M_][_$_] + RegQueryStringValue(HKEY_CURRENT_USER, 'Software\Haskell\GHC\ghc-6.6.1', 'InstallDir', GhcInstallDir);[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 177 -[_^M_][_$_] +{-[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 185 -[_^M_][_$_] +-}[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 190 - RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Haskell\GHC\ghc-6.6', 'InstallDir', GhcInstallDir);[_^M_][_$_] + RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Haskell\GHC\ghc-6.6.1', 'InstallDir', GhcInstallDir);[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 193 -[_^M_][_$_] +{-[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 201 -[_^M_][_$_] +-}[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 208 - InstallationErrorMessage := 'This version of Gtk2Hs requires GHC version 6.6 or 6.4.2.' #13#10 #13#10[_^M_][_$_] + InstallationErrorMessage := 'This version of Gtk2Hs requires GHC version 6.6.1.' #13#10 #13#10[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 216 - InstallationErrorMessage := 'GHC does not appear to be installed correctly, try reinstalling GHC version 6.6 or 6.4.2' #13#10 #13#10[_^M_][_$_] + InstallationErrorMessage := 'GHC does not appear to be installed correctly, try reinstalling GHC version 6.6.1' #13#10 #13#10[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 224 - InstallationErrorMessage := 'GHC does not appear to be installed (or the installation is corrupted), please install GHC version 6.6 or 6.4.2';[_^M_][_$_] + InstallationErrorMessage := 'GHC does not appear to be installed (or the installation is corrupted), please install GHC version 6.6.1';[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 230 - InstallationErrorMessage := 'Gtk2Hs requires GHC to be installed first, please install GHC version 6.6 or 6.4.2' #13#10 #13#10[_^M_][_$_] + InstallationErrorMessage := 'Gtk2Hs requires GHC to be installed first, please install GHC version 6.6.1' #13#10 #13#10[_^M_][_$_] |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:30
|
Tue Jul 3 13:33:05 PDT 2007 Duncan Coutts <du...@ha...> * Update Win32 build scripts Both the scripts for building Gtk2Hs on Windows and the scripts used to build a Gtk+ SDK for Windows. Now using Gtk+ 2.10.13 for the Windows builds. hunk ./tools/win32/combine.sh 30 - rm -r include lib hunk ./tools/win32/combine.sh 31 + rm -r include + rm lib/*.lib + rm -r lib/pkgconfig + rm -r lib/*/include + rmdir lib/glib-2.0 lib/gtkglext-1.0 hunk ./tools/win32/combine.sh 39 -zip -q -r gtk+-dev-${GTK_VERSION}-win32.zip gtk+-dev-${GTK_VERSION}-win32/ +zip -9 -q -r gtk+-dev-${GTK_VERSION}-win32.zip gtk+-dev-${GTK_VERSION}-win32/ hunk ./tools/win32/combine.sh 43 -zip -q -r gtk+-${GTK_VERSION}-win32.zip gtk+-${GTK_VERSION}-win32/ +zip -9 -q -r gtk+-${GTK_VERSION}-win32.zip gtk+-${GTK_VERSION}-win32/ hunk ./tools/win32/download.sh 13 -wget -c $BASE_URL/pango/1.14/pango-${PANGO_VERSION}.zip || exit -wget -c $BASE_URL/pango/1.14/pango-dev-${PANGO_VERSION}.zip || exit +wget -c $BASE_URL/pango/1.16/pango-${PANGO_VERSION}.zip || exit +wget -c $BASE_URL/pango/1.16/pango-dev-${PANGO_VERSION}.zip || exit hunk ./tools/win32/download.sh 16 -wget -c $BASE_URL/atk/1.12/atk-${ATK_VERSION}.zip || exit -wget -c $BASE_URL/atk/1.12/atk-dev-${ATK_VERSION}.zip || exit +wget -c $BASE_URL/atk/1.18/atk-${ATK_VERSION}.zip || exit +wget -c $BASE_URL/atk/1.18/atk-dev-${ATK_VERSION}.zip || exit hunk ./tools/win32/download.sh 38 -wget -c http://www.zlatkovic.com/pub/libxml/oldreleases/libxml2-${LIBXML_VERSION}.win32.zip || exit +wget -c $BASE_URL/dependencies/libxml2-dev-${LIBXML_VERSION}.zip || exit hunk ./tools/win32/download.sh 44 +if test ${GTK_EXTRAS} +then +wget -c $BASE_URL/librsvg/2.16/librsvg-${LIBRSVG_VERSION}.zip +wget -c $BASE_URL/librsvg/2.16/librsvg-dev-${LIBRSVG_VERSION}.zip +wget -c $BASE_URL/librsvg/2.16/svg-gdk-pixbuf-loader-${LIBRSVG_VERSION}.zip + +wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-${SOURCEVIEW_VERSION}.zip +wget -c $BASE_URL/gtksourceview/1.8/gtksourceview-dev-${SOURCEVIEW_VERSION}.zip +fi + hunk ./tools/win32/fix.sh 12 -sed -i -e 's/Libs.private: -lz -lz -lm/Libs.private: -lz -lz -lm -lpng13/' lib/pkgconfig/cairo.pc +sed -i -e 's/Libs.private: -lz -lm/Libs.private: -lm -lpng13/' lib/pkgconfig/cairo.pc +sed -i -e 's/-lz//' lib/pkgconfig/cairo-pdf.pc hunk ./tools/win32/fix.sh 20 -pushd gtk+-dev-${GTK_VERSION} -sed -i -e 's/-user32/-luser32/' -e 's/-Wl,-luuid/-luuid/' lib/pkgconfig/*.pc -popd - hunk ./tools/win32/fix.sh 32 -rm -r readme.txt include/ hunk ./tools/win32/fix.sh 34 -mkdir lib/pkgconfig -cp ../../libxml-2.0.pc lib/pkgconfig/ +sed -i -e 's/-lz//' lib/pkgconfig/libxml-2.0.pc hunk ./tools/win32/fix.sh 37 +if test ${GTK_EXTRAS} +then +pushd librsvg-dev-${LIBRSVG_VERSION} +mv lib/librsvg-2.dll.a lib/rsvg-2.lib +popd + +pushd gtksourceview-dev-${SOURCEVIEW_VERSION} +mv lib/libgtksourceview-1.0.dll.a lib/gtksourceview-1.0.lib +sed -i -e 's/libgnomeprint-2.2//' lib/pkgconfig/gtksourceview-1.0.pc [_$_] +popd +fi hunk ./tools/win32/libxml-2.0.pc 1 -prefix=/ignore -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libXML -Version: 2.6.20 -Description: libXML library version 2. -Requires: -Libs: -L${libdir} -lxml2 -Cflags: rmfile ./tools/win32/libxml-2.0.pc hunk ./tools/win32/prune.sh 58 +pushd libxml2-dev-${LIBXML_VERSION} +rm -rf include +popd + hunk ./tools/win32/unpack.sh 16 -rm -rf libxml2-dev-${LIBXML_VERSION}/ -mv libxml2-${LIBXML_VERSION}.win32 libxml2-dev-${LIBXML_VERSION} -mv libxml2-dev-${LIBXML_VERSION}/libxml2-${LIBXML_VERSION}.win32/* libxml2-dev-${LIBXML_VERSION}/ -rmdir libxml2-dev-${LIBXML_VERSION}/libxml2-${LIBXML_VERSION}.win32/ - hunk ./tools/win32/versions.conf 1 -GLIB_VERSION=2.12.9 -PANGO_VERSION=1.14.9 -ATK_VERSION=1.12.3 -CAIRO_VERSION=1.2.6 -GTK_VERSION=2.10.9 +GLIB_VERSION=2.12.12 +PANGO_VERSION=1.16.4 +ATK_VERSION=1.18.0 +CAIRO_VERSION=1.4.8 +GTK_VERSION=2.10.13 hunk ./tools/win32/versions.conf 12 -LIBXML_VERSION=2.6.20 +LIBXML_VERSION=2.6.27 hunk ./tools/win32/versions.conf 16 +if test ${GTK_EXTRAS} +then +LIBRSVG_VERSION=2.16.1 +SOURCEVIEW_VERSION=1.8.5 +fi + hunk ./tools/win32/win32-build-version.sh 8 - ghc-6.4.2) PATH="${PATH}:${GHC_642_PATH}";;[_^M_][_$_] - ghc-6.6) PATH="${PATH}:${GHC_66_PATH}";;[_^M_][_$_] - *) echo "GHC version parameter must be one of ghc-6.2.2, ghc-6.4.2 or ghc-6.6"; exit;;[_^M_][_$_] + ghc-6.4.2) PATH="${PATH}:${GHC_642_PATH}";;[_^M_][_$_] + ghc-6.6.1) PATH="${PATH}:${GHC_66_PATH}";;[_^M_][_$_] + *) echo "GHC version parameter must be one of ghc-6.2.2, ghc-6.4.2 or ghc-6.6.1"; exit;;[_^M_][_$_] hunk ./tools/win32/win32-build-version.sh 40 +CONFIGURE_FLAGS="--enable-packager-mode --enable-split-objs --enable-libglade --enable-opengl"[_^M_][_$_] +[_^M_][_$_] hunk ./tools/win32/win32-build-version.sh 47 -./configure --enable-packager-mode --enable-split-objs --enable-libglade --prefix=/ ${CONFIGURE_EXTRAFLAGS}[_^M_][_$_] +./configure --prefix=/ ${CONFIGURE_FLAGS} ${CONFIGURE_EXTRAFLAGS}[_^M_][_$_] hunk ./tools/win32/win32-build.conf 2 -VERSION=0.9.10.5[_^M_][_$_] +VERSION=0.9.11.3[_^M_][_$_] hunk ./tools/win32/win32-build.conf 7 -INNOSETUP_BIN_DIR="e:/dcoutts/Inno Setup 5"[_^M_][_$_] +INNOSETUP_BIN_DIR="d:/dcoutts/Inno Setup 5"[_^M_][_$_] hunk ./tools/win32/win32-build.conf 15 -GTK_26_BASEPATH="/e/dcoutts/gtk+-2.6.10"[_^M_][_$_] -GTK_28_BASEPATH="/e/dcoutts/gtk+-2.8.20"[_^M_][_$_] -GTK_210_BASEPATH="/e/dcoutts/gtk+-2.10.9"[_^M_][_$_] +GTK_26_BASEPATH="/d/dcoutts/gtk+-2.6.10"[_^M_][_$_] +GTK_28_BASEPATH="/d/dcoutts/gtk+-2.8.20"[_^M_][_$_] +GTK_210_BASEPATH="/d/dcoutts/gtk+-2.10.13"[_^M_][_$_] hunk ./tools/win32/win32-build.conf 20 -GHC_622_PATH="/home/dcoutts/ghc-6.2.2/bin"[_^M_][_$_] -GHC_642_PATH="/home/dcoutts/ghc-6.4.2/bin"[_^M_][_$_] -GHC_66_PATH="/home/dcoutts/ghc-6.6/bin"[_^M_][_$_] +GHC_622_PATH="/d/dcoutts/ghc-6.2.2/bin"[_^M_][_$_] +GHC_642_PATH="/d/dcoutts/ghc-6.4.2/bin"[_^M_][_$_] +GHC_661_PATH="/d/dcoutts/ghc-6.6.1/bin"[_^M_][_$_] |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:29
|
Tue Jul 3 18:24:35 PDT 2007 Duncan Coutts <du...@ha...> * Reimplement the way we keep track of gthread initialisation state Sadly we cannot just call g_thread_supported() because this macro expands into a reference to a gloabl variable that lives in the gthread dynamic lib. On windows, GHCi's dynamic linker cannot cope with references to global vars from C dlls. So instead we keep a global var in the wrapper, so it's in the same package, rather than crossing a dll boundary. This allows us to track the state, and because the state is allocated in C land, it survives :reload in GHCi, which was the problem with the original scheme. Ugg. hunk ./gtk/Graphics/UI/Gtk/General/General.chs 163 -initialiseGThreads :: IO () -initialiseGThreads = do - gthreadsInitialised <- liftM (toBool . fromIntegral) gtk2hs_thread_supported - when (not gthreadsInitialised) $ do - {# call unsafe g_thread_init #} nullPtr - -foreign import ccall "hsgthread.h gtk2hs_thread_supported" - gtk2hs_thread_supported :: IO CInt +foreign import ccall "hsgthread.h gtk2hs_threads_initialise" + initialiseGThreads :: IO () hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 1 -/* Annoyingly, g_thread_supported is actuall a macro so we need this silly - * little wrapper functions. Grrr. */ +/* We would use the g_thread_supported macro here, but unfortunately on + * windows GHCi's dynamic linker cannot cope with references to global + * variables imported from dlls. + * + * So instead of asking glib if we (or indeed) anyone else has initialised + * the glib gthread system, we keep track of it ourselves. We still have to + * do it in C land so the state survives :reload in GHCi. So there is the + * danger in a mixed language program, of someone else initialising the + * glib thread system and us not being aware of it. :-( + */ hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 14 -int gtk2hs_thread_supported () { - return g_thread_supported(); +void gtk2hs_threads_initialise () { + static int threads_initialised = 0; + + if (!threads_initialised) { + threads_initialised = 1; + g_thread_init(NULL); + } hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.h 1 -/* g_thread_supported wrapper function */ - -int gtk2hs_thread_supported (); +int gtk2hs_threads_initialise (); |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:28
|
Tue Jul 3 17:52:40 PDT 2007 Duncan Coutts <du...@ha...> * Fix for the sed extra-ghci-libs hackery: some libs have '_' in their names hunk ./Makefile.am 1871 - s/"\([a-z0-9.-]*\.0\)"/"lib\1-0"/g; \ + s/"\([a-z0-9._-]*\.0\)"/"lib\1-0"/g; \ |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:28
|
Tue Jul 3 13:29:05 PDT 2007 Duncan Coutts <du...@ha...> * Add a few people who contributed to this release to the AUTHORS file hunk ./AUTHORS 36 + +Toby Allsopp <to...@mi...> +(work on cairo ps & psf backends) + +Malte Milatz <ma...@gm...> +(cairo matrix documentation) + +Maxime Henrion <mu...@Fr...> +(ColorSelectionDialog improvements) |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:26
|
Tue Jul 3 13:18:11 PDT 2007 Duncan Coutts <du...@ha...> * sed hackery to generate extra-ghci-libraries in package files on win32 The .lib names and .dll names on windows do not match up, so we have to specify different libraries for ghci than for ghc. eg for gtk-2.0.lib the corresponding dll is libgtk-2.0-0.dll. We do this conversion using a sed rule plus a short list of hard-coded exceptions. hunk ./Makefile.am 1858 +# +# Annother annoying thing is that the .lib names and .dll names on windows do +# not match up, so we have to specify different libraries for ghci than for +# ghc. Eg while it's gtk-2.0.lib it's libgtk-2.0-0.dll. +# We generate the "extra-ghci-libraries:" field from the "extra-libraries:" +# field using a bit of cunning sed hackery. hunk ./Makefile.am 1868 + -e '/^extra-libraries:/ \ + p; \ + s/extra-libraries/extra-ghci-libraries/; \ + s/"\([a-z0-9.-]*\.0\)"/"lib\1-0"/g; \ + s/"cairo"/"libcairo-2"/; \ + s/"rsvg-2"/"librsvg-2-2"/; \ + s/"xml2"/"libxml2"/' \ |
From: Duncan C. <dun...@wo...> - 2007-07-04 15:34:25
|
Tue Jul 3 13:36:50 PDT 2007 Duncan Coutts <du...@ha...> * Updated windows installer script updated for latest Gtk2Hs version use a build for only a single ghc version (ghc 6.6.1) we previously included builds for both ghc 6.4.2 and 6.6 include the sourceview component hunk ./tools/win32/gtk2hs.iss 7 -AppVerName=Gtk2Hs 0.9.10.6[_^M_][_$_] -AppVersion=0.9.10.6[_^M_][_$_] +AppVerName=Gtk2Hs 0.9.11.3[_^M_][_$_] +AppVersion=0.9.11.3[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 15 -OutputBaseFilename=gtk2hs-0.9.10.6[_^M_][_$_] +OutputBaseFilename=gtk2hs-0.9.11.3[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 17 -VersionInfoVersion=0.9.10.6[_^M_][_$_] +VersionInfoVersion=0.9.11.3[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 27 -Name: "gtk2hs1"; Description: "Gtk2Hs libraries for GHC 6.4.2"; Check: UseWithGhcVersion('6.4.2'); Types: full compact custom; Flags: fixed[_^M_][_$_] -Name: "gtk2hs2"; Description: "Gtk2Hs libraries for GHC 6.6"; Check: UseWithGhcVersion('6.6'); Types: full compact custom; Flags: fixed[_^M_][_$_] +;Name: "gtk2hs1"; Description: "Gtk2Hs libraries for GHC 6.4.2"; Check: UseWithGhcVersion('6.4.2'); Types: full compact custom; Flags: fixed[_^M_][_$_] +Name: "gtk2hs2"; Description: "Gtk2Hs libraries for GHC 6.6.1"; Check: UseWithGhcVersion('6.6.1'); Types: full compact custom; Flags: fixed[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 33 -Source: "gtk+-2.10.9\*"; DestDir: "{app}"; Components: gtk; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] -Source: "gtk2hs-0.9.10.6-ghc-6.4.2-gtk-2.10\*"; DestDir: "{app}"; Components: gtk2hs1; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: AfterPkgInstall;[_^M_][_$_] -Source: "gtk2hs-0.9.10.6-ghc-6.6-gtk-2.10\*"; DestDir: "{app}"; Components: gtk2hs2; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: AfterPkgInstall;[_^M_][_$_] -Source: "gtk2hs-0.9.10.6-demo\*"; DestDir: "{app}\demos"; Components: demos; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] -Source: "gtk2hs-0.9.10.6-docs\*"; DestDir: "{app}\docs"; Components: docs; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] +Source: "gtk+-2.10.13\*"; DestDir: "{app}"; Components: gtk; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] +;Source: "gtk2hs-0.9.11.3-ghc-6.4.2-gtk-2.10\*"; DestDir: "{app}"; Components: gtk2hs1; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: AfterPkgInstall;[_^M_][_$_] +Source: "gtk2hs-0.9.11.3-ghc-6.6.1-gtk-2.10\*"; DestDir: "{app}"; Components: gtk2hs2; Flags: ignoreversion recursesubdirs createallsubdirs; AfterInstall: AfterPkgInstall;[_^M_][_$_] +Source: "gtk2hs-0.9.11.3-demo\*"; DestDir: "{app}\demos"; Components: demos; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] +Source: "gtk2hs-0.9.11.3-docs\*"; DestDir: "{app}\docs"; Components: docs; Flags: ignoreversion recursesubdirs createallsubdirs;[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 52 -[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "update ""{app}\sourceview.package.conf"""; StatusMsg: "Registering sourceview package..."; Flags: runhidden[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 54 -Filename: "{code:ghcpkg}"; Parameters: "unregister gtkglext-0.9.10.6"; RunOnceId: "gtkglext"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister soegtk-0.9.10.6"; RunOnceId: "soegtk"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister glade-0.9.10.6"; RunOnceId: "glade"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister gtk-0.9.10.6"; RunOnceId: "gtk"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister svgcairo-0.9.10.6"; RunOnceId: "svgcairo"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister cairo-0.9.10.6"; RunOnceId: "cairo"; Flags: runhidden[_^M_][_$_] -Filename: "{code:ghcpkg}"; Parameters: "unregister glib-0.9.10.6"; RunOnceId: "glib"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister sourceview-0.9.11.3"; RunOnceId: "gtkglext"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister gtkglext-0.9.11.3"; RunOnceId: "gtkglext"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister soegtk-0.9.11.3"; RunOnceId: "soegtk"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister glade-0.9.11.3"; RunOnceId: "glade"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister gtk-0.9.11.3"; RunOnceId: "gtk"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister svgcairo-0.9.11.3"; RunOnceId: "svgcairo"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister cairo-0.9.11.3"; RunOnceId: "cairo"; Flags: runhidden[_^M_][_$_] +Filename: "{code:ghcpkg}"; Parameters: "unregister glib-0.9.11.3"; RunOnceId: "glib"; Flags: runhidden[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 137 - Result := (Version = '6.4.2')[_^M_][_$_] - or (Version = '6.6');[_^M_][_$_] + Result := {-(Version = '6.4.2')[_^M_][_$_] + or-} (Version = '6.6.1');[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 174 - RegQueryStringValue(HKEY_CURRENT_USER, 'Software\Haskell\GHC\ghc-6.6', 'InstallDir', GhcInstallDir);[_^M_][_$_] + RegQueryStringValue(HKEY_CURRENT_USER, 'Software\Haskell\GHC\ghc-6.6.1', 'InstallDir', GhcInstallDir);[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 177 -[_^M_][_$_] +{-[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 185 -[_^M_][_$_] +-}[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 190 - RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Haskell\GHC\ghc-6.6', 'InstallDir', GhcInstallDir);[_^M_][_$_] + RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Haskell\GHC\ghc-6.6.1', 'InstallDir', GhcInstallDir);[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 193 -[_^M_][_$_] +{-[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 201 -[_^M_][_$_] +-}[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 208 - InstallationErrorMessage := 'This version of Gtk2Hs requires GHC version 6.6 or 6.4.2.' #13#10 #13#10[_^M_][_$_] + InstallationErrorMessage := 'This version of Gtk2Hs requires GHC version 6.6.1.' #13#10 #13#10[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 216 - InstallationErrorMessage := 'GHC does not appear to be installed correctly, try reinstalling GHC version 6.6 or 6.4.2' #13#10 #13#10[_^M_][_$_] + InstallationErrorMessage := 'GHC does not appear to be installed correctly, try reinstalling GHC version 6.6.1' #13#10 #13#10[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 224 - InstallationErrorMessage := 'GHC does not appear to be installed (or the installation is corrupted), please install GHC version 6.6 or 6.4.2';[_^M_][_$_] + InstallationErrorMessage := 'GHC does not appear to be installed (or the installation is corrupted), please install GHC version 6.6.1';[_^M_][_$_] hunk ./tools/win32/gtk2hs.iss 230 - InstallationErrorMessage := 'Gtk2Hs requires GHC to be installed first, please install GHC version 6.6 or 6.4.2' #13#10 #13#10[_^M_][_$_] + InstallationErrorMessage := 'Gtk2Hs requires GHC to be installed first, please install GHC version 6.6.1' #13#10 #13#10[_^M_][_$_] |