Usage of non-gzip files in Artifacts

Currently, Pkg.Artifacts assume downloaded file is gzipped and try to unzip it during artifact"a_name". But some packages need to download files as artifacts, which are not archives. Is there way to add non-archives to Artifacts.toml, so they can be downloaded to package using the proper way?
Currently I’m trying to do it through https://github.com/r3tex/CQLdriver.jl which download some files from ttps://downloads.datastax.com/cpp-driver/centos/7/cassandra/v2.15.3/ and I want to migrate this package to usage of Pkg.Artifacts.

1 Like

No, there isn’t.
The Artifact system assumes the files it downloaded are specially crafted for it.
Which you can do if you want, by creating the right achieve structure and hosting it somewhere else.

In this particular case you might want to BinaryBuilder Cassandra.
That will give you a proper artifacts and more
Not just download some files

2 Likes

So there is no easy way to add existing, already built binaries to a library although it’s sometimes the recommended way to install that (e.g. cassandra driver for python) is to download compiled driver?
Wouldn’t that make it harder to add Julia support for some technologies as it would require people to replicate the compilation in BinaryBuilder?

But I understand that making policy that such files should be built using BinaryBuilders leads to more quality ecosystem and more stable packages so it makes sense.

1 Like

If I got it right, artifacts are unpacked after download. So if the artifact were a single large file, say a big database, a video, etc., wouldn’t be just as right that the url could be a direct link to download it, without having to pack it and store it elsewhere?

(It might even happen that the license of the original file doesn’t allow such form of republication, so it wouldn’t be usable with such current restriction of the artifacts system.)