microsoft-identity-broker: 2.0.1 -> 2.5.0 (#484880)
This commit is contained in:
@@ -3,95 +3,81 @@
|
||||
lib,
|
||||
fetchurl,
|
||||
dpkg,
|
||||
openjdk11,
|
||||
jnr-posix,
|
||||
makeWrapper,
|
||||
zip,
|
||||
autoPatchelfHook,
|
||||
nixosTests,
|
||||
bash,
|
||||
dbus,
|
||||
util-linux,
|
||||
curl,
|
||||
openssl,
|
||||
libx11,
|
||||
webkitgtk_4_1,
|
||||
gtk3,
|
||||
zlib,
|
||||
pango,
|
||||
harfbuzz,
|
||||
atk,
|
||||
cairo,
|
||||
gdk-pixbuf,
|
||||
libsoup_3,
|
||||
glib,
|
||||
libxtst,
|
||||
alsa-lib,
|
||||
libsecret,
|
||||
p11-kit,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "microsoft-identity-broker";
|
||||
version = "2.0.1";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://packages.microsoft.com/ubuntu/24.04/prod/pool/main/m/microsoft-identity-broker/microsoft-identity-broker_${version}_amd64.deb";
|
||||
hash = "sha256-JheJnsu1ZxJbcpt0367FqfHVdwWWvPem2fm0i8s7MGE=";
|
||||
url = "https://packages.microsoft.com/ubuntu/24.04/prod/pool/main/m/microsoft-identity-broker/microsoft-identity-broker_${version}-noble_amd64.deb";
|
||||
hash = "sha256-zid9kjjz3mBfJFfiYUoqlIyQSsR041JN3Ib+JFSSEbE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
dpkg
|
||||
makeWrapper
|
||||
openjdk11
|
||||
zip
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dbus
|
||||
util-linux
|
||||
curl
|
||||
openssl
|
||||
libx11
|
||||
webkitgtk_4_1
|
||||
gtk3
|
||||
zlib
|
||||
pango
|
||||
harfbuzz
|
||||
atk
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
libsoup_3
|
||||
glib
|
||||
libxtst
|
||||
alsa-lib
|
||||
libsecret
|
||||
p11-kit
|
||||
stdenv.cc.cc.lib
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
rm opt/microsoft/identity-broker/lib/jnr-posix-3.1.4.jar
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib/microsoft-identity-broker
|
||||
cp -a opt/microsoft/identity-broker/lib/* $out/lib/microsoft-identity-broker
|
||||
cp -a usr/* $out
|
||||
for jar in $out/lib/microsoft-identity-broker/*.jar; do
|
||||
classpath="$classpath:$jar"
|
||||
done
|
||||
classpath="$classpath:${jnr-posix}/share/java/jnr-posix-${jnr-posix.version}.jar"
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${openjdk11}/bin/java $out/bin/microsoft-identity-broker \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
|
||||
--add-flags "-classpath $classpath" \
|
||||
--add-flags "-Xmx256m -Xss256k -XX:+UseParallelGC -XX:ParallelGCThreads=1" \
|
||||
--add-flags "-verbose" \
|
||||
--add-flags "-Djava.net.useSystemProxies=true" \
|
||||
--add-flags "com.microsoft.identity.broker.service.IdentityBrokerService"
|
||||
|
||||
makeWrapper ${openjdk11}/bin/java $out/bin/microsoft-identity-device-broker \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
|
||||
--add-flags "-classpath $classpath" \
|
||||
--add-flags "-Xmx256m -Xss256k -XX:+UseParallelGC -XX:ParallelGCThreads=1" \
|
||||
--add-flags "-verbose" \
|
||||
--add-flags "-Djava.net.useSystemProxies=true" \
|
||||
--add-flags "com.microsoft.identity.broker.service.DeviceBrokerService"
|
||||
cp -a opt/microsoft/identity-broker/bin/* $out/bin/
|
||||
cp -a usr/* $out/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace \
|
||||
$out/lib/systemd/user/microsoft-identity-broker.service \
|
||||
$out/lib/systemd/system/microsoft-identity-device-broker.service \
|
||||
$out/share/dbus-1/system-services/com.microsoft.identity.devicebroker1.service \
|
||||
$out/share/dbus-1/services/com.microsoft.identity.broker1.service \
|
||||
--replace \
|
||||
ExecStartPre=sh \
|
||||
ExecStartPre=${bash}/bin/sh \
|
||||
--replace \
|
||||
ExecStartPre=!sh \
|
||||
ExecStartPre=!${bash}/bin/sh \
|
||||
--replace \
|
||||
/opt/microsoft/identity-broker/bin/microsoft-identity-broker \
|
||||
$out/bin/microsoft-identity-broker \
|
||||
--replace \
|
||||
substituteInPlace $out/lib/systemd/system/microsoft-identity-device-broker.service \
|
||||
--replace-fail \
|
||||
/opt/microsoft/identity-broker/bin/microsoft-identity-device-broker \
|
||||
$out/bin/microsoft-identity-device-broker \
|
||||
--replace \
|
||||
/usr/lib/jvm/java-11-openjdk-amd64 \
|
||||
${openjdk11}
|
||||
$out/bin/microsoft-identity-device-broker
|
||||
|
||||
substituteInPlace $out/share/dbus-1/services/com.microsoft.identity.broker1.service \
|
||||
--replace-fail \
|
||||
/opt/microsoft/identity-broker/bin/microsoft-identity-broker \
|
||||
$out/bin/microsoft-identity-broker
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -1,30 +1,21 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p curl gzip dpkg common-updater-scripts
|
||||
#! nix-shell -i bash -p curl common-updater-scripts
|
||||
|
||||
index_file=$(curl -sL https://packages.microsoft.com/ubuntu/22.04/prod/dists/jammy/main/binary-amd64/Packages.gz | gzip -dc)
|
||||
set -euo pipefail
|
||||
|
||||
latest_version="0"
|
||||
# Scrape the pool directory since Microsoft doesn't keep Packages.gz up to date
|
||||
pool_url="https://packages.microsoft.com/ubuntu/24.04/prod/pool/main/m/microsoft-identity-broker/"
|
||||
pool_listing=$(curl -sL "$pool_url")
|
||||
|
||||
echo "$index_file" | while read -r line; do
|
||||
if [[ "$line" =~ ^Package:[[:space:]]*(.*) ]]; then
|
||||
Package="${BASH_REMATCH[1]}"
|
||||
fi
|
||||
if [[ "$line" =~ ^Version:[[:space:]]*(.*) ]]; then
|
||||
Version="${BASH_REMATCH[1]}"
|
||||
fi
|
||||
if [[ "$line" =~ ^SHA256:[[:space:]]*(.*) ]]; then
|
||||
SHA256="${BASH_REMATCH[1]}"
|
||||
fi
|
||||
# Extract version from filenames like: microsoft-identity-broker_2.5.0-noble_amd64.deb
|
||||
latest_version=$(echo "$pool_listing" \
|
||||
| grep -oP 'microsoft-identity-broker_\K[0-9]+\.[0-9]+\.[0-9]+' \
|
||||
| sort -V \
|
||||
| tail -n1)
|
||||
|
||||
if ! [[ "$line" ]] && [[ "${Package}" == "microsoft-identity-broker" ]]; then
|
||||
if ( dpkg --compare-versions ${Version} gt ${latest_version} ); then
|
||||
latest_version="${Version}"
|
||||
sri_hash=$(nix-hash --to-sri --type sha256 "$SHA256")
|
||||
if [[ -z "$latest_version" ]]; then
|
||||
echo "Failed to find any versions" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo $latest_version $sri_hash
|
||||
fi
|
||||
|
||||
Package=""
|
||||
Version=""
|
||||
fi
|
||||
done | tail -n 1 | (read version hash; update-source-version microsoft-identity-broker $version $hash)
|
||||
update-source-version microsoft-identity-broker "$latest_version" --file="$(dirname "$0")/package.nix"
|
||||
|
||||
Reference in New Issue
Block a user