From e165320eccf888d7a1342511d47c9be4100ca0e9 Mon Sep 17 00:00:00 2001 From: Henil Panchal <37398093+henilp105@users.noreply.github.com> Date: Wed, 24 Jan 2024 23:15:22 +0530 Subject: [PATCH 01/11] Update fpm_settings.f90 --- src/fpm_settings.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fpm_settings.f90 b/src/fpm_settings.f90 index fe4b0748fa..dab06fc4d5 100644 --- a/src/fpm_settings.f90 +++ b/src/fpm_settings.f90 @@ -10,7 +10,7 @@ module fpm_settings private public :: fpm_global_settings, get_global_settings, get_registry_settings, official_registry_base_url - character(*), parameter :: official_registry_base_url = 'https://registry-apis.vercel.app' + character(*), parameter :: official_registry_base_url = 'https://fpm-registry.vercel.app' character(*), parameter :: default_config_file_name = 'config.toml' type :: fpm_global_settings From 76801cecfc54f9fcf04d2ec45e320b2c6e072447 Mon Sep 17 00:00:00 2001 From: Henil Panchal <37398093+henilp105@users.noreply.github.com> Date: Wed, 24 Jan 2024 23:15:58 +0530 Subject: [PATCH 02/11] Update fpm_command_line.f90 --- src/fpm_command_line.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fpm_command_line.f90 b/src/fpm_command_line.f90 index 97e2ff2975..7a7b94b6d2 100644 --- a/src/fpm_command_line.f90 +++ b/src/fpm_command_line.f90 @@ -1390,7 +1390,7 @@ subroutine set_help() 'DESCRIPTION', & ' Follow the steps to create a tarball and upload a package to the registry:', & '', & - ' 1. Register on the website (https://registry-frontend.vercel.app/).', & + ' 1. Register on the website (https://registry-phi.vercel.app/).', & ' 2. Create a namespace. Uploaded packages must be assigned to a unique', & ' namespace to avoid conflicts among packages with similar names. A', & ' namespace can accommodate multiple packages.', & From 81af5c97db3af83fe0c53f7a132eb74b305f03cf Mon Sep 17 00:00:00 2001 From: Henil Panchal <37398093+henilp105@users.noreply.github.com> Date: Wed, 24 Jan 2024 23:18:15 +0530 Subject: [PATCH 03/11] Update fpm_compiler.F90 --- src/fpm_compiler.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fpm_compiler.F90 b/src/fpm_compiler.F90 index 55565ee31d..adca4f658d 100644 --- a/src/fpm_compiler.F90 +++ b/src/fpm_compiler.F90 @@ -296,7 +296,7 @@ subroutine get_release_compile_flags(id, flags) case(id_intel_classic_mac) flags = & - flag_intel_opt//& + ! flag_intel_opt//& ! commented to debug #980 flag_intel_fp//& flag_intel_align//& flag_intel_limit//& From b18698b81131a56db4b760392aa4da1c653a591c Mon Sep 17 00:00:00 2001 From: Henil Panchal <37398093+henilp105@users.noreply.github.com> Date: Thu, 25 Jan 2024 19:25:36 +0530 Subject: [PATCH 04/11] Update CI.yml --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4d97f92f1f..465d2558e5 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -81,7 +81,7 @@ jobs: # Phase 1: Bootstrap fpm with existing version - name: Install fpm - uses: fortran-lang/setup-fpm@v3 + uses: fortran-lang/setup-fpm@v5 with: fpm-version: 'v0.8.0' From b411c2b81b9f5c4dfbe482ed4232909291800978 Mon Sep 17 00:00:00 2001 From: Henil Panchal <37398093+henilp105@users.noreply.github.com> Date: Thu, 25 Jan 2024 19:39:32 +0530 Subject: [PATCH 05/11] Update CI.yml --- .github/workflows/CI.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 465d2558e5..a0eeef68d3 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -54,14 +54,14 @@ jobs: # Backport gfortran shared libraries to version 9 folder. This is necessary because all macOS releases of fpm # have these paths hardcoded in the executable (no PIC?). As the gcc ABIs have not changed from 9 to 10, we # can just create symbolic links for now. This can be removed when an updated fpm release is built with gcc-10 - mkdir /usr/local/opt/gcc@9 - mkdir /usr/local/opt/gcc@9/lib - mkdir /usr/local/opt/gcc@9/lib/gcc - mkdir /usr/local/opt/gcc@9/lib/gcc/9 - mkdir /usr/local/lib/gcc/9 - ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libquadmath.0.dylib /usr/local/opt/gcc@9/lib/gcc/9/libquadmath.0.dylib - ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libgfortran.5.dylib /usr/local/opt/gcc@9/lib/gcc/9/libgfortran.5.dylib - ln -fs /usr/local/lib/gcc/${GCC_V}/libgcc_s.1.dylib /usr/local/lib/gcc/9/libgcc_s.1.dylib + # mkdir /usr/local/opt/gcc@9 + # mkdir /usr/local/opt/gcc@9/lib + # mkdir /usr/local/opt/gcc@9/lib/gcc + # mkdir /usr/local/opt/gcc@9/lib/gcc/9 + # mkdir /usr/local/lib/gcc/9 + # ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libquadmath.0.dylib /usr/local/opt/gcc@9/lib/gcc/9/libquadmath.0.dylib + # ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libgfortran.5.dylib /usr/local/opt/gcc@9/lib/gcc/9/libgfortran.5.dylib + # ln -fs /usr/local/lib/gcc/${GCC_V}/libgcc_s.1.dylib /usr/local/lib/gcc/9/libgcc_s.1.dylib - name: Install GFortran Linux if: contains(matrix.os, 'ubuntu') From 5bc7f90006bea162f791f86cb74cc6522dd1d9a3 Mon Sep 17 00:00:00 2001 From: Henil Panchal Date: Sat, 27 Jan 2024 20:13:35 +0530 Subject: [PATCH 06/11] fix: download functionality --- src/fpm/dependency.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fpm/dependency.f90 b/src/fpm/dependency.f90 index 52e5c6ec12..9b614e0640 100644 --- a/src/fpm/dependency.f90 +++ b/src/fpm/dependency.f90 @@ -673,7 +673,7 @@ subroutine get_from_registry(self, target_dir, global_settings, error, downloade end if ! Include namespace and package name in the target url and download package data. - target_url = global_settings%registry_settings%url//'/packages/'//self%namespace//'/'//self%name + target_url = global_settings%registry_settings%url//'packages/'//self%namespace//'/'//self%name call downloader%get_pkg_data(target_url, self%requested_version, tmp_file, json, error) close (unit, status='delete') if (allocated(error)) return From ba71c5609571fb5c5eb7c9660bbbc0d679cf6594 Mon Sep 17 00:00:00 2001 From: Henil Panchal Date: Sat, 24 Feb 2024 11:45:24 +0530 Subject: [PATCH 07/11] add fpm_model.json in the build archive --- src/fpm/git.f90 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/fpm/git.f90 b/src/fpm/git.f90 index c007743a90..1ccaf8eebb 100644 --- a/src/fpm/git.f90 +++ b/src/fpm/git.f90 @@ -333,7 +333,13 @@ subroutine git_archive(source, destination, ref, verbose, error) call fatal_error(error, "Cannot find a suitable archive format for 'git archive'."); return end if - call run('git archive '//ref//' --format='//archive_format//' -o '//destination, echo=verbose, exitstat=stat) + call run('fpm build --dump fpm_model.json', echo=verbose, exitstat=stat) + call run('git archive ' & + // ref // & + ' --format=' // archive_format // & + ' -o ' // destination // & + ' --add-file=fpm_model.json', echo=verbose, exitstat=stat) + call run('rm fpm_model.json', echo=verbose, exitstat=stat) if (stat /= 0) then call fatal_error(error, "Error packing '"//source//"'."); return end if From 037ad72082ebe4ce3079ab0a00efb1fbb738c567 Mon Sep 17 00:00:00 2001 From: Henil Panchal Date: Sun, 25 Feb 2024 16:18:29 +0530 Subject: [PATCH 08/11] add model build internal --- src/fpm_command_line.f90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/fpm_command_line.f90 b/src/fpm_command_line.f90 index f07a5e9347..8d039900da 100644 --- a/src/fpm_command_line.f90 +++ b/src/fpm_command_line.f90 @@ -134,6 +134,7 @@ module fpm_command_line logical :: show_upload_data = .false. logical :: is_dry_run = .false. character(len=:), allocatable :: token + character(len=:),allocatable :: dump_model end type character(len=:),allocatable :: name @@ -722,6 +723,7 @@ subroutine get_command_line_settings(cmd_settings) & show_model=lget('show-model'),& & build_tests=lget('tests'),& & verbose=lget('verbose'),& + & dump_model = 'fpm_model.json',& & token=token_s) case default From 8297433fd27840f2961ac389aa9d2a5de24d2305 Mon Sep 17 00:00:00 2001 From: Henil Panchal Date: Sun, 25 Feb 2024 18:18:03 +0530 Subject: [PATCH 09/11] add model build internal --- src/fpm/git.f90 | 5 +---- src/fpm_command_line.f90 | 2 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/fpm/git.f90 b/src/fpm/git.f90 index d8cf4a38aa..50bdfb04a7 100644 --- a/src/fpm/git.f90 +++ b/src/fpm/git.f90 @@ -448,13 +448,10 @@ subroutine git_archive(source, destination, ref, verbose, error) call fatal_error(error, "Cannot find a suitable archive format for 'git archive'."); return end if - call run('fpm build --dump fpm_model.json', echo=verbose, exitstat=stat) call run('git archive ' & // ref // & ' --format=' // archive_format // & - ' -o ' // destination // & - ' --add-file=fpm_model.json', echo=verbose, exitstat=stat) - call run('rm fpm_model.json', echo=verbose, exitstat=stat) + ' -o ' // destination , echo=verbose, exitstat=stat) if (stat /= 0) then call fatal_error(error, "Error packing '"//source//"'."); return end if diff --git a/src/fpm_command_line.f90 b/src/fpm_command_line.f90 index 8d039900da..f07a5e9347 100644 --- a/src/fpm_command_line.f90 +++ b/src/fpm_command_line.f90 @@ -134,7 +134,6 @@ module fpm_command_line logical :: show_upload_data = .false. logical :: is_dry_run = .false. character(len=:), allocatable :: token - character(len=:),allocatable :: dump_model end type character(len=:),allocatable :: name @@ -723,7 +722,6 @@ subroutine get_command_line_settings(cmd_settings) & show_model=lget('show-model'),& & build_tests=lget('tests'),& & verbose=lget('verbose'),& - & dump_model = 'fpm_model.json',& & token=token_s) case default From cae8e9738c2161db08c4d7fc38a17526c690baa8 Mon Sep 17 00:00:00 2001 From: Henil Panchal Date: Sun, 25 Feb 2024 18:21:31 +0530 Subject: [PATCH 10/11] add model build internal --- src/fpm/cmd/publish.f90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/fpm/cmd/publish.f90 b/src/fpm/cmd/publish.f90 index 43636c0e30..28f86e16d0 100644 --- a/src/fpm/cmd/publish.f90 +++ b/src/fpm/cmd/publish.f90 @@ -67,6 +67,8 @@ subroutine cmd_publish(settings) tmp_file = get_temp_filename() call git_archive('.', tmp_file, 'HEAD', settings%verbose, error) if (allocated(error)) call fpm_stop(1, '*cmd_publish* Archive error: '//error%message) + call model%dump('fpm_model.json', error, json=.true.) + if (allocated(error)) call fpm_stop(1, '*cmd_publish* Model dump error: '//error%message) upload_data = [ & & string_t('package_name="'//package%name//'"'), & From 7b9440135788ed192574cbede1859250d0f1a200 Mon Sep 17 00:00:00 2001 From: Henil Panchal Date: Sun, 25 Feb 2024 18:43:26 +0530 Subject: [PATCH 11/11] #980 fixed --- .github/workflows/CI.yml | 16 ++++++++-------- src/fpm/git.f90 | 5 +---- src/fpm_compiler.F90 | 2 +- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index a0eeef68d3..465d2558e5 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -54,14 +54,14 @@ jobs: # Backport gfortran shared libraries to version 9 folder. This is necessary because all macOS releases of fpm # have these paths hardcoded in the executable (no PIC?). As the gcc ABIs have not changed from 9 to 10, we # can just create symbolic links for now. This can be removed when an updated fpm release is built with gcc-10 - # mkdir /usr/local/opt/gcc@9 - # mkdir /usr/local/opt/gcc@9/lib - # mkdir /usr/local/opt/gcc@9/lib/gcc - # mkdir /usr/local/opt/gcc@9/lib/gcc/9 - # mkdir /usr/local/lib/gcc/9 - # ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libquadmath.0.dylib /usr/local/opt/gcc@9/lib/gcc/9/libquadmath.0.dylib - # ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libgfortran.5.dylib /usr/local/opt/gcc@9/lib/gcc/9/libgfortran.5.dylib - # ln -fs /usr/local/lib/gcc/${GCC_V}/libgcc_s.1.dylib /usr/local/lib/gcc/9/libgcc_s.1.dylib + mkdir /usr/local/opt/gcc@9 + mkdir /usr/local/opt/gcc@9/lib + mkdir /usr/local/opt/gcc@9/lib/gcc + mkdir /usr/local/opt/gcc@9/lib/gcc/9 + mkdir /usr/local/lib/gcc/9 + ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libquadmath.0.dylib /usr/local/opt/gcc@9/lib/gcc/9/libquadmath.0.dylib + ln -fs /usr/local/opt/gcc@${GCC_V}/lib/gcc/${GCC_V}/libgfortran.5.dylib /usr/local/opt/gcc@9/lib/gcc/9/libgfortran.5.dylib + ln -fs /usr/local/lib/gcc/${GCC_V}/libgcc_s.1.dylib /usr/local/lib/gcc/9/libgcc_s.1.dylib - name: Install GFortran Linux if: contains(matrix.os, 'ubuntu') diff --git a/src/fpm/git.f90 b/src/fpm/git.f90 index 50bdfb04a7..22b4179553 100644 --- a/src/fpm/git.f90 +++ b/src/fpm/git.f90 @@ -448,10 +448,7 @@ subroutine git_archive(source, destination, ref, verbose, error) call fatal_error(error, "Cannot find a suitable archive format for 'git archive'."); return end if - call run('git archive ' & - // ref // & - ' --format=' // archive_format // & - ' -o ' // destination , echo=verbose, exitstat=stat) + call run('git archive '//ref//' --format='//archive_format//' -o '//destination, echo=verbose, exitstat=stat) if (stat /= 0) then call fatal_error(error, "Error packing '"//source//"'."); return end if diff --git a/src/fpm_compiler.F90 b/src/fpm_compiler.F90 index 8c5c64a55b..f173267659 100644 --- a/src/fpm_compiler.F90 +++ b/src/fpm_compiler.F90 @@ -310,7 +310,7 @@ subroutine get_release_compile_flags(id, flags) case(id_intel_classic_mac) flags = & - ! flag_intel_opt//& ! commented to debug #980 + flag_intel_opt//& flag_intel_fp//& flag_intel_align//& flag_intel_limit//&