dotnet-markdig

LOW
maintainer ChrisTX 0 votes scanned 2026-10-31 05:57:59.662655
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: Christian Pfeiffer <cpfeiffer at rev-crew dot info>
2# shellcheck disable=SC2034,SC2154
3# shellcheck shell=bash
4
5pkgname=dotnet-markdig
6pkgver=1.5.1
7pkgrel=1
8pkgdesc="Fast, powerful, CommonMark compliant, extensible Markdown processor for .NET (NuGet packages)"
9arch=('any')
10url='https://github.com/xoofx/markdig'
11license=('BSD-2-Clause')
12_dotnetsdkver="10.0"
13makedepends=(
14 dotnet-sdk-"$_dotnetsdkver"
15 git
16)
17source=("git+$url.git#tag=$pkgver")
18sha512sums=('7d7b7f3a70d3728ee622ebcd0b70688f9f75ff8eb8acd2955d6fde713e8c5667bc0ce844db50072a698f82e48102129362ff703d65fa20f3bc0877eb1cd78ae6')
19b2sums=('02c70f99d35eb9dd7bd76e34d8c22cffe3858ca2814ba9a6346493ae6e77b6de1985c4e7183d23ae246e60744eab5c8119b775c7497c123bc599a5c1842b1d39')
20
21_dotnet_env() {
22 export NUGET_PACKAGES="$srcdir/nuget"
23 export DOTNET_CLI_HOME="$srcdir/dotnet-home"
24 export DOTNET_CLI_TELEMETRY_OPTOUT=1
25 export DOTNET_NOLOGO=1
26
27 # The version is set like upstream's MinVer setup (src/Markdig/Markdig.targets) does it
28 _build_arguments=(
29 --configuration Release
30 -p:Version="$pkgver"
31 -p:AssemblyVersion="${pkgver%.*}.0.0"
32 -p:FileVersion="$pkgver.0"
33 -p:ContinuousIntegrationBuild=true
34 )
35}
36
37prepare() {
38 cd markdig || exit
39 # Pins an SDK we don't have
40 rm src/global.json
41 # MinVer is a prebuilt tool that derives the version from git, it's passed in build() instead.
42 # The .NET Framework build would need prebuilt reference assemblies.
43 sed -i -e '/<PackageReference Include="MinVer">/,/<\/PackageReference>/d' \
44 -e '/<Target Name="PatchVersion"/,/<\/Target>/d' \
45 -e 's|<TargetFrameworks>net462;|<TargetFrameworks>|' \
46 src/Markdig/Markdig.targets
47}
48
49build() {
50 _dotnet_env
51 cd markdig || exit
52 # Markdig.Signed is the same library, strong named with the key in its folder
53 local _project
54 for _project in Markdig Markdig.Signed; do
55 dotnet pack "src/$_project/$_project.csproj" "${_build_arguments[@]}" \
56 -p:IncludeSymbols=false --output "$srcdir/nupkg"
57 done
58}
59
60check() {
61 _dotnet_env
62 cd markdig || exit
63 dotnet test src/Markdig.Tests/Markdig.Tests.csproj "${_build_arguments[@]}" --framework "net$_dotnetsdkver"
64}
65
66# Fails if a binary in $pkgdir, also inside the .nupkg files there, is identical to one of the packages
67# restored from a remote feed like nuget.org into $1, so no prebuilt binary slips in instead of one built
68# from source
69_check_prebuilt() {
70 local _extracted="$srcdir/check-prebuilt" _metadata _file _hash _found=0
71 local _binaries=(-type f '(' -name '*.dll' -o -name '*.exe' -o -name '*.so' -o -name '*.so.*' -o -name '*.dylib' ')')
72 local -A _prebuilt=()
73 while IFS= read -r -d '' _metadata; do
74 grep -qE '"source": *"https?://' "$_metadata" || continue
75 while IFS= read -r -d '' _file; do
76 _prebuilt[$(sha256sum <"$_file")]="${_file#"$1"/}"
77 done < <(find "${_metadata%/*}" "${_binaries[@]}" -print0)
78 done < <(find "$1" -name .nupkg.metadata -print0)
79
80 rm -rf "$_extracted"
81 mkdir -p "$_extracted"
82 while IFS= read -r -d '' _file; do
83 mkdir -p "$_extracted/${_file#"$pkgdir"/}"
84 bsdtar -xf "$_file" -C "$_extracted/${_file#"$pkgdir"/}"
85 done < <(find "$pkgdir" -type f -name '*.nupkg' -print0)
86 while IFS= read -r -d '' _file; do
87 _hash=$(sha256sum <"$_file")
88 if [[ -v "_prebuilt[$_hash]" ]]; then
89 echo "Prebuilt binary: ${_file#"$_extracted"/} is ${_prebuilt[$_hash]}" >&2
90 _found=1
91 fi
92 done < <(find "$pkgdir" "$_extracted" "${_binaries[@]}" -print0)
93 rm -rf "$_extracted"
94 return "$_found"
95}
96
97package() {
98 install -Dm644 "$srcdir"/nupkg/{Markdig,Markdig.Signed}."$pkgver".nupkg \
99 -t "$pkgdir/usr/share/dotnet/nuget-packages/"
100 install -Dm644 markdig/license.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
101
102 _check_prebuilt "$srcdir/nuget"
103}
104

Scan history

Scanned at (UTC)SeverityRules
2026-10-31 05:57:59 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion