File: fix-IDE-data-file-location.patch

package info (click to toggle)
fpc 3.2.2%2Bdfsg-49
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 341,452 kB
  • sloc: pascal: 3,820,194; xml: 194,356; ansic: 9,637; asm: 8,482; java: 5,346; sh: 4,813; yacc: 3,956; makefile: 2,705; lex: 2,661; javascript: 2,454; sql: 929; php: 474; cpp: 145; perl: 136; sed: 132; csh: 34; tcl: 7
file content (97 lines) | stat: -rw-r--r-- 4,154 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Description: Align fp IDE template file paths with Debian standards
  The fp IDE looks for template files in /usr/bin where itself is installed.
  However this is not conform with Debian standard for file locations.
  This patch fixes this by making the IDE looking for templates in the base
  installation directory.
  Location of IDE template files in Debian distribution is:
  /usr/lib/$(DEB_TARGET_MULTIARCH)/fpc/3.2.2/ide/
  as for examples:
  /usr/lib/x86_64-linux-gnu/fpc/3.2.2/ide
  /usr/lib/arm-linux-gnueabihf/fpc/3.2.2/ide
Author: Abou Al Montacir <abou.almontacir@sfr.fr>
index 54d0ffd1..39ae6079 100644
--- a/fpcsrc/packages/ide/fpcompil.pas
+++ b/fpcsrc/packages/ide/fpcompil.pas
@@ -911,6 +911,8 @@ begin
 
   MainFile:=FileName;
   SetStatus('Writing switches to file...');
+  if SwitchesPath = '/etc/'+SwitchesName then
+       SwitchesPath := SwitchesName;
   WriteSwitches(SwitchesPath);
   { leaving open browsers leads to crashes !! (PM) }
   SetStatus('Preparing symbol info...');
Index: fpc/fpcsrc/packages/ide/fpmake.pp
===================================================================
--- fpc.orig/fpcsrc/packages/ide/fpmake.pp
+++ fpc/fpcsrc/packages/ide/fpmake.pp
@@ -282,16 +282,16 @@ begin
         T.Directory:='compiler';
         T.Install:=false;
 
-        P.InstallFiles.Add('fp.ans','$(bininstalldir)');
-        P.InstallFiles.Add('gplprog.pt','$(bininstalldir)');
-        P.InstallFiles.Add('gplunit.pt','$(bininstalldir)');
-        P.InstallFiles.Add('program.pt','$(bininstalldir)');
-        P.InstallFiles.Add('unit.pt','$(bininstalldir)');
-        P.InstallFiles.Add('cvsco.tdf','$(bininstalldir)');
-        P.InstallFiles.Add('cvsdiff.tdf','$(bininstalldir)');
-        P.InstallFiles.Add('cvsup.tdf','$(bininstalldir)');
-        P.InstallFiles.Add('grep.tdf','$(bininstalldir)');
-        P.InstallFiles.Add('tpgrep.tdf','$(bininstalldir)');
+        P.InstallFiles.Add('fp.ans','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('gplprog.pt','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('gplunit.pt','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('program.pt','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('unit.pt','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('cvsco.tdf','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('cvsdiff.tdf','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('cvsup.tdf','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('grep.tdf','$(baseinstalldir)/ide');
+        P.InstallFiles.Add('tpgrep.tdf','$(baseinstalldir)/ide');
         P.InstallFiles.Add('fp32.ico', [win32, win64], '$(bininstalldir)');
 
         with P.Sources do
index b493cafd..15806a7a 100644
--- a/fpcsrc/packages/ide/fpini.pas
+++ b/fpcsrc/packages/ide/fpini.pas
@@ -154,6 +154,17 @@ const
   ieShowReadme       = 'ShowReadme';
   ieEditKeys         = 'EditKeys';
 
+const
+{$ifdef CPUARMHF}
+  gnu = 'gnueabihf';
+{$endif CPUARMHF}
+{$ifdef CPUARMEL}
+  gnu = 'gnueabi';
+{$endif CPUARMEL}
+{$ifndef CPUARM}
+  gnu = 'gnu';
+{$endif CPUARM}
+  FullTarget = {$I %FPCTARGETCPU%} + '-' + {$I %FPCTARGETOS%} + '-' + gnu;
 
 Procedure InitDirs;
 begin
@@ -182,7 +193,7 @@ begin
   SystemIDEDir:=FExpand(DirOf(system.paramstr(0))+'../lib/fpc/'+version_string+'/ide/text');
   If Not ExistsDir(SystemIDEdir) Then
     begin
-    SystemIDEDir:=FExpand(DirOf(system.paramstr(0))+'../lib64/fpc/'+version_string+'/ide/text');
+    SystemIDEDir:=FExpand(DirOf(system.paramstr(0))+'../lib/'+LowerCase(FullTarget)+'/fpc/'+version_string+'/ide');
     If Not ExistsDir(SystemIDEdir) Then
       SystemIDEDir:='/usr/lib/fpc/'+version_string+'/ide/text';
     end;
diff --git a/fpcsrc/packages/ide/fpswitch.pas b/fpcsrc/packages/ide/fpswitch.pas
index e46266f0..196f2151 100644
--- a/fpcsrc/packages/ide/fpswitch.pas
+++ b/fpcsrc/packages/ide/fpswitch.pas
@@ -1392,6 +1392,8 @@ begin
      AddLongIntItem('Local ~h~eap size','h');
    end;}
   SwitchesPath:=LocateFile(SwitchesName);
+  if ExistsFile('/etc/'+SwitchesName) then
+    SwitchesPath:='/etc/'+SwitchesName;
   if SwitchesPath='' then
     SwitchesPath:=SwitchesName;
   SwitchesPath:=FExpand(SwitchesPath);