[Pkg-haskell-commits] darcs: yi: Initial Check-In
Masayuki Hatta
mhatta at debian.org
Sun Feb 24 13:56:22 UTC 2013
Sun Feb 24 13:55:16 UTC 2013 Masayuki Hatta <mhatta at debian.org>
* Initial Check-In
Ignore-this: ade1a256ad230c12427be1626c086c7d
A ./changelog
A ./compat
A ./control
A ./copyright
A ./patches/
A ./patches/man-page.diff
A ./patches/series
A ./patches/use-pointedlist-0.4.diff
A ./patches/workaround-unicode.diff
A ./patches/xpm-icons.diff
A ./rules
A ./source/
A ./source/format
A ./watch
A ./yi-emacs.desktop
A ./yi-vim.desktop
A ./yi.dirs
A ./yi.manpages
A ./yi.menu
Sun Feb 24 13:55:16 UTC 2013 Masayuki Hatta <mhatta at debian.org>
* Initial Check-In
Ignore-this: ade1a256ad230c12427be1626c086c7d
diff -rN -u old-yi//changelog new-yi//changelog
--- old-yi//changelog 1970-01-01 00:00:00.000000000 +0000
+++ new-yi//changelog 2013-02-24 13:56:22.079719316 +0000
@@ -0,0 +1,6 @@
+yi (0.6.6.0-1) UNRELEASED; urgency=low
+
+ * Initial release. (closes: #701527)
+ * Debianization generated by cabal-debian
+
+ -- Masayuki Hatta (mhatta) <mhatta at debian.org> Sun, 24 Feb 2013 01:30:08 +0900
diff -rN -u old-yi//compat new-yi//compat
--- old-yi//compat 1970-01-01 00:00:00.000000000 +0000
+++ new-yi//compat 2013-02-24 13:56:22.079719316 +0000
@@ -0,0 +1 @@
+7
\ No newline at end of file
diff -rN -u old-yi//control new-yi//control
--- old-yi//control 1970-01-01 00:00:00.000000000 +0000
+++ new-yi//control 2013-02-24 13:56:22.083719450 +0000
@@ -0,0 +1,200 @@
+Source: yi
+Priority: extra
+Section: haskell
+Maintainer: Debian Haskell Group <pkg-haskell-maintainers at lists.alioth.debian.org>
+Uploaders: Masayuki Hatta (mhatta) <mhatta at debian.org>
+Build-Depends: debhelper (>= 7.0)
+ , haskell-devscripts (>= 0.8)
+ , cdbs
+ , ghc
+ , ghc-prof
+ , libghc-diff-dev (>= 0.1)
+ , libghc-diff-dev (<< 0.2)
+ , libghc-diff-prof (>= 0.1)
+ , libghc-diff-prof (<< 0.2)
+ , libghc-quickcheck2-dev (>= 2.1.0.2)
+ , libghc-quickcheck2-prof (>= 2.1.0.2)
+ , libghc-cautious-file-dev (>= 1.0.1)
+ , libghc-cautious-file-prof (>= 1.0.1)
+ , libghc-concrete-typerep-dev (>= 0.1)
+ , libghc-concrete-typerep-dev (<< 0.2)
+ , libghc-concrete-typerep-prof (>= 0.1)
+ , libghc-concrete-typerep-prof (<< 0.2)
+ , libghc-data-accessor-dev (>= 0.2.1.4)
+ , libghc-data-accessor-dev (<< 0.3)
+ , libghc-data-accessor-prof (>= 0.2.1.4)
+ , libghc-data-accessor-prof (<< 0.3)
+ , libghc-data-accessor-mtl-dev (>= 0.2)
+ , libghc-data-accessor-mtl-dev (<< 0.3)
+ , libghc-data-accessor-mtl-prof (>= 0.2)
+ , libghc-data-accessor-mtl-prof (<< 0.3)
+ , libghc-data-accessor-template-dev (>= 0.2.1.3)
+ , libghc-data-accessor-template-dev (<< 0.2.2)
+ , libghc-data-accessor-template-prof (>= 0.2.1.3)
+ , libghc-data-accessor-template-prof (<< 0.2.2)
+ , libghc-derive-dev (>= 2.4)
+ , libghc-derive-dev (<< 2.7)
+ , libghc-derive-prof (>= 2.4)
+ , libghc-derive-prof (<< 2.7)
+ , libghc-dlist-dev (>= 0.4.1)
+ , libghc-dlist-prof (>= 0.4.1)
+ , libghc-dyre-dev (>= 0.7)
+ , libghc-dyre-prof (>= 0.7)
+ , libghc-fingertree-dev (<< 0.1)
+ , libghc-fingertree-prof (<< 0.1)
+ , libghc-ghc-paths-dev (>= 0.1)
+ , libghc-ghc-paths-dev (<< 0.2)
+ , libghc-ghc-paths-prof (>= 0.1)
+ , libghc-ghc-paths-prof (<< 0.2)
+ , libghc-hashable-dev (<< 1.2)
+ , libghc-hashable-prof (<< 1.2)
+ , libghc-hint-dev (>> 0.3.1)
+ , libghc-hint-prof (>> 0.3.1)
+ , libghc-mtl-dev (>= 0.1.0.1)
+ , libghc-mtl-prof (>= 0.1.0.1)
+ , libghc-pointedlist-dev (>= 0.4)
+ , libghc-pointedlist-dev (<< 0.5)
+ , libghc-pointedlist-prof (>= 0.4)
+ , libghc-pointedlist-prof (<< 0.5)
+ , libghc-puremd5-dev (>= 0.2.3)
+ , libghc-puremd5-prof (>= 0.2.3)
+ , libghc-random-dev
+ , libghc-random-prof
+ , libghc-regex-base-dev (>= 0.93)
+ , libghc-regex-base-dev (<< 0.94)
+ , libghc-regex-base-prof (>= 0.93)
+ , libghc-regex-base-prof (<< 0.94)
+ , libghc-regex-tdfa-dev (>= 1.1)
+ , libghc-regex-tdfa-dev (<< 1.2)
+ , libghc-regex-tdfa-prof (>= 1.1)
+ , libghc-regex-tdfa-prof (<< 1.2)
+ , libghc-rosezipper-dev (>= 0.1)
+ , libghc-rosezipper-dev (<< 0.3)
+ , libghc-rosezipper-prof (>= 0.1)
+ , libghc-rosezipper-prof (<< 0.3)
+ , libghc-split-dev (>= 0.1)
+ , libghc-split-dev (<< 0.2)
+ , libghc-split-prof (>= 0.1)
+ , libghc-split-prof (<< 0.2)
+ , libghc-uniplate-dev
+ , libghc-uniplate-prof
+ , libghc-unix-compat-dev (>= 0.1)
+ , libghc-unix-compat-dev (<< 0.4)
+ , libghc-unix-compat-prof (>= 0.1)
+ , libghc-unix-compat-prof (<< 0.4)
+ , libghc-unordered-containers-dev (>= 0.1.3)
+ , libghc-unordered-containers-dev (<< 0.3)
+ , libghc-unordered-containers-prof (>= 0.1.3)
+ , libghc-unordered-containers-prof (<< 0.3)
+ , libghc-utf8-string-dev (>= 0.3.1)
+ , libghc-utf8-string-prof (>= 0.3.1)
+ , libghc-vty-dev (>= 4.7.0.0)
+ , libghc-vty-dev (<< 5)
+ , libghc-vty-prof (>= 4.7.0.0)
+ , libghc-vty-prof (<< 5)
+ , alex
+ , libghc-gtk-dev
+ , libghc-gtk-prof
+ , libghc-vte-dev
+ , libghc-vte-prof
+Build-Depends-Indep: ghc-doc
+ , libghc-diff-doc (>= 0.1)
+ , libghc-diff-doc (<< 0.2)
+ , libghc-quickcheck2-doc (>= 2.1.0.2)
+ , libghc-cautious-file-doc (>= 1.0.1)
+ , libghc-concrete-typerep-doc (>= 0.1)
+ , libghc-concrete-typerep-doc (<< 0.2)
+ , libghc-data-accessor-doc (>= 0.2.1.4)
+ , libghc-data-accessor-doc (<< 0.3)
+ , libghc-data-accessor-mtl-doc (>= 0.2)
+ , libghc-data-accessor-mtl-doc (<< 0.3)
+ , libghc-data-accessor-template-doc (>= 0.2.1.3)
+ , libghc-data-accessor-template-doc (<< 0.2.2)
+ , libghc-derive-doc (>= 2.4)
+ , libghc-derive-doc (<< 2.7)
+ , libghc-dlist-doc (>= 0.4.1)
+ , libghc-dyre-doc (>= 0.7)
+ , libghc-fingertree-doc (<< 0.1)
+ , libghc-ghc-paths-doc (>= 0.1)
+ , libghc-ghc-paths-doc (<< 0.2)
+ , libghc-hashable-doc (<< 1.2)
+ , libghc-hint-doc (>> 0.3.1)
+ , libghc-mtl-doc (>= 0.1.0.1)
+ , libghc-pointedlist-doc (>= 0.4)
+ , libghc-pointedlist-doc (<< 0.5)
+ , libghc-puremd5-doc (>= 0.2.3)
+ , libghc-random-doc
+ , libghc-regex-base-doc (>= 0.93)
+ , libghc-regex-base-doc (<< 0.94)
+ , libghc-regex-tdfa-doc (>= 1.1)
+ , libghc-regex-tdfa-doc (<< 1.2)
+ , libghc-rosezipper-doc (>= 0.1)
+ , libghc-rosezipper-doc (<< 0.3)
+ , libghc-split-doc (>= 0.1)
+ , libghc-split-doc (<< 0.2)
+ , libghc-uniplate-doc
+ , libghc-unix-compat-doc (>= 0.1)
+ , libghc-unix-compat-doc (<< 0.4)
+ , libghc-unordered-containers-doc (>= 0.1.3)
+ , libghc-unordered-containers-doc (<< 0.3)
+ , libghc-utf8-string-doc (>= 0.3.1)
+ , libghc-vty-doc (>= 4.7.0.0)
+ , libghc-vty-doc (<< 5)
+ , libghc-gtk-doc
+ , libghc-vte-doc
+Standards-Version: 3.9.3
+Homepage: http://haskell.org/haskellwiki/Yi
+Vcs-Darcs: http://darcs.debian.org/darcs/pkg-haskell/yi
+Vcs-Browser: http://darcs.debian.org/cgi-bin/darcsweb.cgi?r=pkg-haskell/yi
+
+Package: libghc-yi-dev
+Architecture: any
+Depends: ${shlibs:Depends}
+ , ${haskell:Depends}
+ , ${misc:Depends}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Provides: ${haskell:Provides}
+Description: Haskell-Scriptable Editor
+ Yi is a text editor written in Haskell and extensible in Haskell. The goal
+ of the Yi project is to provide a flexible, powerful, and correct editor
+ for haskell hacking.
+ .
+ This package contains the normal library files.
+
+Package: libghc-yi-prof
+Architecture: any
+Depends: ${haskell:Depends}
+ , ${misc:Depends}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Provides: ${haskell:Provides}
+Description: Haskell-Scriptable Editor
+ Yi is a text editor written in Haskell and extensible in Haskell. The goal
+ of the Yi project is to provide a flexible, powerful, and correct editor
+ for haskell hacking.
+ .
+ This package contains the libraries compiled with profiling enabled.
+
+Package: libghc-yi-doc
+Architecture: all
+Section: doc
+Depends: ${haskell:Depends}
+ , ${misc:Depends}
+Recommends: ${haskell:Recommends}
+Suggests: ${haskell:Suggests}
+Description: Haskell-Scriptable Editor
+ Yi is a text editor written in Haskell and extensible in Haskell. The goal
+ of the Yi project is to provide a flexible, powerful, and correct editor
+ for haskell hacking.
+ .
+ This package contains the documentation files.
+
+Package: yi
+Architecture: any
+Section: misc
+Depends: ${shlibs:Depends}, ${haskell:Depends}, ${misc:Depends}
+Description: Haskell-Scriptable Editor
+ Yi is a text editor written in Haskell and extensible in Haskell. The goal
+ of the Yi project is to provide a flexible, powerful, and correct editor
+ for haskell hacking.
diff -rN -u old-yi//copyright new-yi//copyright
--- old-yi//copyright 1970-01-01 00:00:00.000000000 +0000
+++ new-yi//copyright 2013-02-24 13:56:22.083719450 +0000
@@ -0,0 +1,28 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: yi
+Upstream-Contact: Yi development team <yi-devel at googlegroups.com>
+Source: http://hackage.haskell.org/package/yi
+
+Files: *
+Copyright: Copyright 2013 Yi development team <yi-devel at googlegroups.com>
+License: GPL-2
+ This program is free software; you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation;
+ version 2 of the License.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
diff -rN -u old-yi//patches/man-page.diff new-yi//patches/man-page.diff
--- old-yi//patches/man-page.diff 1970-01-01 00:00:00.000000000 +0000
+++ new-yi//patches/man-page.diff 2013-02-24 13:56:22.083719450 +0000
@@ -0,0 +1,69 @@
+--- /dev/null
++++ b/yi.1
+@@ -0,0 +1,65 @@
++.TH YI 1 2008-10-22 "yi version 0.1" "User Manual"
++
++.SH NAME
++yi \- text editor extensible in Haskell
++
++.SH SYNOPSIS
++.B yi
++[\fIOPTION\fR] [\fIFILENAME\fR]
++
++.SH DESCRIPTION
++.ds c \fIYi\fP
++\*c is a text editor written and extensible in Haskell. Consult the html
++documentation for a full description of its behaviour.
++.PP
++.TP
++.B \-\-selfcheck
++Run self-checks
++.TP
++.B \-f frontend \-\-frontend=frontend
++Select frontend (one of vty, gtk, pango, cocoa).
++.TP
++.B \-y config \-\-config\-file=config
++Specify a configuration file.
++.TP
++.B \-V \-\-version
++Show version information
++.TP
++.B \-h \-\-help
++Show help message.
++.TP
++.B \-\-debug
++Write debug information in a log file.
++.TP
++.B \-l num \-\-line=num
++Start on given line number
++.TP
++.B \-\-as=editor
++Start with key bindings of given editor.
++.TP
++.B \-\-recompile\-force
++Force recompile of custom Yi before starting.
++.TP
++.B \-\-resume
++Resume execution of Yi from previous state.
++.TP
++.B \-\-recompile
++Recompile custom Yi if required then exit.
++
++.SH BUGS
++Bug reports should be posted to the Google issue tracker
++<http://code.google.com/p/yi-editor/issues/>. Other suggestions or ideas may
++be posted to the yi-devel <yi-devel at googlegroups.com> mailing list.
++.SH COPYRIGHT
++Copyright \(co 2004-2005 Don Stewart,
++except for components derived from Riot <http://iki.fi/tuomov/riot/>,
++Copyright \(co Tuomo Valkonen.
++.PP
++Yi is released under the terms of the GPL.
++.SH "SEE ALSO"
++.BR vi (1)
++
++.SH AUTHOR
++
++Yi is developed by a team of many developers, currently lead by Jean-Philippe
++Bernardy.
+\ No newline at end of file
diff -rN -u old-yi//patches/series new-yi//patches/series
--- old-yi//patches/series 1970-01-01 00:00:00.000000000 +0000
+++ new-yi//patches/series 2013-02-24 13:56:22.083719450 +0000
@@ -0,0 +1,4 @@
+xpm-icons.diff
+workaround-unicode.diff
+man-page.diff
+use-pointedlist-0.4.diff
diff -rN -u old-yi//patches/use-pointedlist-0.4.diff new-yi//patches/use-pointedlist-0.4.diff
--- old-yi//patches/use-pointedlist-0.4.diff 1970-01-01 00:00:00.000000000 +0000
+++ new-yi//patches/use-pointedlist-0.4.diff 2013-02-24 13:56:22.083719450 +0000
@@ -0,0 +1,207 @@
+--- a/src/library/Yi/Editor.hs
++++ b/src/library/Yi/Editor.hs
+@@ -32,7 +32,7 @@
+ import Yi.Window
+ import qualified Data.Rope as R
+ import qualified Data.DelayList as DelayList
+-import qualified Data.List.PointedList as PL (atEnd)
++import qualified Data.List.PointedList as PL (atEnd, moveTo)
+ import qualified Data.List.PointedList.Circular as PL
+ import qualified Data.Map as M
+ import {-# source #-} Yi.Keymap (extractTopKeymap)
+@@ -142,7 +142,7 @@
+ tabsA = tabs_A . fixCurrentBufferA_
+
+ currentTabA :: Accessor Editor Tab
+-currentTabA = PL.focusA . tabsA
++currentTabA = focusA . tabsA
+
+ dynA :: YiVariable a => Accessor Editor a
+ dynA = dynamicValueA . dynamicA
+@@ -314,7 +314,7 @@
+ withGivenBufferAndWindow0 w (bufkey w) f
+
+ currentWindowA :: Accessor Editor Window
+-currentWindowA = PL.focusA . windowsA
++currentWindowA = focusA . windowsA
+
+ -- | Return the current buffer
+ currentBuffer :: Editor -> BufferRef
+@@ -460,7 +460,7 @@
+ -- | Attach the specified buffer to the current window
+ switchToBufferE :: BufferRef -> EditorM ()
+ switchToBufferE bk = do
+- modA (PL.focusA . windowsA) (\w ->
++ modA (focusA . windowsA) (\w ->
+ w { bufkey = bk,
+ bufAccessList = forceFold1 $ ((bufkey w):) . filter (bk/=) $ bufAccessList w })
+
+@@ -506,7 +506,7 @@
+
+ -- | Swaps the focused window with the first window. Useful for layouts such as 'HPairOneStack', for which the first window is the largest.
+ swapWinWithFirstE :: EditorM ()
+-swapWinWithFirstE = modA windowsA (swapFocus (fromJust . PL.move 0))
++swapWinWithFirstE = modA windowsA (swapFocus (fromJust . PL.moveTo 0))
+
+ -- | Moves the focused window to the first window, and moves all other windows down the stack.
+ pushWinToFirstE :: EditorM ()
+@@ -514,7 +514,7 @@
+ where
+ pushToFirst ws = case PL.delete ws of
+ Nothing -> ws
+- Just ws' -> PL.insertLeft (ws ^. PL.focusA) (fromJust $ PL.move 0 ws')
++ Just ws' -> PL.insertLeft (ws ^. focusA) (fromJust $ PL.moveTo 0 ws')
+
+ -- | Swap focused window with the next one
+ moveWinNextE :: EditorM ()
+@@ -530,7 +530,7 @@
+ fixCurrentBufferA_ :: Accessor Editor Editor
+ fixCurrentBufferA_ = fromSetGet (\new _old -> let
+ ws = windows new
+- b = findBufferWith (bufkey $ PL.focus ws) new
++ b = findBufferWith (bufkey $ PL._focus ws) new
+ newBufferStack = nub (bkey b : bufferStack new)
+ -- make sure we do not hold to old versions by seqing the length.
+ in length newBufferStack `seq` new { bufferStack = newBufferStack } ) id
+@@ -541,7 +541,7 @@
+ fixCurrentWindow :: EditorM ()
+ fixCurrentWindow = do
+ b <- gets currentBuffer
+- modA (PL.focusA . windowsA) (\w -> w {bufkey = b})
++ modA (focusA . windowsA) (\w -> w {bufkey = b})
+
+ withWindowE :: Window -> BufferM a -> EditorM a
+ withWindowE w = withGivenBufferAndWindow0 w (bufkey w)
+@@ -577,8 +577,8 @@
+ case foldl searchWindowSet (False, 0, 0) ts of
+ (False, _, _) -> fail $ "No window with key " ++ show wkey ++ "found. (focusWindowE)"
+ (True, tabIndex, winIndex) -> do
+- putA tabsA (fromJust $ PL.move tabIndex ts)
+- modA windowsA (\ws -> fromJust $ PL.move winIndex ws)
++ putA tabsA (fromJust $ PL.moveTo tabIndex ts)
++ modA windowsA (\ws -> fromJust $ PL.moveTo winIndex ws)
+
+ -- | Split the current window, opening a second window onto current buffer.
+ -- TODO: unfold newWindowE here?
+@@ -604,7 +604,7 @@
+ go lms lm =
+ case findPL (layoutManagerSameType lm) lms of
+ Nothing -> head lms
+- Just lmsPL -> f lmsPL ^. PL.focusA
++ Just lmsPL -> f lmsPL ^. focusA
+
+ -- | Next variant of the current layout manager, as given by 'nextVariant'
+ layoutManagerNextVariantE :: EditorM ()
+@@ -645,8 +645,8 @@
+ -- | Moves the focused tab to the given index, or to the end if the index is not specified.
+ moveTab :: Maybe Int -> EditorM ()
+ moveTab Nothing = do count <- getsA tabsA PL.length
+- modA tabsA $ fromJust . PL.move (pred count)
+-moveTab (Just n) = do newTabs <- getsA tabsA (PL.move n)
++ modA tabsA $ fromJust . PL.moveTo (pred count)
++moveTab (Just n) = do newTabs <- getsA tabsA (PL.moveTo n)
+ when (isNothing newTabs) failure
+ putA tabsA $ fromJust newTabs
+ where failure = fail $ "moveTab " ++ show n ++ ": no such tab"
+--- a/src/library/Yi/Prelude.hs
++++ b/src/library/Yi/Prelude.hs
+@@ -37,6 +37,7 @@
+ dummyGet,
+ every,
+ findPL,
++focusA,
+ fromIntegral,
+ fst,
+ fst3,
+@@ -232,9 +233,14 @@
+ go ls (f:rs) | p f = Just (PL.PointedList ls f rs)
+ | otherwise = go (f:ls) rs
+
++focusA :: Accessor (PL.PointedList a) a
++focusA = accessor getter setter where
++ getter (PL.PointedList _ x _) = x
++ setter y (PL.PointedList x _ z) = PL.PointedList x y z
++
+ -- | Given a function which moves the focus from index A to index B, return a function which swaps the elements at indexes A and B and then moves the focus. See Yi.Editor.swapWinWithFirstE for an example.
+ swapFocus :: (PL.PointedList a -> PL.PointedList a) -> (PL.PointedList a -> PL.PointedList a)
+-swapFocus moveFocus xs = PL.focusA ^= (xs ^. PL.focusA) $ moveFocus $ PL.focusA ^= (moveFocus xs ^. PL.focusA) $ xs
++swapFocus moveFocus xs = focusA ^= (xs ^. focusA) $ moveFocus $ focusA ^= (moveFocus xs ^. focusA) $ xs
+ ----------------------
+ -- Acessor stuff
+
+--- a/src/library/Yi/Tab.hs
++++ b/src/library/Yi/Tab.hs
+@@ -40,7 +40,7 @@
+ deriving Typeable
+
+ tabFocus :: Tab -> Window
+-tabFocus = PL.focus . tabWindows
++tabFocus = PL._focus . tabWindows
+
+ -- | Returns a list of all mini windows associated with the given tab
+ tabMiniWindows :: Tab -> [Window]
+--- a/src/library/Yi/UI/Pango.hs
++++ b/src/library/Yi/UI/Pango.hs
+@@ -13,6 +13,7 @@
+ import Data.Prototype
+ import Data.IORef
+ import Data.List (drop, intercalate, zip)
++import qualified Data.List.PointedList as PL (moveTo)
+ import qualified Data.List.PointedList.Circular as PL
+ import Data.Maybe
+ import qualified Data.Map as[...incomplete...]
More information about the Pkg-haskell-commits
mailing list