38d691a10f
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.
104 lines
2 KiB
Haskell
104 lines
2 KiB
Haskell
{- git-annex build flags
|
|
-
|
|
- Copyright 2013-2017 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU GPL version 3 or higher.
|
|
-}
|
|
|
|
{-# LANGUAGE CPP #-}
|
|
|
|
module BuildFlags where
|
|
|
|
import Data.List
|
|
import Data.Ord
|
|
import qualified Data.CaseInsensitive as CI
|
|
|
|
buildFlags :: [String]
|
|
buildFlags = filter (not . null)
|
|
[ ""
|
|
#ifdef WITH_ASSISTANT
|
|
, "Assistant"
|
|
#else
|
|
#warning Building without the assistant.
|
|
#endif
|
|
#ifdef WITH_WEBAPP
|
|
, "Webapp"
|
|
#else
|
|
#warning Building without the webapp. You probably need to install Yesod..
|
|
#endif
|
|
#ifdef WITH_PAIRING
|
|
, "Pairing"
|
|
#else
|
|
#warning Building without local pairing.
|
|
#endif
|
|
#ifdef WITH_S3
|
|
, "S3"
|
|
#if MIN_VERSION_aws(0,10,6)
|
|
++ "(multipartupload)"
|
|
#endif
|
|
#if MIN_VERSION_aws(0,13,0)
|
|
++ "(storageclasses)"
|
|
#endif
|
|
#else
|
|
#warning Building without S3.
|
|
#endif
|
|
#ifdef WITH_WEBDAV
|
|
, "WebDAV"
|
|
#else
|
|
#warning Building without WebDAV.
|
|
#endif
|
|
#ifdef WITH_INOTIFY
|
|
, "Inotify"
|
|
#endif
|
|
#ifdef WITH_FSEVENTS
|
|
, "FsEvents"
|
|
#endif
|
|
#ifdef WITH_KQUEUE
|
|
, "Kqueue"
|
|
#endif
|
|
#ifdef WITH_DBUS
|
|
, "DBus"
|
|
#endif
|
|
#ifdef WITH_DESKTOP_NOTIFY
|
|
, "DesktopNotify"
|
|
#endif
|
|
#ifdef WITH_TORRENTPARSER
|
|
, "TorrentParser"
|
|
#endif
|
|
#ifdef WITH_MAGICMIME
|
|
, "MagicMime"
|
|
#endif
|
|
-- Always enabled now, but users may be used to seeing these flags
|
|
-- listed.
|
|
, "Feeds"
|
|
, "Testsuite"
|
|
]
|
|
|
|
-- Not a complete list, let alone a listing transitive deps, but only
|
|
-- the ones that are often interesting to know.
|
|
dependencyVersions :: [String]
|
|
dependencyVersions = map fmt $ sortBy (comparing (CI.mk . fst))
|
|
[ ("feed", VERSION_feed)
|
|
, ("uuid", VERSION_uuid)
|
|
, ("bloomfilter", VERSION_bloomfilter)
|
|
, ("http-client", VERSION_http_client)
|
|
, ("persistent-sqlite", VERSION_persistent_sqlite)
|
|
, ("cryptonite", VERSION_cryptonite)
|
|
#ifdef WITH_S3
|
|
, ("aws", VERSION_aws)
|
|
#endif
|
|
#ifdef WITH_WEBDAV
|
|
, ("DAV", VERSION_DAV)
|
|
#endif
|
|
#ifdef WITH_TORRENTPARSER
|
|
, ("torrent", VERSION_torrent)
|
|
#endif
|
|
#ifdef WITH_WEBAPP
|
|
, ("yesod", VERSION_yesod)
|
|
#endif
|
|
#ifdef TOOL_VERSION_ghc
|
|
, ("ghc", TOOL_VERSION_ghc)
|
|
#endif
|
|
]
|
|
where
|
|
fmt (p, v) = p ++ "-" ++ v
|