[Nix-dev] Fetching variable and unpredictable URL download link

Anderson Torres torres.anderson.85 at gmail.com
Mon Mar 2 00:36:54 CET 2015


2015-03-01 15:16 GMT-03:00 Berno Strik <dutchman55 at gmx.com>:
> Op Sun, 1 Mar 2015 12:21:04 -0300
> Anderson Torres <torres.anderson.85 at gmail.com> schreef:
>
>> Hello, Nixers!
>>
>> How can I "fetchurl" a variable url?
>>
>> When I download a dockapp from Windowmaker site, like
>>
>> "http://windowmaker.org/dockapps/?download=wmSMPmon-3.1.tar.gz",
>>
>> it in fact downloads something like "wmSMPmon-${a long string of
>> chars, like a checksum}.tar.gz". And the long string is unpredictable.
>>
>> And when I run nix-prefetch-url
>> "http://windowmaker.org/dockapps/?download=wmSMPmon-3.1.tar.gz" more
>> than once, it just outputs different hashes:
>>
>> > nix-prefetch-url
>> > http://windowmaker.org/dockapps/\?download\=wmSMPmon-3.1.tar.gz
>>   % Total    % Received % Xferd  Average Speed   Time    Time
>> Time  Current Dload  Upload   Total   Spent    Left  Speed
>>   0     0    0     0    0     0      0      0 --:--:--  0:00:01
>> --:--:--     0 100 24113    0 24113    0     0   3809      0
>> --:--:--  0:00:06 --:--:--  5139 path is
>> ‘/nix/store/lqri8zgmwz3mbf3q07kp62zl81bc6fpq-?download=wmSMPmon-3.1.tar.gz’
>> 104bcfj4j0vlnr4v1fzahgj9amccn1aq7rjcpy1jyqnq6lbrmc3g
>>
>> > nix-prefetch-url
>> > http://windowmaker.org/dockapps/\?download\=wmSMPmon-3.1.tar.gz
>>   % Total    % Received % Xferd  Average Speed   Time    Time
>> Time  Current Dload  Upload   Total   Spent    Left  Speed
>>   0     0    0     0    0     0      0      0 --:--:-- --:--:--
>> --:--:--     0 100 24110    0 24110    0     0   3193      0
>> --:--:--  0:00:07 --:--:--  3985 path is
>> ‘/nix/store/f2b7rksjfh6ajddjhx09xb0jzc04jxg9-?download=wmSMPmon-3.1.tar.gz’
>> 1s01whvf51jrwdmrk3bdgysaa2rzmh56c9p0kv3ydxijaagvqi2x
>>
>> How can I download it?
>
> Use the following code:
>
>   src = fetchgit {
>      url = git://repo.or.cz/dockapps.git;
>      rev = "38c74350b02f35824554ce0c4f0f251d71762040";
>      sha256 = "0g9cwhlqg065fbhav4g4n16a4cqkk9jykl3y0zwbn5whhacfqyhl";
>   };
>
> Explanation:
>
> When you download a dockapp from Windowmaker site you are redirected to
> a git repo site where you get a snapshot out of it. The id of the
> snapshot is the long hexadecimal string you are getting.
> The above code does a checkout of the whole dockapp-git directory.
> The only thing you have left to do is point to the directory where your
> actual dockapp is:
>
> postUnpack = "sourceRoot=\${sourceRoot}/dockapp-dir";
>

So you are just saying we need to download all dockapps and build one by one?

It appears to be better handled with a "multiple-output derivation"! I
will do some research on Nix docs about it.

>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>


More information about the nix-dev mailing list