Comments (5)
Indeed %s
used to default to the final install location, but that could be overridden in 0.16 with the alien_stage_install
option, and then in 0.17 alien_stage_install
became the default. I've got a PR that updated the documentation.
To get the original behavior you can set alien_stage_install
to 0
. However, be aware that relies on so called blib
detection; a method of determining if the Alien is being installed using a long list of blib paths in PERL5LIB, which is common in cpantesters. This detection is unfortunately inherently unreliable, and apparently buggy because I also fixed a bug in it when I was looking into this issue.
The recommend route if you need to run ./configure
with the final install path is to use Alien::Build
which has a more reliable system by which it stages files for install. Alien::Build
also has other advantages and fewer prereqs so it isn't a bad upgrade to make anyway. Both ABMB and Alien::Build
use the same runtime (Alien::Base
) so the interface once the alien is installed wouldn't change.
from alien-base-modulebuild.
1.07 has both the documentation and the bug fix.
from alien-base-modulebuild.
This alienfile
does at least some of what the Build.PL
for Alien::ImageMagick
is doing. I'm not sure that it should be setting --exec-prefix
so I took that out. It's not patching anything, but it might be a start.
use alienfile;
use Config;
plugin 'PkgConfig' => (
pkg_name => 'MagickWand',
);
share {
start_url 'http://www.imagemagick.org/download/ImageMagick.tar.gz';
plugin 'Download';
plugin 'Extract' => format => 'tar.gz';
my $use_threads = $Config{usethreads} ? '' : '--without-threads';
my $enable_shared = ( ( $Config{useshrplib} || '' ) eq 'false' ) ? '' : '--enable-shared';
meta->prop->{env_interpolate} = 1;
meta->prop->{env}->{LDFLAGS} = "-L%{perl.config.archlib}/CORE";
plugin 'Build::Autoconf';
build [
"%{configure} --with-perl=%{perl} $enable_shared $use_threads",
'%{make}',
'%{make} install',
];
};
from alien-base-modulebuild.
Hi.
I understand the reason of using %s as blib, but in fact that was not clear. To have two different variables might be useful? Well, its an idea.
ImageMagick has a flag to configure the datadir, and for the bug I was trying to solve, it did the trick.
Thank you for your time and help.
Best,
Alberto
from alien-base-modulebuild.
I understand the reason of using %s as blib, but in fact that was not clear. To have two different variables might be useful? Well, its an idea.
I suppose different variable name would have been possible, and might have been a little more clear. It's really change in behavior though, and the old behavior was problematic. The fact that that part of the documentation didn't get updated was an oversight.
ImageMagick has a flag to configure the datadir, and for the bug I was trying to solve, it did the trick.
👍 great.
from alien-base-modulebuild.
Related Issues (12)
- Unable to find file in AlienLoaded HOT 1
- Running ./Build test before ./Build might skip package tests
- Probably harmless diagnostic
- List::Util 1.45 Required But Not Enforced, Installation Fails HOT 3
- Test t/alien_base_modulebuild_repository_http.t fails on Windows 10, MSYS2 HOT 2
- ABMB should honor ALIEN_DOWNLOAD_RULE and ALIEN_INSTALL_NETWORK environment variables
- ALIEN_INSTALL_TYPE=default HOT 1
- Build.PL still checks for pkg-config HOT 1
- Provide better diagnostics for when SSL libraries are not installed. HOT 1
- Tests fail with standard perl on openSUSE HOT 2
- Suspected link extor fail on older Perls
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alien-base-modulebuild.