Commit graph

61 commits

Author SHA1 Message Date
Joey Hess
e62817c00d
move standalone building code out of Makefile and into Build.Standalone
This includes making Build.Standalone run LinuxMkLibs or OSXMkLibs
rather than doing that separately. Which is groundwork for a later
optimisation.

Also it simplified the code some.
2020-08-03 14:15:03 -04:00
Joey Hess
45cc727263
ignore cabal.project.local~
cabal creates this if it overwrites the file
2020-06-18 12:25:47 -04:00
Joey Hess
7a63260a8f
ignore cabal new-build file 2020-06-16 14:26:28 -04:00
Joey Hess
ac347f82cc
ignore and clean the TAGS file 2020-05-19 12:58:25 -04:00
Sean Parsons
42bdc9fa2f Removed Esqueleto as a dependency. 2018-11-06 22:18:55 +00:00
Joey Hess
38d691a10f
removed the old Android app
Running git-annex linux builds in termux seems to work well enough that the
only reason to keep the Android app would be to support Android 4-5, which
the old Android app supported, and which I don't know if the termux method
works on (although I see no reason why it would not).
According to [1], Android 4-5 remains on around 29% of devices, down from
51% one year ago.

[1] https://www.statista.com/statistics/271774/share-of-android-platforms-on-mobile-devices-with-android-os/

This is a rather large commit, but mostly very straightfoward removal of
android ifdefs and patches and associated cruft.

Also, removed support for building with very old ghc < 8.0.1, and with
yesod < 1.4.3, and without concurrent-output, which were only being used
by the cross build.

Some documentation specific to the Android app (screenshots etc) needs
to be updated still.

This commit was sponsored by Brett Eisenberg on Patreon.
2018-10-13 01:41:11 -04:00
Joey Hess
a1b55056fc
Make Build/BuildVersion update embedded version number
This way, autobuilders can run it before building, in a tree where
git-annex was already built, and get the current git rev embedded in the
build.

Before, the version number only updated when the setup program was run,
which was up to cabal and not on every build.
2018-06-26 10:36:54 -04:00
Joey Hess
7ecbb6bc20
stop using git commit date as version
This turns out to have been prolimatic because building from a git tag
would make a git-annex that claimed a different version than the tag's
version.

The git rev is still included in the version, and people who want
to know the exact tree that was built can just use that, so there's no
real benefit to automatically advancing the date part of the version.
2018-06-26 10:11:28 -04:00
Joey Hess
218c679af6
ignore generated file Build/SysConfig.hs 2018-02-28 11:58:53 -04:00
Joey Hess
308cd1383c
fold Build/SysConfig.hs into BuildInfo via include
This avoids warnings from stack about the module not being listed in the
cabal file. So, the generated file is also renamed to Build/SysConfig.

Note that the setup program seems to be cached despite these changes; I
had to cabal clean to get cabal to update it so that Build/SysConfig was
written.

This commit was sponsored by Jochen Bartl on Patreon.
2017-12-14 12:46:57 -04:00
Joey Hess
39a81fbea3
gitignore git-annex-shell 2017-03-17 19:19:10 -04:00
Joey Hess
c8dd196234
fix man page building 2016-06-02 16:54:58 -04:00
Joey Hess
abf28714c3
update 2016-06-02 13:20:27 -04:00
Joey Hess
7b61c7f5d0
temporarily add cabal.config to support ghc 8.0.1 build
This commit can be reverted once the library deps are worked out upstream.
2016-05-24 16:06:27 -04:00
Joey Hess
7926b2705a
add .stack-work 2015-12-28 17:19:07 -04:00
Joey Hess
a2409bc644 cleanup makefile 2015-07-23 12:51:27 -04:00
Joey Hess
bc1c18a951 move build man pages to man/ from top dir 2015-03-23 15:43:45 -04:00
Joey Hess
d0d96b7428 gitignore Build/BuildVersion 2014-06-18 14:43:20 -04:00
Fraser Tweedale
fbb30eac13 .gitignore: add cabal sandbox dir and config files 2014-04-08 23:37:04 +10:00
Joey Hess
5a21da4955 ignore update 2014-01-24 12:55:56 -04:00
Joey Hess
692aa01aa9 update for LinuxMkLibs 2013-12-24 13:25:40 -04:00
Joey Hess
b245aa40df moving git-repair to its own package 2013-11-18 13:24:55 -04:00
Joey Hess
4f871f89ba git-recover-repository 1/2 done 2013-10-20 17:50:51 -04:00
Joey Hess
c3bfcdf71d re-enable .o and .hi exclusion
jimmy tells me this was what was breaking his OSX autobuilder.
2013-06-26 11:43:45 -04:00
Joey Hess
b9448c31a3 stop gitignoring .o and .hi files 2013-06-21 13:10:25 -04:00
Joey Hess
b3a521db70 releasing version 4.20130521 2013-05-21 14:23:27 -04:00
Joey Hess
692a2be51b ignore *.o and *.hi, which are now all removed on clean 2013-04-14 16:58:15 -04:00
Joey Hess
b179a6af58 remove dup 2013-04-14 16:17:34 -04:00
Joey Hess
83004de111 avoid runghc 2013-04-14 16:10:38 -04:00
Joey Hess
cbd53b4a8c Makefile now builds using cabal, taking advantage of cabal's automatic detection of appropriate build flags.
The only thing lost is ./ghci

Speed: make fast used to take 20 seconds here, when rebuilding from
touching Command/Unused.hs. With cabal, it's 29 seconds.
2013-02-27 02:39:22 -04:00
Joey Hess
9e941f745d add ctags generation
I need to clean up the path to hasktags. Ideally by packaging it in Debian.

