From 9979f6588f3354ee97a58b94e7b1c53f1f6c87db Mon Sep 17 00:00:00 2001 From: k-nkmt Date: Tue, 23 Sep 2025 16:50:39 +0900 Subject: [PATCH 1/2] Add support for Github Release installation --- SPF/SPFinit.sas | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/SPF/SPFinit.sas b/SPF/SPFinit.sas index bd4b85f..cf12c2a 100644 --- a/SPF/SPFinit.sas +++ b/SPF/SPFinit.sas @@ -797,6 +797,7 @@ des = 'Macro to install SAS package, version 20250729. Run %%installPackage() fo %put # #; %put # - `version=` Indicates which historical version of a package to install. #; %put # Historical version are currently available only if `mirror=0` is set. #; + %put # or when `github` is specified. #; %put # Default value is null which means "install the latest". #; %put # When there are multiple packages to install the `version` variable #; %put # is scan sequentially. #; @@ -1072,7 +1073,7 @@ des = 'Macro to install SAS package, version 20250729. Run %%installPackage() fo %end; %else %do; - %if %superq(mirror) IN (0 3 4) %then /* SASPAC or PharmaForest or an arbitrary GitHub repo */ + %if %superq(mirror) IN (0 3) %then /* SASPAC or PharmaForest */ %do; %let packageSubDir = %sysfunc(lowcase(&packageName.))/raw/main/; @@ -1082,6 +1083,21 @@ des = 'Macro to install SAS package, version 20250729. Run %%installPackage() fo %let packageSubDir = %sysfunc(lowcase(&packageName.))/raw/&vers./; %end; %end; + %else %if 4 = %superq(mirror) %then /* An arbitrary GitHub repo */ + %do; + %let packageSubDir = %sysfunc(lowcase(&packageName.))/raw/main/; + + filename _release url "&sourcePath./%sysfunc(lowcase(&packageName.))/releases/tag/&vers." ; + %if %superq(vers) ne and %sysfunc(fexist(_release))=1 %then + %do; + %let packageSubDir = %sysfunc(lowcase(&packageName.))/releases/download/&vers./; + %end; + %else %if %superq(vers) ne %then + %do; + %let packageSubDir = %sysfunc(lowcase(&packageName.))/main/hist/&vers./; + %end; + filename _release clear ; + %end; %else %do; %if %superq(mirror) NE 0 %then From 7e1d2e360354d525b0b120226b457e4669ff2b24 Mon Sep 17 00:00:00 2001 From: k-nkmt Date: Tue, 30 Sep 2025 21:55:52 +0900 Subject: [PATCH 2/2] Fixed compatibility issues --- SPF/SPFinit.sas | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SPF/SPFinit.sas b/SPF/SPFinit.sas index cf12c2a..e7c0734 100644 --- a/SPF/SPFinit.sas +++ b/SPF/SPFinit.sas @@ -1087,14 +1087,14 @@ des = 'Macro to install SAS package, version 20250729. Run %%installPackage() fo %do; %let packageSubDir = %sysfunc(lowcase(&packageName.))/raw/main/; - filename _release url "&sourcePath./%sysfunc(lowcase(&packageName.))/releases/tag/&vers." ; + filename _release url "&sourcePath./%sysfunc(lowcase(&packageName.))/releases/download/&vers./%sysfunc(lowcase(&packageName.)).zip" ; %if %superq(vers) ne and %sysfunc(fexist(_release))=1 %then %do; %let packageSubDir = %sysfunc(lowcase(&packageName.))/releases/download/&vers./; %end; %else %if %superq(vers) ne %then %do; - %let packageSubDir = %sysfunc(lowcase(&packageName.))/main/hist/&vers./; + %let packageSubDir = %sysfunc(lowcase(&packageName.))/raw/&vers./; %end; filename _release clear ; %end;