summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* deal with the persistent locpath issueJoey Hess2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | linux standalone: Generate locale files in ~/.cache/git-annex/locales/ so they're available even when the standalone tarball is installed in a directory owned by root. This avoids a full-on reference counting cleanup hell, by letting old locale caches linger as long as the standalone bundle directory associated with them is still around. Old ones get cleaned up. In the case where the directory has a new bundle unpacked over top of it, the old locale cache is invalidated and rebuilt. Of course, running programs using that may get confused, but this was already the case, and unpacking over top of a bundle is probably not a good idea anyhow. To support that, added a buildid file, which only needs to be unique across builds of git-annex with different libc versions. sha1sum of git-annex seems good enough for that. Removed debian/patches/standalone-no-LOCPATH as it's no longer necessary. This commit was supported by the NSF-funded DataLad project.
* Make Build/BuildVersion update embedded version numberJoey Hess2018-06-26
| | | | | | | | | 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.
* android: try harder to force PIE for android 5+Joey Hess2018-04-16
| | | | This may work around ghc's -no-pie flag. Untested.
* remove chrpath hackJoey Hess2018-02-27
| | | | | | | | | | | | | | | | | | Makefile: Remove chrpath workaround for bug in cabal, which is no longer needed. https://github.com/haskell/cabal/issues/2717 says it uses RUNPATH instead of RPATH now, but I don't even see that for statically linked libraries; the bug with that appears to be fixed. cabal-install version 1.24.0.2 compiled using version 1.24.2.0 of the Cabal library I left the rpath removal using otool on OSX because those straight up broke the linker, and I don't know if the OSX autobuilder is updated to a new enough cabal to not need it. This commit was sponsored by Ewen McNeill on Patreon.
* avoid warning with current ghcJoey Hess2018-01-15
| | | | | | Seems that the cabal macros file is no longer needed to build DistributionUpdate, and it produced a ton of warnings, so stop including manually.
* Removed the testsuite build flagJoey Hess2017-12-20
| | | | | | | | | | Test suite is always included. Building with this flag disabled has actually been broken for some time, since Command.TestRemote uses tasty. Fewer build flags are better, so good time to drop it. This commit was sponsored by Thomas Hochstein on Patreon.
* fold Build/SysConfig.hs into BuildInfo via includeJoey Hess2017-12-14
| | | | | | | | | | | 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.
* add warning: to make clear this is not an errorJoey Hess2017-12-11
|
* turn on lambdacase for distributionupdateJoey Hess2017-11-29
|
* Makefile improvement for BUILDER=stack, use stack to run ghc.Joey Hess2017-11-07
|
* simplify ikiwiki docs build testing and outputJoey Hess2017-11-07
|
* Build Build/InstallDesktopFile at "make all" timeEric Siegerman2017-11-07
| | | | | | | | | | If you run stack as root (e.g. for "make install"), any files it creates under ./ will, of course, be owned by root. That's a problem for subsequent runs as non-root. Reduce the likelihood of that happening by building Build/InstallDesktopFile during "make all", so that it needn't be built by "make install".
* /dev/null stderr when generating completionsJoey Hess2017-09-14
| | | | avoid usage display when too old optparse-applicative
* better way of finding stack built executableJoey Hess2017-07-12
|
* zsh and fish completionsJoey Hess2017-06-09
| | | | | | | | | | | | | | | | optparse-applicative-0.14.0.0 adds support for these, so have the Makefile install their scripts when built with it. CmdLine/GitAnnex/Options.hs now uses action "file" in cmdParams, which affects the bash and zsh completions, letting them complete filenames for subcommands that use that. This is not needed for bash, since bash-completion.bash enables -o bashdefault, which lets it complete filenames too. But it does not seem to break the bash completions. It is needed for zsh; the zsh completion otherwise does not complete filenames. The fish completion will always complete filenames no matter what. Messy. This commit was sponsored by Denis Dzyubenko on Patreon.
* run stack setup when building with stackJoey Hess2017-05-16
| | | | | | | | This gets ghc installed if it's not already. Motivation: Ævar's git test that runs git-annex test using git can be called with BUILDER=stack, but without stack setup being run sometime, the stack build will fail.
* remove git-annex-shell symlink on cleanJoey Hess2017-05-10
|
* test needs git-annex-shell symlinkJoey Hess2017-03-18
|
* test suite infra for testing mocked ssh remotesJoey Hess2017-03-17
| | | | This commit was supported by the NSF-funded DataLad project.
* fix osxapp depsJoey Hess2017-02-28
|
* fix osxapp targetJoey Hess2017-02-26
| | | | Broken by recent changes to other targets
* add back a configure targetJoey Hess2017-02-24
| | | | | | | | | | Otherwise, make reconfigures every time and then rebuilds all files. I went too far in 3af9f5ed1a54f1df12f85f613826040e5e855817. All that's needed is to make the configure target not use Build/SysConfig.hs as the target name, so make won't delete that file after a failed build. This commit was supported by the NSF-funded DataLad project
* remove Build/SysConfig.hs targetJoey Hess2017-02-21
| | | | | | | | | | | | | | | | | The problem with that target was, if a target like git-annex that depended on it failed for some reason, make would delete Build/SysConfig.hs, since it knows it's an intermediate file. But, since stack only builds that file once, that caused all subsequent make git-annex builds to fail. Also, this avoids a double stack build when building with stack. Since stack has no configure stage, and the Build/SysConfig.hs target was about running the configure stage, the only way to only build once is to combine the targets like this. This should work better on the autobuilders that build with stack. This commit was sponsored by NSF-funded DataLad project
* avoid OSX build failure when there are no rpaths to removeJoey Hess2017-02-14
|
* Added git template directory to Linux standalone tarball and OSX app bundle.Joey Hess2017-02-10
| | | | | | | | Git does not provide a switch to find out where this directory is, and while the git-init man page says it will always be in /usr/share/git-core/templates, that's not the case on OSX with git installed from homebrew. So, I used a hack taking the --man-path and constructing a path from that. Works on both Debian and OSX at least.
* Merge branch 'master' into no-xmppJoey Hess2016-12-24
|\
| * Added git-remote-tor-annex, which allows git pull and push to the tor hidden ↵Joey Hess2016-11-21
| | | | | | | | | | | | | | | | | | | | | | service. Almost working, but there's a bug in the relaying. Also, made tor hidden service setup pick a random port, to make it harder to port scan. This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
* | remove xmpp supportJoey Hess2016-11-14
|/ | | | | | | | | | | | I've long considered the XMPP support in git-annex a wart. It's nice to remove it. (This also removes the NetMessager, which was only used for XMPP, and the daemonstatus's desynced list (likewise).) Existing XMPP remotes should be ignored by git-annex. This commit was sponsored by Brock Spratlen on Patreon.
* OSX: Remove RPATHs from git-annex binary, which are not needed, slow down ↵Joey Hess2016-11-07
| | | | | | | | | | | startup, and break the OSX Sierra linker. ghc 8.0.2 may make this unncessary, but it's not in a stackage version yet, so put in a workaround. Note that the linux builds already delete the RPATHs for similar reasons. This commit was sponsored by Josh Taylor on Patreon.
* Linux standalone: Fix location of locale files in the bundle.Joey Hess2016-10-31
| | | | | | | The Makefile was putting them in git-annex.linux/i18n/i18n, and so I18NPATH did not point to the files. I think that on close enough to Debian systems, localedef then fell back to using the system-wide locale files, while on other systems it would fail to generate locales.
* Improve style of offline html build of website.Joey Hess2016-10-17
|
* Linux standalone: Include locale files in the bundle, and generate locale ↵Joey Hess2016-10-04
| | | | | | | | | | | | | | | definition files for the locales in use when starting runshell. Currently only done for utf-8 locales because the charset can easily be told for those. Other locales don't include the charset in their name. The locale definition is generated under git-annex.linux/locales. So, this only works if the user can write there. If locale generation fails for any reason, it's silently skipped. The git-annex-standalone.deb installs the bundle under /usr, so this locale generation won't work for non-root users.
* Android: Fix disabling use of cp --reflink=auto, curl, sha224, and sha384.Joey Hess2016-09-05
| | | | | | This was originally done in a7ef05a9, but got lost in some change to the Makefile. Use CROSS_COMPILE=Android to tell configure that it's configuring for android instead of passing it a parameter.
* removed hackage target, not used nowJoey Hess2016-08-31
|
* fix clean of Build/MakeMansJoey Hess2016-07-19
|
* avoid stripping rpath when linking haskell libs dynamicallyJoey Hess2016-07-17
|
* Remove unnecessary rpaths in the git-annex binary, but only when it's built ↵Joey Hess2016-07-06
| | | | using make, not cabal. This speeds up git-annex statup time by around 50%.
* fix man page buildingJoey Hess2016-06-02
|
* Remove Makefile from cabal tarball; man page building is now handled by a ↵Joey Hess2016-05-31
| | | | | | | | small haskell program. This actually runs faster than building the man pages from the makefile did. But the main purpose is to let Setup.hs import Build.Mans and so not need the makefile.
* Updated cabal file explictly lists source files.Joey Hess2016-05-24
| | | | | | | | | | | | | | | | | | | The tarball on hackage will include only the files needed for cabal install; it is NOT the full git-annex source tree. While it's totally obnoxious that cabal files need every file listed out when basic wildcard support could avoid hundreds of lines, and have to be maintained when files are added, this does get the tarball size back down to 1 mb. This also stops stack from complaining that it found modules not listed in the cabal file. debian/changelog, debian/NEWS, debian/copyright: Converted to symlinks to CHANGELOG, NEWS, and COPYRIGHT, which used to symlink to these instead. This avoids needing to include debian/ in the hackage tarball. Setup.hs: Build man pages at install time using make and mdwn2man. If it fails, which it probably will on windows, just skip installing them.
* allow linuxstandalone to be used with stack built binaryJoey Hess2016-03-05
|
* typoJoey Hess2016-02-26
|
* Include magic database in the linux and OSX standalone builds.Joey Hess2016-02-26
|
* add back caballog targetJoey Hess2016-02-15
| | | | used by ghci wrapper script
* fix make fast to link executable againJoey Hess2016-02-15
| | | | Use second ghc pass, not first.
* move -j1 setting to BUILDEROPTIONS, set in debian/rules fileJoey Hess2016-02-05
| | | | | | I needed BUILDEROPTIONS to allow passing flags to stack build, but it also lets me move the -j1 out of the normal build path, and to debian/rules which has the goal of having a reproducible build
* avoid running BUILDER clean when it's cabalJoey Hess2016-01-22
| | | | This alows debian/rules clean to work when build deps are not installed.
* respond, close bad bugJoey Hess2016-01-20
|
* avoid tab warningsJoey Hess2016-01-14
|
* defer find to after buildJoey Hess2015-12-28
|