Skip to content

Commit

Permalink
dev-perl/Filesys-SmbClient: -r bump for EAPI7 + misc toolchain love
Browse files Browse the repository at this point in the history
- EAPI7
- Ensure CFLAGS passed to compiler
- Rework the lib/inc handling stuff entirely, as the existing code still
  added its own "special" in injecting useless stuff like "/usr/lib/"
  into the libdir discovery, which caused linking to attempt to link
  64bit code with 32bit code, before the real link. On GCC this doesn't
  fatal, but clang can..., so the whole thing is ripped out, the paths
  are hard-forced from ENV vars, and the pkgconfig magic is done
  in-ebuild instead of in Makefile.PL, making it less crazy, and also
  making it easier to change this later if its wrong.
- Relocate configure.in to configure.ac to avoid an autotools.eclass
  AWOOOOOOOGA notice.

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Kent Fredric <[email protected]>
  • Loading branch information
kentfredric committed Sep 10, 2020
1 parent e8298bc commit 8e1cf65
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 0 deletions.
68 changes: 68 additions & 0 deletions dev-perl/Filesys-SmbClient/Filesys-SmbClient-3.200.0-r4.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

DIST_AUTHOR=ALIAN
DIST_VERSION=3.2
inherit perl-module autotools

DESCRIPTION="Provide Perl API for libsmbclient.so"

SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"

RDEPEND=">=net-fs/samba-4.2[client]"
DEPEND=">=net-fs/samba-4.2[client]"
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
virtual/pkgconfig
test? (
virtual/perl-Test-Simple
)
"

PATCHES=(
"${FILESDIR}/${P}-close_fn.patch"
"${FILESDIR}/${PN}-3.2-no-magic-libdir.patch"
)

src_prepare() {
perl-module_src_prepare
cp -vf configure.in configure.ac || die "Can't copy configure.in"
perl_rm_files configure.in
eautoreconf
}
src_configure() {
GENTOO_INC_SMBCLIENT="$( pkg-config --variable=includedir smbclient )" \
GENTOO_LIB_SMBCLIENT="$( pkg-config --variable=libdir smbclient )" \
perl-module_src_configure
}
src_compile() {
mymake=(
"OPTIMIZE=${CFLAGS}"
)
perl-module_src_compile
}
src_test() {
local MODULES=(
"Filesys::SmbClient ${DIST_VERSION}"
)
local failed=()
for dep in "${MODULES[@]}"; do
ebegin "Compile testing ${dep}"
perl -Mblib="${S}" -M"${dep} ()" -e1
eend $? || failed+=( "$dep" )
done
if [[ ${failed[@]} ]]; then
echo
eerror "One or more modules failed compile:";
for dep in "${failed[@]}"; do
eerror " ${dep}"
done
die "Failing due to module compilation errors";
fi
# standard tests are not designed to work on a non-developer system.
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
From 9f3c784d483623edb65f6e9579fd1a34e885f766 Mon Sep 17 00:00:00 2001
From: Kent Fredric <[email protected]>
Date: Thu, 10 Sep 2020 11:34:38 +1200
Subject: Strip automagic detection if include/ and lib/ dirs.

---
Makefile.PL | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/Makefile.PL b/Makefile.PL
index 954df92..ccd842a 100755
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -6,14 +6,14 @@ my ($define, $ccfl);
($^O =~ m/AIX/i) ? ($ccfl = '-qcpluscmt') : ($ccfl = '');

# path libsmbclient.h
-my $include = try_to_find("libsmbclient.h");
-$include = prompt("Where can I find libsmbclient.h ?", $include);
-warn_user("$include/libsmbclient.h") if (!-r "$include/libsmbclient.h");
+my $include = $ENV{GENTOO_INC_SMBCLIENT};
+die "No GENTOO_INC_SMBCLIENT" if not defined $include;
+die "No $include/libsmbclient.h" if not -r "$include/libsmbclient.h";

# path libsmbclient.so
-my $lib = try_to_find("libsmbclient.so");
-$lib = prompt("Where can I find libsmbclient.so ?",$lib);
-warn_user("libsmbclient.so") if (!-r "$lib/libsmbclient.so");
+my $lib = $ENV{GENTOO_LIB_SMBCLIENT};
+die "No GENTOO_LIB_SMBCLIENT" if not defined $lib;
+die "No $lib/libsmbclient.so" if not -r "$lib/libsmbclient.so";

# tests demande ?
my $ans =
@@ -87,6 +87,8 @@ EOF

}

+=cut
+
sub try_to_find {
my $name = shift;
my @path = find_path($name);
@@ -113,3 +115,5 @@ sub find_path {
print "I search in: ",(join "\n", @path),"\n";
return @path;
}
+
+=cut
--
2.28.0

0 comments on commit 8e1cf65

Please sign in to comment.