Opened 5 years ago

Last modified 13 months ago

#41466 new submission

port request: 'git-annex'

Reported by: KurtPfeifle (Kurt Pfeifle) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager), ci42, mojca (Mojca Miklavec), pixilla (Bradley Giesbrecht), lpsinger (Leo Singer), grosshei@…, dliessi (Davide Liessi), ryandesign (Ryan Schmidt), samuel@…, dgsb (David Bariod)
Port: git-annex

Description

'git-annex' can manage files with Git, but without needing them to be checked into Git. Recent versions of git-annex come with an assistant which makes it very easy to create and manage synchronised folders (with identical contents everywhere) on each of one's Mac, Linux or Android computers or cloud services used.

Upstream sources are here: http://git-annex.branchable.com/

(For those unfamiliar with git-annex, it's worth while to watch this introduction screencast: https://downloads.kitenet.net/videos/git-annex/git-annex-assistant-intro.ogv )

Attachments (1)

Portfile (1.2 KB) - added by lpsinger (Leo Singer) 4 years ago.
new Portfile

Download all attachments as: .zip

Change History (32)

comment:1 Changed 5 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:2 Changed 5 years ago by cooljeanius (Eric Gallager)

It has a lot of dependencies for building from source: http://git-annex.branchable.com/install/fromscratch/

Haskell stuff:

Dependency Status in MacPorts
The Haskell Platform (GHC 7.4 or newer) Our ghc port is at version 7.6.3
mtl (2.1.1 or newer) Our hs-mtl port (a subport of the haskell-platform) is at version 2.1.2
MissingH we have a missingh port (now known as hs-missingh)
utf8-string we have a port for hs-utf8-string
SHA we have a port for hs-sha
cryptohash (optional but recommended) we have ports for hs-crypto and hs-crypto-api, but no hs-cryptohash port. A port for hs-cryptohash was added in r114513
dataenc we have port for hs-dataenc
monad-control we have a port for hs-monads-fd (which is obsolete), but no hs-monad-control port. A port for hs-monad-control was added in r114498
QuickCheck 2 we have a port for hs-quickcheck (a subport of the haskell-platform), which is at version 2.6...
json we have a port for hs-json
aeson nothing close to it A port for hs-aeson was added in r114505
IfElse nothing close A port for hs-ifelse was added in r114514
dlist we have a port for hs-dlist
bloomfilter nothing close A port for hs-bloomfilter was added in r114516
edit-distance nothing close A port for hs-edit-distance was added in r114517
hS3 (optional) nothing close A port for hs-hs3 was added in r114519
DAV (optional) nothing close
SafeSemaphore nothing close
UUID we have a port for ossp-uuid, but not for the haskell bindings to it...
regex-tdfa we have a port for hs-regex-tdfa
extensible-exceptions we have a port for hs-extensible-exceptions
feed nothing close
async we have a port for hs-async (which is a subport of the haskell-platform)

Optional haskell stuff, used by the assistant and its webapp

Dependency Status in MacPorts
stm (version 2.3 or newer) Our hs-stm port (a subport of the haskell-platform) is version 2.4.2
hinotify (Linux only) N/A
dbus we have a dbus port, but not one for haskell bindings to it
yesod nothing close
yesod-static nothing close
yesod-default nothing close
data-default we have a port for hs-data-default
case-insensitive we have a port for hs-case-insensitive (as a subport for the haskell-platform)
http-types we have a port for just hs-http (as part of the haskell-platform), but not for hs-http-types
wai nothing close
wai-logger nothing close
warp no haskell ports are close
blaze-builder we have a port for hs-blaze-builder
crypto-api I mentioned above that we have a port for hs-crypto-api
hamlet nothing close
clientsession nothing close
network-multicast we have a port for just hs-network (subport of haskell-platform), but not hs-network-multicast
network-info we have a port for just hs-network (subport of haskell-platform), but not hs-network-info
network-protocol-xmpp we have a port for just hs-network (subport of haskell-platform), but not hs-network-protocol-xmpp
dns no haskell ports are close
xml-types we have a port for just hs-xml, but not hs-xml-types
HTTP as above, we have a port for hs-http as a subport of the haskell-platform
unix-compat nothing close
MonadCatchIO-transformers nothing close

Shell commands

git git comes with Xcode as of Xcode 4; we also have a port for git called "git-core"
xargs part of OS X; MacPorts provides a gxargs as part of its findutils port, which has a symlink to its un-g-prefixed name in /opt/local/libexec/gnubin
rsync part of OS X; MacPorts also has a port for rsync
curl (optional, but recommended) part of OS X; MacPorts also has a port for curl
wget (optional) Removed from OS X as of 10.1 Puma; MacPorts has a port for wget
sha1sum (optional, but recommended; a sha1 command will also do) MacPorts's sha1sum command is provided by the md5sha1sum port.
gpg (optional; needed for encryption) MacPorts has a gnupg port
lsof (optional; recommended for watch mode) part of OS X; MacPorts does not provide its own version
gcrypt (optional) MacPorts has a libgcrypt port and perl bindings to it... it is not the exact thing linked to here, though...
multicast DNS support, provided on linux by nss-mdns (optional; recommended for the assistant to support pairing well) OS X has bonjour built-in for multicast dns support. I forked nss-mdns with the intention of bringing it to MacPorts, but failed to get it to build for OS X, and as such, I have not been able to write a Portfile for it yet... MacPorts does have a port for mdnsd, though, which is another software package that provides multicast DNS support (I also have my own fork of the mdnsd Portfile, which points to my own fork of the entire mdnsd package itself).
ikiwiki (optional; used to build the docs) we have a port for ikiwiki

I suppose we could just have MacPorts download the pre-built app bundle (if adding ports for all of these haskell dependencies is too much of an issue): http://downloads.kitenet.net/git-annex/OSX/current/

Last edited 5 years ago by cooljeanius (Eric Gallager) (previous) (diff)

comment:3 Changed 5 years ago by cooljeanius (Eric Gallager)

OK, I should be done updating my table in the previous post now... you should probably also consider cc-ing cal on this, seeing as he is the maintainer for most of the Haskell ports...

comment:4 Changed 5 years ago by neverpanic (Clemens Lang)

Adding haskell ports is rather easy. You'd start by copying one of the haskell portfiles, e.g. hs-utf8-string, modifying the haskell.setup line, removing the revision, if any and generating the correct checksums using port -v checksum.

comment:5 in reply to:  4 Changed 5 years ago by cooljeanius (Eric Gallager)

Replying to cal@…:

Adding haskell ports is rather easy. You'd start by copying one of the haskell portfiles, e.g. hs-utf8-string, modifying the haskell.setup line, removing the revision, if any and generating the correct checksums using port -v checksum.

Yeah, but I wouldn't be able to test them properly... my installed haskell ports are kind of broken...

comment:6 Changed 5 years ago by ci42

Cc: ciserlohn@… added

Cc Me!

comment:7 Changed 5 years ago by ci42

Cc: ciserlohn@… removed

Cc Me!

comment:8 Changed 5 years ago by ci42

Cc: ciserlohn@… added

Cc Me!

comment:9 Changed 5 years ago by cooljeanius (Eric Gallager)

updated the table in comment:2 to reflect the new haskell ports that cal has added as part of the recent pandoc update (i.e. r114495 through r114509, and of the revisions between those, more specifically r114498 and r114505 were applicable)

comment:10 Changed 5 years ago by neverpanic (Clemens Lang)

hs-cryptohash in r114513.

comment:11 Changed 5 years ago by neverpanic (Clemens Lang)

hs-ifelse in r114514.

comment:12 Changed 5 years ago by neverpanic (Clemens Lang)

hs-bloomfilter in r114516.

comment:13 Changed 5 years ago by neverpanic (Clemens Lang)

hs-edit-distance in r114517.

comment:14 Changed 5 years ago by neverpanic (Clemens Lang)

hs-hs3 in r114519 (and its missing dependencies in r114518).

comment:15 Changed 5 years ago by mojca (Mojca Miklavec)

Cc: mojca@… added

Cc Me!

comment:16 Changed 4 years ago by pixilla (Bradley Giesbrecht)

Cc: pixilla@… added

Cc Me!

comment:17 Changed 4 years ago by lpsinger (Leo Singer)

Cc: aronnax@… added

Cc Me!

comment:18 Changed 4 years ago by lpsinger (Leo Singer)

I'm attaching a minimal Portfile; it may be missing some dependencies. Note that I am stuck on building hs-missingh; see #47384.

Changed 4 years ago by lpsinger (Leo Singer)

Attachment: Portfile added

new Portfile

comment:19 Changed 4 years ago by grosshei@…

Cc: grosshei@… added

Cc Me!

comment:20 Changed 4 years ago by dliessi (Davide Liessi)

Cc: davide.liessi@… added

Cc Me!

comment:21 Changed 4 years ago by mf2k (Frank Schima)

Port: git-annex added
Type: requestsubmission

comment:22 in reply to:  18 Changed 4 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added

Replying to aronnax@…:

I'm attaching a minimal Portfile; it may be missing some dependencies. Note that I am stuck on building hs-missingh; see #47384.

It looks like you fixed hs-missingh by updating it to a newer version. Is there anything else blocking git-annex from being committed?

comment:23 Changed 4 years ago by lpsinger (Leo Singer)

Yes, lots. I started descending down the tree of dependencies and manually updating or adding ports as needed. My local ports repo has the following updated/new ports in it:

hs-asn1-encoding
hs-asn1-parse
hs-asn1-types
hs-bloomfilter
hs-cipher-des
hs-clock
hs-connection
hs-crypto-cipher-types
hs-crypto-pubkey
hs-crypto-pubkey-types
hs-esqueleto
hs-git-annex
hs-hourglass
hs-http-client
hs-http-client-conduit
hs-http-client-tls
hs-http-conduit
hs-mime-types
hs-network-info
hs-streaming-commons
hs-tls
hs-tls-extra
hs-unix
hs-unix-compat
hs-uuid
hs-uuid-types
hs-x509
hs-x509-store
hs-x509-system
hs-x509-validation

and there are still some missing. Is there a script for scraping the Haskell web site to generate these ports?

comment:24 in reply to:  23 Changed 4 years ago by pixilla (Bradley Giesbrecht)

Replying to aronnax@…:

... Is there a script for scraping the Haskell web site to generate these ports?

Not that I'm aware of, however, there is a MacPorts GSoC 2015 "Generating Portfiles" project that aims to create one.

comment:25 Changed 3 years ago by samuel@…

+1 would like this.

comment:26 Changed 3 years ago by samuel@…

Cc: samuel@… added

Cc Me!

comment:27 Changed 3 years ago by neverpanic (Clemens Lang)

This isn't happening until we've automated creating Haskell ports from cabal. I've seen other projects do it, so it's basically a matter of writing a few day's worth of Haskell. It's on my todo list, but pretty far at the bottom. Help would be welcome.

comment:28 Changed 2 years ago by dgsb (David Bariod)

Cc: dgsb added

comment:29 in reply to:  27 ; Changed 2 years ago by dgsb (David Bariod)

Replying to neverpanic:

This isn't happening until we've automated creating Haskell ports from cabal. I've seen other projects do it, so it's basically a matter of writing a few day's worth of Haskell. It's on my todo list, but pretty far at the bottom. Help would be welcome.

Hi Clemens,

I'm pretty illiterate in haskell ecosystem, is there any other way we can help to make this topic pop up on your todo ?

Best, David

comment:30 in reply to:  29 Changed 2 years ago by neverpanic (Clemens Lang)

Replying to dgsb:

I'm pretty illiterate in haskell ecosystem,

So am I, so writing a tool that does the job also involves learning quite a bit more of Haskell than I currently know.

is there any other way we can help to make this topic pop up on your todo?

I'm afraid not.

comment:31 Changed 13 months ago by avdyk (Arnaud Vandyck)

I've just discover this tool and use it on my Debian@work. I'd like to use it on my MacBook too ;-)

Is there still a lot of job to do to get git-annex in Mac Ports?

Cheers,

Note: See TracTickets for help on using tickets.