From 18b4e4bb708515631c414bf4e60626bc15c737bc Mon Sep 17 00:00:00 2001 From: huakim Date: Nov 15 2023 15:57:22 +0000 Subject: update --- diff --git a/64Gram.spec b/64Gram.spec index 52b41ea..0b82821 100755 --- a/64Gram.spec +++ b/64Gram.spec @@ -38,49 +38,25 @@ Summary: Unofficial Telegram Desktop client URL: https://github.com/%{user}/%{repname} Source0: https://github.com/%{user}/%{repname}/tarball/%{commit0}#/%{tar_name}.tar.gz -#Source1: https://github.com/%{user}/%{repname2}/tarball/%{commit1}#/%{tar_name2}.tar.gz -%{lua: -submodules=array -function path(str) - return str:match("(.*[/\\])") -end - -function name(obj) - return obj[1].."-"..obj[2].."-".. - string.sub(obj[4], 1, 7); -end - -function source(src) - obj = submodules[src] - return "Source"..src.. - ": https://github.com/"..obj[1].. - "/"..obj[2].."/tarball/"..obj[4].. - "#/"..name(obj)..".tar.gz" -end - -function unzip(src) - obj = submodules[src] - j1=name(obj); - j2=obj[3]; - dir=path(j2) - if dir then - dir = "mkdir -p "..dir.."; " - else - dir = "" - end - src=rpm.expand('%SOURCE'..src); - return dir.."tar -xzvf "..src.."}; mv -fvT "..j1.." "..j2 -end - -function apply(a) -for i = 1,#submodules do - print(a(i), "\n"); -end -end - -apply(source) -} +#download_extended_sources_start +Source1: https://github.com/desktop-app/lib_tl/tarball/36fb95c4de1339d2c8921ad6b2911858c3d0e0fa/#/desktop-app-lib_tl-36fb95c.tar.gz +Source2: https://github.com/TDesktop-x64/lib_ui/tarball/1632c17a2471c2b6f3b7b138eb815740157af082/#/TDesktop-x64-lib_ui-1632c17.tar.gz +Source3: https://github.com/TDesktop-x64/cmake_helpers/tarball/f3382c0a617021320902d325478e79fa7946cd02/#/TDesktop-x64-cmake_helpers-f3382c0.tar.gz +Source4: https://github.com/desktop-app/lib_webrtc/tarball/b68a95ad4d1ae9a1827671100a7fd76cbe448c3f/#/desktop-app-lib_webrtc-b68a95a.tar.gz +Source5: https://github.com/desktop-app/lib_rpl/tarball/8b1015d1bd57ef03fcd07a3eeddd3f5a9b688ade/#/desktop-app-lib_rpl-8b1015d.tar.gz +Source6: https://github.com/desktop-app/codegen/tarball/805b851d69444ab3659b619566d186d0be83dcd9/#/desktop-app-codegen-805b851.tar.gz +Source7: https://github.com/TDesktop-x64/lib_storage/tarball/a1142c802e28aa5137b8bf004192195770979da6/#/TDesktop-x64-lib_storage-a1142c8.tar.gz +Source8: https://github.com/desktop-app/lib_webview/tarball/3495eb8dd8f4e2dab9493b4a698e5006fadbca47/#/desktop-app-lib_webview-3495eb8.tar.gz +Source9: https://github.com/desktop-app/lib_qr/tarball/501f4c3502fd872ab4d777df8911bdac32de7c48/#/desktop-app-lib_qr-501f4c3.tar.gz +Source10: https://github.com/desktop-app/lib_spellcheck/tarball/c97b3fe73ddfbc80c9ecacfbf2cda824e5b05ff5/#/desktop-app-lib_spellcheck-c97b3fe.tar.gz +Source11: https://github.com/desktop-app/lib_lottie/tarball/1a700e5a0d7c3e2f617530354ff2a47c5c72bb4a/#/desktop-app-lib_lottie-1a700e5.tar.gz +Source12: https://github.com/desktop-app/lib_crl/tarball/078006d29af0002e6cd8c61a405cdeaf65b37142/#/desktop-app-lib_crl-078006d.tar.gz +Source13: https://github.com/TDesktop-x64/lib_base/tarball/d91160ebbecd1bc67adc68a3ba6a2c73a5869533/#/TDesktop-x64-lib_base-d91160e.tar.gz +#download_extended_sources_end + + +#Source1: https://github.com/%{user}/%{repname2}/tarball/%{commit1}#/%{tar_name2}.tar.gz #Patch0: 0001-disable-autoupdate.patch Patch0: 0001-Revert-Force-usage-of-GSL-fork-because-of-a-libstdc-.patch @@ -202,9 +178,9 @@ business messaging needs. # Unbundling libraries... rm -rfv cmake Telegram/ThirdParty/{GSL,QR,dispatch,expected,fcitx-qt5,fcitx5-qt,hime,hunspell,jemalloc,kimageformats,lz4,minizip,nimf,range-v3,xxHash} -%{lua: -apply(unzip) -} +#apply_extended_setup_start +mkdir -pv Telegram ; tar -xzvf %{SOURCE1} ; mv -fvT desktop-app-lib_tl-36fb95c Telegram/lib_tl ; mkdir -pv Telegram ; tar -xzvf %{SOURCE2} ; mv -fvT TDesktop-x64-lib_ui-1632c17 Telegram/lib_ui ; mkdir -pv #download_extended_sources_start ; tar -xzvf %{SOURCE3} ; mv -fvT TDesktop-x64-cmake_helpers-f3382c0 cmake ; mkdir -pv Telegram ; tar -xzvf %{SOURCE4} ; mv -fvT desktop-app-lib_webrtc-b68a95a Telegram/lib_webrtc ; mkdir -pv Telegram ; tar -xzvf %{SOURCE5} ; mv -fvT desktop-app-lib_rpl-8b1015d Telegram/lib_rpl ; mkdir -pv Telegram ; tar -xzvf %{SOURCE6} ; mv -fvT desktop-app-codegen-805b851 Telegram/codegen ; mkdir -pv Telegram ; tar -xzvf %{SOURCE7} ; mv -fvT TDesktop-x64-lib_storage-a1142c8 Telegram/lib_storage ; mkdir -pv Telegram ; tar -xzvf %{SOURCE8} ; mv -fvT desktop-app-lib_webview-3495eb8 Telegram/lib_webview ; mkdir -pv Telegram ; tar -xzvf %{SOURCE9} ; mv -fvT desktop-app-lib_qr-501f4c3 Telegram/lib_qr ; mkdir -pv Telegram ; tar -xzvf %{SOURCE10} ; mv -fvT desktop-app-lib_spellcheck-c97b3fe Telegram/lib_spellcheck ; mkdir -pv Telegram ; tar -xzvf %{SOURCE11} ; mv -fvT desktop-app-lib_lottie-1a700e5 Telegram/lib_lottie ; mkdir -pv Telegram ; tar -xzvf %{SOURCE12} ; mv -fvT desktop-app-lib_crl-078006d Telegram/lib_crl ; mkdir -pv Telegram ; tar -xzvf %{SOURCE13} ; mv -fvT TDesktop-x64-lib_base-d91160e Telegram/lib_base ; +#apply_extended_setup_end #mv -Tfv %{tar_name2} cmake diff --git a/main.pl b/main.pl index b175ef0..9314a74 100755 --- a/main.pl +++ b/main.pl @@ -2,6 +2,7 @@ #use WWW::Curl::Easy; use LWP::Simple; use LWP::Protocol::https; +use File::Basename; use File::Slurper qw(read_text write_text); use URI; use B; @@ -12,7 +13,7 @@ my $url='https://github.com/TDesktop-x64/tdesktop'; #$curl->setopt(CURLOPT_URL, "$url/raw/HEAD/.gitmodules"); #$curl->setopt(CURLOPT_FOLLOWLOCATION, 1); #$curl->setopt(CURLOPT_HEADER, 1); - +my $id = 0; #write_text( my $text=get("${url}/raw/HEAD/.gitmodules"); write_text("gitmodules.txt", $text); @@ -76,38 +77,63 @@ for (values %dct){ use Data::Dumper; use B; -sub dmap{ - my $a = shift; - if (ref($a) eq 'ARRAY'){ - return cmap(@$a) - } else { - return B::cstring($a); - } +#sub dmap{ +# my $a = shift; +# if (ref($a) eq 'ARRAY'){ +# return cmap(@$a) +# } else { +# return B::cstring($a); +# } +#} + +#sub cmap{ +# return "{@{[join(',', map{ dmap($_) } @_ )] }}"; +#} + +sub name{ + my ($name, $project, $commit) = @_; + $commit = substr($commit, 0, 7); + return "$name-$project-$commit"; } -sub cmap{ - return "{@{[join(',', map{ dmap($_) } @_ )] }}"; +sub source{ + my ($id, $owner, $project, $commit) = @_; + my $tar_name = name($owner, $project, $commit); + return "Source$id: https://github.com/$owner/$project/tarball/$commit/#/$tar_name.tar.gz"; } -my $cp1 = cmap(@values); +sub unzip{ + my ($id, $owner, $project, $commit, $path) = @_; + my $tar_name = name($owner, $project, $commit); + $path =~ /\/*(..*)[\/]/i; + my $dir = $1; + if (defined($dir)){ + $dir = "mkdir -pv $dir ;"; + } else { + $dir = ''; + } + return "$dir tar -xzvf \%{SOURCE$id} ; mv -fvT $tar_name $path ; "; +} + +#my $apply_extended_setup = ''; $text = read_text('64Gram.spec'); $text =~ s/Version:.*/Version: $ver/g ; -$text =~ s/submodules=.*/submodules=$cp1/g ; - -write_text('64Gram.spec', $text); - - - - - - - - +$id = 0; +my $ver = join("\n", map { source(++$id, $$_[0], $$_[1], $$_[3]) } @values ); +$text =~ s/(#download_extended_sources_start)(.*)(#download_extended_sources_end)/$1\n$ver\n$3/s ; +$id = 0; +my $ver = join(" ", map { unzip(++$id, $$_[0], $$_[1], $$_[3], $$_[2]) } @values ); +$text =~ s/(#apply_extended_setup_start)(.*)(#apply_extended_setup_end)/$1\n$ver\n$3/s ; +$id = 0; +#$text =~ s/submodules=.*/submodules=$cp1/g ; +write_text('64Gram.spec', $text); +#download_extended_sources +#apply_extended_setup