|
|
|
@ -1,32 +1,48 @@ |
|
|
|
|
{ lib |
|
|
|
|
, stdenv |
|
|
|
|
, fetchFromGitLab |
|
|
|
|
, makeWrapper |
|
|
|
|
, pkg-config |
|
|
|
|
, file |
|
|
|
|
, scdoc |
|
|
|
|
, openssl |
|
|
|
|
, zlib |
|
|
|
|
, busybox |
|
|
|
|
, apk-tools |
|
|
|
|
, perl |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "abuild"; |
|
|
|
|
version = "3.7.0"; |
|
|
|
|
version = "3.9.0"; |
|
|
|
|
|
|
|
|
|
src = fetchFromGitLab { |
|
|
|
|
domain = "gitlab.alpinelinux.org"; |
|
|
|
|
owner = "alpine"; |
|
|
|
|
repo = pname; |
|
|
|
|
rev = "v${version}"; |
|
|
|
|
sha256 = "1xsik9hyzzq861bi922sb5r8c6r4wpnpxz5kd30i9f20vvfpp5jx"; |
|
|
|
|
rev = version; |
|
|
|
|
sha256 = "1zs8slaqiv8q8bim8mwfy08ymar78rqpkgqksw8y1lsjrj49fqy4"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
buildInputs = [ |
|
|
|
|
openssl |
|
|
|
|
zlib |
|
|
|
|
busybox |
|
|
|
|
# for $out/bin/apkbuild-cpan and $out/bin/apkbuild-pypi |
|
|
|
|
(perl.withPackages (ps: with ps; [ |
|
|
|
|
LWP |
|
|
|
|
JSON |
|
|
|
|
ModuleBuildTiny |
|
|
|
|
LWPProtocolHttps |
|
|
|
|
IPCSystemSimple |
|
|
|
|
])) |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
pkg-config |
|
|
|
|
scdoc |
|
|
|
|
makeWrapper |
|
|
|
|
file |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
patchPhase = '' |
|
|
|
@ -43,6 +59,24 @@ stdenv.mkDerivation rec { |
|
|
|
|
"sysconfdir=${placeholder "out"}/etc" |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
postInstall = '' |
|
|
|
|
# this script requires unpackaged 'augeas' rubygem, no reason |
|
|
|
|
# to ship it if we can't provide the dependencies for it |
|
|
|
|
rm -f ${placeholder "out"}/bin/apkbuild-gem-resolver |
|
|
|
|
|
|
|
|
|
# Find all executables that are not compiled binaries and wrap |
|
|
|
|
# them, make `apk-tools` available in their PATH and also the |
|
|
|
|
# $out directory since many of the binaries provided call into |
|
|
|
|
# other binaries |
|
|
|
|
for prog in \ |
|
|
|
|
$(find ${placeholder "out"}/bin -type f -exec ${file}/bin/file -i '{}' + \ |
|
|
|
|
| grep -v x-executable | cut -d : -f1); do |
|
|
|
|
wrapProgram $prog \ |
|
|
|
|
--prefix PATH : "${lib.makeBinPath [ apk-tools ]}" \ |
|
|
|
|
--prefix PATH : "${placeholder "out"}/bin" |
|
|
|
|
done |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
meta = with lib; { |
|
|
|
|
description = "Alpine Linux build tools"; |
|
|
|
|
homepage = "https://gitlab.alpinelinux.org/alpine/abuild"; |
|
|
|
|