New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
arrayfire: init at 3.6.1 #46133
arrayfire: init at 3.6.1 #46133
Conversation
version = "3.6.1"; | ||
name = "arrayfire-${version}"; | ||
src = fetchurl { | ||
url = "http://arrayfire.s3.amazonaws.com/3.6.1/ArrayFire-v3.6.1_Linux_x86_64.sh"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like you can refer to ${version}
from above here
phases = "installPhase"; | ||
|
||
installPhase = '' | ||
bash ${src} --include-subdirs --prefix=$out |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The source distribution is available from GitHub: https://github.com/arrayfire/arrayfire
This is much preferred compared to this shell unpacker. Please consider repackaging this using the source distribution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When building from source I was unable to get certain dependencies to work, especially with OpenCL and CUDA (I don't have a nvidia card, but the source build requires all of the dependencies). These prebuilt libs worked right out of the box. Is there a reason the source build is preferred? If so I can remove this PR, as I was unable to get the source version to build on NixOS. It also checks out a series of git submodules and such, so takes about 1-2 hours to build from source.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can give it another attempt though. It's possible I messed something up with runtime dependencies for the library.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that it doesn't look like a trivial build. I'll remark this for review, and maybe someone else can take a look. As far as I can see, the .sh as built doesn't correctly link dependencies anyway, so I don't think this is a functional approach either.
meta = with stdenv.lib; { | ||
description = "Multiplatform library for parallel GPU computation"; | ||
homepage = http://www.arrayfire.com/; | ||
maintainers = with maintainers; [ "jmagoon" ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"jmagoon"
should not be a string, but refer to the jmagoon
name from stdenv.lib.maintainers.
Leaving the judgment up to someone else with more experience with binary packages
Yes, you're totally correct. I'll pull the PR and work on one that properly
adds runtime dependencies.
…On Fri, Sep 7, 2018 at 2:41 AM Sarah Brofeldt ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In pkgs/development/libraries/arrayfire/default.nix
<#46133 (comment)>:
> @@ -0,0 +1,26 @@
+{ stdenv, lib, fetchurl }:
+
+stdenv.mkDerivation rec {
+ version = "3.6.1";
+ name = "arrayfire-${version}";
+ src = fetchurl {
+ url = "http://arrayfire.s3.amazonaws.com/3.6.1/ArrayFire-v3.6.1_Linux_x86_64.sh";
+ sha256 = "14qsdbq2yz5bmj5zg4y8sb9pybz2h41zsc3fqv9nhmfmllb004gc";
+ };
+
+ phases = "installPhase";
+
+ installPhase = ''
+ bash ${src} --include-subdirs --prefix=$out
I agree that it doesn't look like a trivial build. I'll remark this for
review, and maybe someone else can take a look. As far as I can see, the
.sh as built doesn't correctly link dependencies anyway, so I don't think
this is a functional approach either.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#46133 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADids7g0EluGyHzjCkz9csMqTY1tYgkXks5uYjFGgaJpZM4WcN2C>
.
--
Jon Magoon | 865-712-6217
|
Motivation for this change
Added the Arrayfire package, a C++ library that wraps GPU computation.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)