Not using ghci's own tags generation because it falls over on pre-compiled
files.
2013-01-29 22:35:10 +11:00
Joey Hess
fd65a299af add some OSX thing 2012-11-09 11:28:43 -04:00
Joey Hess
0cfe1a5127 cleanup 2012-09-25 11:49:36 -04:00
Joey Hess
37dff15ade add osxapp target
Not fully tested.
2012-09-24 19:42:45 -04:00
Jimmy Tang
8144daae1a Ignore some OSX related files which should never end up in the repo 2012-09-23 10:30:32 +01:00
Joey Hess
68f1be8f0a Merge branch 'master' into assistant
Conflicts:
	Makefile
	debian/copyright
2012-08-20 16:04:56 -04:00
Joey Hess
08db0b9fa3 ignore build-stamp 2012-08-20 16:03:47 -04:00
Joey Hess
e2c86a4b58 extacted Mounts.hsc from hsshellscript
Converted from using c2hs to using hsc2hs, just because other code
in git-annex uses hsc2hs.

Various cleanups.

This code is LGPLed, so I had to include that licence.
2012-07-19 12:53:39 -04:00
Joey Hess
3c8a9043b6 skeleton C library for calling kqueue 2012-06-18 12:25:20 -04:00
Joey Hess
66a961b1b7 remove cabal file 2012-06-12 11:35:24 -04:00
Nathan Collins
9fe433390d Remove .dir-locals.el and add doc/contributing.mdwn.
Add link CONTRIBUTING -> doc/contributing.mdwn, so that it's easy to
find (many files in doc/).

Add .dir-locals.el to .gitignore, now that it's no longer versioned.

The CONTRIBUTING file gives a reference to a page on the Emacs wiki
that shows how to set up a .dir-locals.el that sets up tabs for
indentation.  I updated the wiki page to include the
`(highlight-regexp "^ *")` part, which had been the hardest to
discover.
2012-06-12 00:43:42 -07:00
Nathan Collins
7753b33c88 Refactor generation of git-annex.cabal and incorporate man pages.
The existing `sed | find | perl` hack in the Makefile was not
including the man pages in the generated git-annex.cabal.  I couldn't
figure out why it didn't work; running the `find | perl` part of the
command *did* list the man pages ...

So, I set up a new hack. It produces a cleaner .cabal file and
includes the man pages in the sdist.  I changed git-annex.cabal and
its generation as follows:

- git-annex.cabal is now generated by a here document in
  git-annex.cabal.template.sh.  The here document has inline file list
  insertion, whereas before the file lists were inserted with sed.

- The 'Extra-Source-Files:' field now only includes the non-source
  files: the man pages, plain text documentation, and license.

- The source dependencies are now listed in 'Other-Modules' sections
  in the 'Executable' and 'Test-Suite' sections.  The list of
  dependencies is generated by `gen-other-modules.sh`.

- The ./debian and ./doc are no longer included in the sdist package.
  These were not installed anywhere by `cabal install`.  A user that
  wants them could clone the git repo.

Running the tests with cabal is not yet working, i.e.

  cabal configure --enable-tests && cabal build && cabal test

and

  cabal install --enable-tests

fail to find Utility.Touch.  However, I did not break this: it doesn't
work for the git-annex package on Hackage either.  Next step is to
figure out how to deal with HSC in cabal ... or not bother, because
`make test` works.  I'm worried this is a cabal bug.

To test building from sdist, I've been running

  cd ../.. ; cabal sdist ; cd dist ; tar xf git-annex-3.20120605.tar.gz && cd git-annex-3.20120605 && rm -fr /tmp/git-annex && cabal install --prefix=/tmp/git-annex && tree -A /tmp/git-annex

in the dist directory.  Using `cabal-dev install` is a better test,
but is very slow.
2012-06-11 00:12:11 -07:00
Nathan Collins
721de7067c Add cabal-dev to .gitignore. 2012-06-10 19:03:35 -07:00
Joey Hess
f377cbc129 update 2012-04-30 14:23:18 -04:00
Joey Hess
d820099c8f makefile tweaks
Put build cruft in a subdir
2012-03-15 00:04:28 -04:00
Joey Hess
d926e29b9f update ignores 2012-01-05 23:21:03 -04:00
Joey Hess
203148363f split groups of related functions out of Utility 2011-08-22 16:14:12 -04:00
Joey Hess
737b5d14c9 moved files around 2011-08-20 16:11:42 -04:00
Joey Hess
56aeeb4565 cabal can now be used to build git-annex.
This is substantially slower than using make, does not build or install
documentation, does not run the test suite, and is not particularly
recommended, but could be useful to some.
2011-06-30 14:55:03 -04:00
Joey Hess
c835166a7c add git-union-merge
This is a new git subcommand, that does a generic union merge operation
between two refs, storing the result in a branch. It operates efficiently
without touching the working tree. It does need to write out a temporary
index file, and may need to write out some other temp files as well.

This could be useful for anything that stores data in a branch,
and needs to merge changes into that branch without actually checking the
branch out. Since conflict handling can't be done without a working copy,
the merge type is always a union merge, which is fine for data stored in
log format (as git-annex does), or in non-conflicting files
(as pristine-tar does).

This probably belongs in git proper, but it will live in git-annex for now.

---

Plan is to move .git-annex/ to a git-annex branch, and use git-union-merge
to handle merging changes when pulling from remotes.

Some preliminary benchmarking using real .git-annex/ data indicates
that it's quite fast, except for the "git add" call, which is as slow
as "git add" tends to be with a big index.
2011-06-20 21:37:18 -04:00